區塊鏈3.0 ada Cardano卡爾達諾如何獲得一致好評?


區塊鏈3.0 ada Cardano卡爾達諾如何獲得一致好評?

EOS 的直接競爭對手是以太坊。
文章介紹的卡爾達諾(Cardano)的目標就更加遠大了,他要同時鎖定比特幣和以太坊。但大家去網上搜索卡爾達諾相關資料時就會發現基本沒有吐槽點,一致的信任與好評。到底是什么樣的項目得到大家這么高的認可度呢? 這篇文章為大家揭開其神秘的面紗。

卡爾達諾對標比特幣與以太坊,從本質上來說,針對的是數字貨幣和智能合約,也就是現在圈子里說的很多的區塊鏈 1.0 及 2.0。未來的互聯網是價值互聯網,在其上流通的不是信息的拷貝,而是真實價值的轉移。比特幣的出現使我們能夠將資產數字化以及點對點轉讓,以太坊在比特幣的基礎上更近一步,能夠以合同的形式進行自動化資產轉移等操作,可以說我們已經在向價值網絡邁進了。但正如同計算機剛有了 UI,新奇但是簡陋。比特幣和以太坊在面臨大規模使用的時候,就開始歇菜擺爛了,規模化程度很低。而且基於 PoW 共識算法的平台也會經常因為升級、意見不同而產生分叉,破壞社區團結。

這些都是比特幣和以太坊面臨的主要問題,卡爾達諾(Cardano)就是為解決諸如區塊鏈規模化、可持續發展等問題而出現的區塊鏈 3.0 解決方案。卡爾達諾(Cardano)的研發流程非常嚴謹,它沒有如其他區塊鏈平台使用白皮書定義技術路線,而是由一群科學家們帶頭發起,先有論文之后再同行審閱,在數理邏輯層次上趨近完美,之后由 IOHK 的工程師們編寫代碼,而且為了避免程序 Bug 引起的程序崩潰或者區塊鏈分叉,軟件開發人員使用函數式編程語言 Haskell 構建平台,可見團隊對項目的用心程度。

卡爾達諾團隊

現階段,主要有三個組織支持卡爾達諾的發展,卡爾達諾基金會、Emurgo 以及 IOHK。基金會的主要工作是規范,保護和推廣卡爾達諾協議,也就是制定生態法規和標准以及社區建設等。Emurgo 公司的主要工作是孵化基於卡爾達諾生態的初創企業以及協助商業企業接入卡爾達諾生態圈。最后的 IOHK 是由前以太坊核心開發人員 Charles Hoskinson 成立的區塊鏈技術公司,主要負責卡爾達諾平台的搭建。

卡爾達諾技術

為了更精准的對標比特幣和以太坊,卡爾達諾將項目進行拆分,主要分成了結算層(數字貨幣)和計算層(智能合約)。卡爾達諾結算層(Cardano SL)是由 IOHK 聯合愛丁堡大學,雅典大學和康涅狄格大學共同設計開發的一種加密貨幣,代號 ADA。而卡爾達諾計算層(Cardano CL)還在研發中,因此這里我們着重介紹結算層的相關知識。

卡爾達諾結算層(ADA)

卡爾達諾結算層對飈的是比特幣,雖同屬於數字加密貨幣,但是二者之間有很多不同之處。最重要的區別就是 BTC 是基於工作量證明(PoW)的數字貨幣,而 ADA 使用權益證明(PoS)。BTC 采用的 PoW 共識以及競爭出塊機制使得能源消耗越來越多,礦工挖礦難度越來越大,這也是為什么最近大家熱衷於研究 BFT 類以及 PoS 類共識算法的原因。

ADA 采用的 PoS 共識算法被稱為烏洛波洛斯(Ouroboros),是目前為止唯一一個基於科學證明的安全的區塊鏈權益證明算法,它不需要浪費電力資源,而是隨機選取任意節點作為區塊生產者,被選中的概率跟該節點權益成正比。在 ADA 中,所謂權益是指節點持幣的相對價值,可簡單的認為是節點持幣價值 / 全網總價值。如果某個節點的權益>0,則被稱為是權益所有人,而如果被選作為區塊生產者,該節點也被稱為 SLOT 領導者,也就相當於比特幣的礦工。

 烏洛波洛斯(Ouroboros)協議

烏洛波洛斯協議將時間分片,稱為 epochs。每個 epoch 又划分為多個 slot,在一個 slot 時間段(20 秒)內,有且只有一個領導者,由他負責產生一個區塊。如果領導者在他的 slot 期間因為一些原因未能產生區塊,那么他就浪費了這次機會,除非再次被選做領導者。也就是說可以有一個或多個 slot 是空的(不產生區塊),但是在一個 epoch 期間,必須由大部分的 slot(50%+1)都有區塊產生,也就是需要大部分的節點都是誠實的。

那么 slot 領導者是怎么被選出來的呢?基本條件是權益所有人,但並不是所有的權益所有人都能被選舉,有准入門檻,比如節點權益占比全網權益的 2%。如果按 2% 的准入門檻,那么整個 ADA 網絡中,能夠成為候選人的節點不會超過 50 個。隨着權益分散,候選人會越來越少,權利會更加集中,而且權益所有人擁有的權益越多,它被選舉為 slot 領導者的可能性也就越大,所以也可以說 PoS 是富人的游戲,但是 ADA 中又有一個權益委派的功能,簡單的說可以將多個賬戶的權益集中起來使之成為候選人,每個賬戶可以按照比例獲得分紅。

在確立了候選人之后,如何選舉出在下一個 epoch 階段的 slot 領導者呢?選舉的根本是隨機性,在 ADA 中,采用多方計算(multiparty computation)方法來實現選舉的隨機性,每個候選人都獨立的產生自己的隨機結果,但經過多方協調后,他們最終得到相同的隨機種子。在對應的 epoch 開始后,所有的候選人節點根據“追隨中本聰(follow-the-satoshi)”算法,輸入隨機種子和 slot 的索引,就可以知道當前對應 slot 的領導者了。如果是節點自己,那么就將自己收到的交易打包成塊,跟比特幣類似;而如果當前 slot 的領導者不是自己,那就等待着區塊廣播,如果超過 slot 時間后還未收到區塊,則認為該區塊跳過。以上就是 ADA 的出塊流程,這里描述的很淺顯,感興趣的朋友可以閱讀參考列表中的資料,深入理解其精髓。

 賬戶模型

因為結算層對標的是比特幣,相對來說是比較單純的數字貨幣(所謂單純是指未附加智能合約之類的設計),所以很多設計沿用了比特幣的做法,比如賬戶模型就采用了 UTXO 模型。所謂 UTXO,就是指未花費的交易輸出,每一筆交易都應該有 N 個交易輸入,同時產生 M 個交易輸出(N 與 M 可以不等)。其中交易輸入是前序任意交易的未花費的交易輸出,如果當前交易成交,該前序交易的輸出也就變成了成交的交易輸出,也就失去了成為交易輸入的資格。因此在網絡中的每個 slot 領導者不僅僅接收交易,還會驗證交易輸入的合法性。為了驗證交易,每個節點都必須保持對未花費交易輸出的跟蹤,這樣就可以驗證當前交易中的輸入是否還未被花費,如果所有的交易輸入都是未花費的,那么該交易就被證明是合法的,會被當前領導者接收,打包成塊。UTXO 模型能夠追蹤數字貨幣的流向: 未花費的交易輸入告知貨幣是從哪里來的,未花費的交易輸出告知貨幣往哪里去。

 網絡架構

典型的區塊鏈中的節點間是對等的,隨着數據量的增多,才漸漸出現了全節點輕節點的區別。而 ADA 在網絡架構層次上就對節點分了層,現階段,主要有以下三組節點:

  • 核心節點,是整個網絡的重中之重,所有的權益都集中在核心節點,只有核心節點才可以是權益所有人。也可以說這么說,只有核心節點是區塊鏈節點,其余兩種節點只是輔助節點。而且為了加強核心節點的安全性,完全可以將核心節點與公網隔離,只通過中繼節點與外界通信;

  • 中繼節點,是公網與核心節點的通信代理,由於中繼節點是不隔離的,所以他可能被攻擊。但是中繼節點被設計成無狀態的,因此可以使用負載均衡分散流量。中繼節點即便被攻擊,對核心節點的影響幾乎為零;

  • 邊緣節點,可簡單的認為是與區塊鏈交互的客戶端,主要負責發起交易,而核心節點和中繼節點沒有權利創建交易。從名字就可以看出來,邊緣節點是沒有機會直接與核心節點交流的,必須通過中繼節點轉接。

 交易確認

在 ADA 中,領導者出塊因為有區塊擴散的過程,因此不是一個確定性的共識算法,在某個 slot 段內,其領導者因為網絡或故意為之,並不一其前置區塊作為其區塊的 parent,因此產生了分叉。官方給出了一個交易安全確認的等級表,攻擊者的比例越高,需要確認的區塊數越多;確認水平越高,相對應的需要的區塊數也越多。

卡爾達諾與 EOS

卡爾達諾與 EOS 都被認為是區塊鏈 3.0 的代表,經常被放在一起比較。而且不僅是媒體、信仰者,EOS 的核心開發者 BM 也公開發表文章數落卡爾達諾的不足,卡爾達諾官方就此也做了一個回應,這里就他們爭論的關鍵點做個總結:

DPoS

我們都知道,卡爾達諾和 EOS 都使用了 DPoS 作為其共識算法,但是 D 的含義卻是不同。在 EOS 中,D 指的是 Delegated,也就是委托;而卡爾達諾中的 D 指的是 Dynamic,意思是動態。EOS 通過投票委托見證人代表自己生產區塊,而卡爾達諾是通過動態隨機的選取權益候選人作為區塊的生產者。

出塊時間

BM 認為卡爾達諾 20 秒的出塊時間太長,根本不能滿足高性能的需要,而與之對應的 EOS 只需要 0.5 秒即可(白皮書中是 3 秒,之后有所變更,在節點出塊的 3 秒鍾時間內,連續出 6 塊,因此單個區塊是 0.5 秒)。而卡爾達諾團隊認為,出塊時間間隔應該與完成信息交換的時間基本一致,而且 20 秒是一個相對保守的估值。考慮到節點的真實地理位置,比這個時間更短的全球化區塊擴散在現有的網絡環境下是不太可能的。他們認為 EOS 所謂的高性能,要么是錯誤的,要么只是低去中心化的解決方案。

在我看來,EOS 的高性能現在還是未知數,可能是噱頭也可能是殺手鐧,而且卡爾達諾提出的網絡傳輸問題也是不能忽視的,EOS 確實在這方面有所誇大。另一方面,卡爾達諾說 EOS 是低去中心化,這點難以認同,因為按照卡爾達諾的設計,只有占全網 2% 權益以上的節點才可以作為 slot 領導者,正如上文所提到的,最多只有 50 個(但永遠不可能有 50 個)節點作為候選者,實際可能更少,而且節點權益越高,成為領導者的概率越高,節點間的權利是不對等的,而 EOS 在同一選舉周期里,只有 21 個區塊生產者,且權利對等。我認為是互有利弊,孰優孰劣只有等實際運行后才能比較。

激勵機制

ADA 的激勵機制跟現有的大多數公有鏈類似,“礦工”收取交易手續費。與比特幣不同,交易手續費是 ADA 礦工的唯一收入來源。而且交易手續費不僅是給礦工的激勵,也是一種防止 DDoS 攻擊的手段,當攻擊者試圖用大量偽造交易沖擊網絡時,必須付出足夠多的手續費。而 EOS 的激勵機制則完全不同,EOS 每年增發 5% 作為“礦工”的獎勵,因為“礦工”的權利是一致的,所以獎勵應該是與其被選中的次數正相關。

二者都明確一件事,那就是“礦工”是需要被激勵的,只是手段不一樣,ADA 雁過拔毛,EOS 無中生有。如果以人民幣作為參考系,假設 ADA 和 EOS 的都是升值的,那么使用 ADA 的成本肯定會逐漸增加,且幣減少;而 EOS 如果整個生態價值的增長每年超過 5%,扣除增發,用戶手中的幣不變,價值卻依然增長了,當然一切的前提是生態發展。

另一方面,ADA 聲稱手續費可以防止 DDoS 攻擊,不可否認這是一種方法,但我認為 EOS 的按持幣比例分享網絡資源是一種更好的選擇,它讓資源的競爭變成了一種市場行為而不是強制的規則。如果 DAPP 開發者想要獲得更多的資源,那么他必須從二級市場囤積更多的 EOS,因此勢必會抬高幣價,但是囤積的 EOS 並不會被大量消耗,因為交易都是免費的。當 DAPP 開發者放棄當前業務時,可以將囤積的 EOS 再次流入二級市場,這是一個良好的生態循環。

尾聲

BM 在他的文章中這么說:“卡爾達諾是一個重達 400 磅的防彈背心,即便能防彈,又有什么用呢?”,言外之意就是說即便卡爾達諾的設計是無懈可擊的,但是在實踐面前,太臃腫的設計不見得是好用的。卡爾達諾是一次典型的由學術派發起的技術革命,項目都是先有論文,再“雙盲(匿名提交、匿名評審)”評審,最后才有技術實現,與 EOS 的實踐派形成鮮明對比。未來到底如何,我也不敢妄自定論,但可以確信的是,這兩個項目一定會推進區塊鏈技術的落地。

參考列表:

《Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol》 2017

《Cardano Settlement Layer Documentation》 2017

《Cardano(ADA)的共識算法 Ouroboros》2018

《區塊鏈中的隨機數》2018

《用密碼學玩暗軍棋 -- 閑聊多方計算》 2017

《Peer Review of Cardano's Ouroboros》 2018

《On the Ouroboros Design: How rigour and engineering are essential for critical infrastructure》2018

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM