即使從比特幣等“最簡單”的協議來看,區塊鏈也將是一個令人睏惑的領域。所以當我們轉曏更新的協議時,事情就會變得更加覆雜。例如以太坊,甚至是更新的産品,它們吸收了第一代和第二代網絡所教給我們的知識,併希望在此基礎上創建新想法和概念作爲基礎。
Tendermint 就是這樣一個項目,它希望徹底改變我們開髮和使用區塊鏈技術的方式。
Tendermint 是一種新協議,可幫助在對抗條件下對分布式網絡中的事件進行排序。更通用拜占庭容錯 (BFT)共識算法或原子廣播問題,近年來引起了廣泛的關註,這是由於比特幣和以太坊等基於區塊鏈的數字貨幣取得廣泛成功後造成的。
這兩種貨幣成功地解決了這樣一個問題:在沒有中央機構的情況下,在公共環境中管理此類網絡,創建了我們現在所説的去中心化公共區塊鏈。Tendermint 將該主題的經典學術工作現代化,併通過依賴節點之間的點對點八卦協議簡化了 BFT 算法的設計。
通過本文,你將學到👉
Tendermint 存在於由Cosmos的堆棧中,Cosmos是一個充當調解者併自稱爲“區塊鏈互聯網”的區塊鏈平颱;幾天前,該平颱推出了區塊鏈,真正推出了 Cosmos/Tendermint 生態繫統。整個生態繫統的運作方式與以太坊類似,但它Tendermint更加模塊化、靈活更夠且更易於開髮。
Cosmos SDK充當生態繫統的應用層(類似於以太坊的 EVM),衕時Tendermint 既代錶共識層 (BFT 容錯權益證明共識算法)由作爲網絡層(Tendermint Core)。
在 Tendermint Core 堆棧下結合的共識算法 + p2p 網絡協議通過生態繫統的另一個單獨元素應用程序區塊鏈接口(ABCI)連接到 Cosmos SDK。
Cosmos SDK是ABCI的基本實現,代錶生態繫統的模塊化部分;它是一個薄應用層,開髮人員可以使用它併通過自定義功能進行增強。這使得現有的區塊鏈可以構建基於 Tendermint 的應用程序,這些應用程序可以連接到生態繫統併在彼此之間交換消息和價值。
這就是 Tendermint 和 Cosmos 穫得“區塊鏈互聯網”名稱的原因;整個繫統希望成爲一個樞紐,支持在不衕區塊鏈之間實現互操作性 。
該項目背後的一家營利性公司(也稱爲 Tendermint)位於加州,它將上述三個主要元素分開,然後將網絡/共識層連接到 Tendermint 堆棧下。
這樣做是爲了使技術的組件更易於使用和修覆,而當您想要更改某些內容時,無需爲整個生態繫統進行開髮。主要開髮人員 Jae Kwon 和 Ethan Buchman 想要創建一些易於理解、實施和開髮的東西,Tendermint 就是他們努力的最終結果。
⚡️ 在 Tendermint 之前,構建區塊鏈需要從頭開始構建所有三個層(網絡、共識、應用層)。以太坊通過提供虛擬機區塊鏈簡化了這一過程,任何人都可以在該虛擬機區塊鏈上以智能合約的形式部署自定義邏輯。但仍然存在一個問題:區塊鏈本身的髮展問題。 Tendermint 大大簡化了流程,因爲開髮人員隻需要考慮應用層。
網絡和共識層已經、通過 Tendermint Core 引擎提供;您所需要做的就是通過選擇的編程語言調整 ABCI,開髮您獨特的應用程序併開始使用 Tendermint 的功能。
Tendermint 團隊通過採用以太坊的代碼庫、剝離 PoW 併將最終結果插入到他們的 Tendermint Core 之上來做實現了一點。Ethermint因此得闖將,它類似以太坊的協議,具有權益證明功能。所有現有的以太坊工具(Truffle、Metamask等 ) 都與 Ethermint 兼容,您能將智能合約移植到這裡,而無需任何額外的工作。
整個方程式中我們仍然沒有提及但對於區塊鏈互操作性非常重要的一個重要元素是跨鏈通信協議 (IBC)。 IBC 允許異構鏈在彼此之間轉移價值和數據,最終在具有不衕應用程序和驗證者集的區塊鏈之間實現互操作性。
爲了避免未來數百或數千個區塊鏈可能出現的可擴展性問題,Cosmos 提出了一種包含兩類區塊鏈的模塊化架構:樞紐和區域。
區域是常規的異構區塊鏈,而樞紐是專門設計用於將區域連接在一起的區塊鏈。當區域與樞紐創建 IBC 連接時,它可以自動訪問與其連接的每個其他區域(即髮送和接收)。因此,每個區域隻需要與一組有限的樞紐建立有限數量的連接。
樞紐還可以防止區域之間的雙花。這意味著當區域從樞紐接收到代幣時,它隻需要信任該代幣的原始區域和樞紐即可。第一個樞紐(Cosmos Hub)已在幾天前推出。有些鏈不會完全兼容 Tendermint;開髮商設想了所謂的掛鉤區域來處理這一問題。
Tendermint 的密碼學本身併不那麽高級,ECDSA 簽名是生態繫統中最“奇特”的技術。在最近髮布後開展的直播中提到了 BLS 簽名聚合、零知識證明和 Ristretto 賬戶,但這些似乎都還沒有出現。
該技術可用於創建公共鏈和私有鏈,前者通過 PoS 運行,後者通過許可節點運行;兩個繫統都將是具有 BFT 能力的。Tendermint Core 上的區塊可以有一秒的出塊時間,併且立即被視爲是終局性;否則,可以安全地假設網絡正在遭受 33%的攻擊(指超過三分之一的驗證者是惡意的攻擊)。
區塊鏈需要具有拜占庭容錯能力,即能夠容忍曏網絡傳達虛假狀態和消息併危及共識的潛在惡意節點。關於拜占庭容錯繫統的科普知識很少,因爲這個話題在學術界併不那麽普遍。
很少有研究集中在最多 7 個節點的小樣本規模網絡上;Tendermint 開髮人員想要能夠在更高級別上可擴展的東西。即使比特幣引入了能夠支持數千個獨立節點的繫統,該繫統也具有(併且仍然具有)單個管理域,這極大地限製了其可擴展性。
Kwon 和他的合作伙伴設想了一種 BFT 協議,該協議可以在非許可的環境中擴展到數百個節點,併以權益證明 (PoS) 作爲底層安全機製。他們提出了基於 BFT 的繫統,該繫統具有我們已命名的兩個關鍵元素:用於達成共識和“八卦”的 Tendermint Core 和用作應用層的 Cosmos SDK。
他們的 BFT 權益證明算法通過使用部分衕步網絡模型剋服了拜占庭將軍問題,這意味著對區塊進行投票的驗證者不需要衕時採取行動。該繫統中的區塊不是按時間錶投票的,也沒有確定的大小。
⚡️ 在被認爲是“完全衕步”的比特幣中,我們有一個設定的10分鐘時間範圍,節點必鬚在該時間範圍內查找、收集、驗證交易併將其添加到區塊中。對於以太坊,這個時間範圍僅爲15秒。在衕步被打破之前,這一切都很好。一些節點可能會離線併遭受延遲問題,在這種情況下,鏈可能會停止運行或分叉。
Tendermint 的目標是實現一種更加中心化的模型,該模型因其節點以異步方式運行而拒絶這些時間限製。
該協議更加異步:不是每輪都需要預定的時間,而是每輪的每一步都是在超過 2/3 的節點達成共識後才進行的。這種衕步性的缺乏是部分的,該項目將其稱爲“弱異步”。驗證者是衆所周知的,可以相互溝通以協調他們的努力併確保始終達成網絡共識。所有這些都意味著他們的網絡實際上永遠不會分叉。
Tendermint 定期重新分配驗證者提出區塊的權利,以稍微緩解此過程中心化的潛在問題。提議區塊後,驗證者在多輪確定性過程中進行投票。
爲了擴展這一點,我們需要認識到,在協議的世界中,我們有非確定性和確定性協議。非確定性協議是我們在完全異步繫統中看到的協議。純異步情況的共識可能取決於隨機預言,併且通常會産生較高的消息覆雜性開銷,因爲它們離不開所有通信的可靠廣播。
Tendermint 通過走確定性路線來避免這種高額開銷;實際上沒有什麽是隨機的,而是通過定義的數學函數完成的,該函數使我們能夠預測協議保證做出決策。
在 Tendermint 中,驗證者在確定性加權循環格式的幫助下進行輪換。驗證者擁有的權益越多,他們被選爲領導者的次數就越多。目前,該協議的驗證者上限爲一百個,但是,如果需要,團隊可能會考慮添加更多驗證者。這保證了繫統在異步環境中的安全性以及在弱衕步環境中的活躍性。總體而言,共識機製犧牲了一定程度的活躍性來換取共識安全性和即時終局性。
Tendermint 是一個值得關註的概念,它可能在紙麵上看起來和聽起來比現實中更覆雜。總體來看,它就是具有互操作性的EOS,併與以太坊及其大量剋隆項目有很多相似之處。Tendermint 的主要目標是解決區塊鏈互操作性問題,但它在該市場中遭到了強烈反對。Ark、ICON、Polkadot、AION等類似的項目都有著相衕的目標,所以誰會脫穎而出?這還有待觀察。
即使從比特幣等“最簡單”的協議來看,區塊鏈也將是一個令人睏惑的領域。所以當我們轉曏更新的協議時,事情就會變得更加覆雜。例如以太坊,甚至是更新的産品,它們吸收了第一代和第二代網絡所教給我們的知識,併希望在此基礎上創建新想法和概念作爲基礎。
Tendermint 就是這樣一個項目,它希望徹底改變我們開髮和使用區塊鏈技術的方式。
Tendermint 是一種新協議,可幫助在對抗條件下對分布式網絡中的事件進行排序。更通用拜占庭容錯 (BFT)共識算法或原子廣播問題,近年來引起了廣泛的關註,這是由於比特幣和以太坊等基於區塊鏈的數字貨幣取得廣泛成功後造成的。
這兩種貨幣成功地解決了這樣一個問題:在沒有中央機構的情況下,在公共環境中管理此類網絡,創建了我們現在所説的去中心化公共區塊鏈。Tendermint 將該主題的經典學術工作現代化,併通過依賴節點之間的點對點八卦協議簡化了 BFT 算法的設計。
通過本文,你將學到👉
Tendermint 存在於由Cosmos的堆棧中,Cosmos是一個充當調解者併自稱爲“區塊鏈互聯網”的區塊鏈平颱;幾天前,該平颱推出了區塊鏈,真正推出了 Cosmos/Tendermint 生態繫統。整個生態繫統的運作方式與以太坊類似,但它Tendermint更加模塊化、靈活更夠且更易於開髮。
Cosmos SDK充當生態繫統的應用層(類似於以太坊的 EVM),衕時Tendermint 既代錶共識層 (BFT 容錯權益證明共識算法)由作爲網絡層(Tendermint Core)。
在 Tendermint Core 堆棧下結合的共識算法 + p2p 網絡協議通過生態繫統的另一個單獨元素應用程序區塊鏈接口(ABCI)連接到 Cosmos SDK。
Cosmos SDK是ABCI的基本實現,代錶生態繫統的模塊化部分;它是一個薄應用層,開髮人員可以使用它併通過自定義功能進行增強。這使得現有的區塊鏈可以構建基於 Tendermint 的應用程序,這些應用程序可以連接到生態繫統併在彼此之間交換消息和價值。
這就是 Tendermint 和 Cosmos 穫得“區塊鏈互聯網”名稱的原因;整個繫統希望成爲一個樞紐,支持在不衕區塊鏈之間實現互操作性 。
該項目背後的一家營利性公司(也稱爲 Tendermint)位於加州,它將上述三個主要元素分開,然後將網絡/共識層連接到 Tendermint 堆棧下。
這樣做是爲了使技術的組件更易於使用和修覆,而當您想要更改某些內容時,無需爲整個生態繫統進行開髮。主要開髮人員 Jae Kwon 和 Ethan Buchman 想要創建一些易於理解、實施和開髮的東西,Tendermint 就是他們努力的最終結果。
⚡️ 在 Tendermint 之前,構建區塊鏈需要從頭開始構建所有三個層(網絡、共識、應用層)。以太坊通過提供虛擬機區塊鏈簡化了這一過程,任何人都可以在該虛擬機區塊鏈上以智能合約的形式部署自定義邏輯。但仍然存在一個問題:區塊鏈本身的髮展問題。 Tendermint 大大簡化了流程,因爲開髮人員隻需要考慮應用層。
網絡和共識層已經、通過 Tendermint Core 引擎提供;您所需要做的就是通過選擇的編程語言調整 ABCI,開髮您獨特的應用程序併開始使用 Tendermint 的功能。
Tendermint 團隊通過採用以太坊的代碼庫、剝離 PoW 併將最終結果插入到他們的 Tendermint Core 之上來做實現了一點。Ethermint因此得闖將,它類似以太坊的協議,具有權益證明功能。所有現有的以太坊工具(Truffle、Metamask等 ) 都與 Ethermint 兼容,您能將智能合約移植到這裡,而無需任何額外的工作。
整個方程式中我們仍然沒有提及但對於區塊鏈互操作性非常重要的一個重要元素是跨鏈通信協議 (IBC)。 IBC 允許異構鏈在彼此之間轉移價值和數據,最終在具有不衕應用程序和驗證者集的區塊鏈之間實現互操作性。
爲了避免未來數百或數千個區塊鏈可能出現的可擴展性問題,Cosmos 提出了一種包含兩類區塊鏈的模塊化架構:樞紐和區域。
區域是常規的異構區塊鏈,而樞紐是專門設計用於將區域連接在一起的區塊鏈。當區域與樞紐創建 IBC 連接時,它可以自動訪問與其連接的每個其他區域(即髮送和接收)。因此,每個區域隻需要與一組有限的樞紐建立有限數量的連接。
樞紐還可以防止區域之間的雙花。這意味著當區域從樞紐接收到代幣時,它隻需要信任該代幣的原始區域和樞紐即可。第一個樞紐(Cosmos Hub)已在幾天前推出。有些鏈不會完全兼容 Tendermint;開髮商設想了所謂的掛鉤區域來處理這一問題。
Tendermint 的密碼學本身併不那麽高級,ECDSA 簽名是生態繫統中最“奇特”的技術。在最近髮布後開展的直播中提到了 BLS 簽名聚合、零知識證明和 Ristretto 賬戶,但這些似乎都還沒有出現。
該技術可用於創建公共鏈和私有鏈,前者通過 PoS 運行,後者通過許可節點運行;兩個繫統都將是具有 BFT 能力的。Tendermint Core 上的區塊可以有一秒的出塊時間,併且立即被視爲是終局性;否則,可以安全地假設網絡正在遭受 33%的攻擊(指超過三分之一的驗證者是惡意的攻擊)。
區塊鏈需要具有拜占庭容錯能力,即能夠容忍曏網絡傳達虛假狀態和消息併危及共識的潛在惡意節點。關於拜占庭容錯繫統的科普知識很少,因爲這個話題在學術界併不那麽普遍。
很少有研究集中在最多 7 個節點的小樣本規模網絡上;Tendermint 開髮人員想要能夠在更高級別上可擴展的東西。即使比特幣引入了能夠支持數千個獨立節點的繫統,該繫統也具有(併且仍然具有)單個管理域,這極大地限製了其可擴展性。
Kwon 和他的合作伙伴設想了一種 BFT 協議,該協議可以在非許可的環境中擴展到數百個節點,併以權益證明 (PoS) 作爲底層安全機製。他們提出了基於 BFT 的繫統,該繫統具有我們已命名的兩個關鍵元素:用於達成共識和“八卦”的 Tendermint Core 和用作應用層的 Cosmos SDK。
他們的 BFT 權益證明算法通過使用部分衕步網絡模型剋服了拜占庭將軍問題,這意味著對區塊進行投票的驗證者不需要衕時採取行動。該繫統中的區塊不是按時間錶投票的,也沒有確定的大小。
⚡️ 在被認爲是“完全衕步”的比特幣中,我們有一個設定的10分鐘時間範圍,節點必鬚在該時間範圍內查找、收集、驗證交易併將其添加到區塊中。對於以太坊,這個時間範圍僅爲15秒。在衕步被打破之前,這一切都很好。一些節點可能會離線併遭受延遲問題,在這種情況下,鏈可能會停止運行或分叉。
Tendermint 的目標是實現一種更加中心化的模型,該模型因其節點以異步方式運行而拒絶這些時間限製。
該協議更加異步:不是每輪都需要預定的時間,而是每輪的每一步都是在超過 2/3 的節點達成共識後才進行的。這種衕步性的缺乏是部分的,該項目將其稱爲“弱異步”。驗證者是衆所周知的,可以相互溝通以協調他們的努力併確保始終達成網絡共識。所有這些都意味著他們的網絡實際上永遠不會分叉。
Tendermint 定期重新分配驗證者提出區塊的權利,以稍微緩解此過程中心化的潛在問題。提議區塊後,驗證者在多輪確定性過程中進行投票。
爲了擴展這一點,我們需要認識到,在協議的世界中,我們有非確定性和確定性協議。非確定性協議是我們在完全異步繫統中看到的協議。純異步情況的共識可能取決於隨機預言,併且通常會産生較高的消息覆雜性開銷,因爲它們離不開所有通信的可靠廣播。
Tendermint 通過走確定性路線來避免這種高額開銷;實際上沒有什麽是隨機的,而是通過定義的數學函數完成的,該函數使我們能夠預測協議保證做出決策。
在 Tendermint 中,驗證者在確定性加權循環格式的幫助下進行輪換。驗證者擁有的權益越多,他們被選爲領導者的次數就越多。目前,該協議的驗證者上限爲一百個,但是,如果需要,團隊可能會考慮添加更多驗證者。這保證了繫統在異步環境中的安全性以及在弱衕步環境中的活躍性。總體而言,共識機製犧牲了一定程度的活躍性來換取共識安全性和即時終局性。
Tendermint 是一個值得關註的概念,它可能在紙麵上看起來和聽起來比現實中更覆雜。總體來看,它就是具有互操作性的EOS,併與以太坊及其大量剋隆項目有很多相似之處。Tendermint 的主要目標是解決區塊鏈互操作性問題,但它在該市場中遭到了強烈反對。Ark、ICON、Polkadot、AION等類似的項目都有著相衕的目標,所以誰會脫穎而出?這還有待觀察。