買以太坊 買以太坊
Ctrl+D 買以太坊
ads

MIN:走進Cosmos之Tendermint_TendaCoin

Author:

Time:1900/1/1 0:00:00

導讀

Cosmos是由Tendermint團隊構建的開源社區項目,它的共識算法是基于POS和BFT的共識協議。

Cosmos通過SDK的形式將共識算法和網絡模塊封裝起來,形成一套開箱即用的區塊鏈開發腳手架,本期將為大家帶來Cosmos系列文章中Tendermint共識算法的介紹。

Tendermint核心模塊

首先我們回顧下,Cosmos中的TendermintCore核心模塊主要包含共識算法和網絡模塊,由于網絡模塊采用的是我們熟悉的gossip協議,這里就不再贅述。我們編寫的應用層的模塊通過ABCI與Tendermint核心模塊進行交互,在交互的過程中,由Tendermint完成選舉Proposer,BFT三階段共識以及區塊執行的邏輯。

1)ABCIApplication

其中ABCI接口可以分為三類:信息查詢、交易校驗以及共識相關處理,而TendermintCore作為ABCIClient在啟動時會與ABCIServer建立三個連接,分別用于這三類接口消息的處理。

美CFTC可能會改變風險管理規則將加密貨幣納入考慮:金色財經報道,美國商品期貨交易委員會(CFTC)就掉期交易商和期貨事務委員會商戶的風險管理計劃潛在修訂要求征詢公眾意見,CFTC提議全面改革其風險管理規則。委員克里Christy Goldsmith Romero表示,這些變化應促使公司為加密貨幣波動和持有客戶數字資產的風險做好準備。有必要重新審視我們的監管監督,包括我們的風險管理要求,數字資產與銀行和經紀人的整合,以及可能帶來的風險,可能會繼續演變。Romero還指出,經紀人可能會探索以穩定幣或其他數字資產的形式持有客戶財產,這可能會導致未知和獨特的風險。

據悉,CFTC將在60天內就其擬議規則制定預先通知征求公眾意見,之后必須制定正式的擬議規則,然后對最終版本進行投票。[2023/6/2 11:53:28]

在TendermintCore與Application交互的所有消息類型中,有3種主要的消息類型:

·CheckTx消息用于驗證交易。TendermintCore中的mempool通過此消息校驗交易的合法性,通過之后才會將交易廣播給其它節點。

·DeliverTx消息是應用的主要工作流程,通過此消息真正執行交易,包括驗證交易、更新應用程序的狀態。

LooksRare:Beta移動應用已在iOS(TestFlight) 和安卓平臺上線:5月12日消息,NFT市場LooksRare在社交媒體宣布Beta移動APP已上線,目前iOS(TestFlight) 和安卓用戶可以下載,并通過其應用了解NFT投資組合分析、查看熱門收藏、并且追蹤LOOKS代幣獎勵信息。

不過,LooksRare表示這款移動應用目前仍在存在一些bug,提醒用戶如發現問題可以在其官方Discord中的“移動應用”頻道中向LooksRare進行反饋。[2023/5/12 14:58:40]

·Commit消息通知應用程序計算當前的世界狀態,并存在下一區塊頭中。

?Tendermint共識引擎,包含區塊鏈需要大部分功能實現,主要有:

·?共識算法:BFT+POS算法;

·P2P:采用Gossip算法;

·RPC:區塊鏈對外提供的API接口;

·?其它:交易緩存池、消息隊列等。

2)POS權益證明協議

接下來介紹Tendermint的POS算法,通過該POS算法可以在驗證人集合中選取出下一輪出塊的提議人。

Ava Labs CEO呼吁加密監管機構能夠閱讀和審計代碼:金色財經報道,Ava Labs 首席執行官 Emin Gün Sirer 在康奈爾區塊鏈會議表示,區塊鏈和加密貨幣領域在其監管機構能夠閱讀和審計代碼的那一天之前不能認為自己成熟。為了讓下一個十億用戶使用加密貨幣,需要改進幾個方面,例如可擴展性、易用性和適應性。然而,當被問及稱為零知識證明 (ZKP) 的秘密共享技術能否達到該規模時,他持懷疑態度。[2023/4/22 14:19:31]

上圖中,假設有A、B、C三個驗證人,分別抵押了1、2、3個代幣

1.第一輪由于C的抵押資產最多,所以C當選第一輪的提議人;

2.第二輪由于C在上一輪當選過提議人,所以他的vote_power變為pre_votingPower-(stake_a+stake_b)?也就是3-(1+2)==0,而B的vote_power等于pre_votingPower+stake也就是2+2==4,同理A的vote_power等于2,那么這一輪中投票權最大的是B,所以B當選提議人;

3Commas承認:黑客竊取了API密鑰:金色財經報道,一位匿名的推特用戶近日公布了一組據稱從 3Commas 加密貨幣交易平臺獲得的 10000 個 API 密鑰。3Commas 機器人程序使用這些 API 密鑰,通過與諸多加密貨幣交易所進行交互為客戶創造利潤,不需要帳戶憑據,即可代表用戶執行自動化的投資和交易操作。

這名推特用戶聲稱,泄露的 API 密鑰只是他們持有的 10 萬個 API 密鑰當中的 10%,并表示他們計劃在接下來的幾天悉數公布。3Commas 調查了泄露的數據,近日確認文件包含有效的 API 密鑰。因此,該平臺現在敦促所有支持的交易所吊銷所有與 3Commas 關聯的密鑰,包括庫幣(Kucoin)、Coinbase 和幣安(Binance)。[2023/1/6 10:24:06]

3.第三輪A的vote_power為3,B的vote_power為2-(2+0)==0,C的vote_power為?0+3==3,由于A排名在C的前面,所以A當選提議人;

4.同理第四輪A的vote_power為-1,B的為2,C的為6,所以C當選提議人;

Tendermint的Pos機制有如下優點和缺點:

優點:Proposer的選擇方式是與stake相關的,所以應用層可以實現自己的共識,在應用層將計算好Validator的權重傳遞給Tendermint,Tendermint就會按照應用層需要的方式選擇Proposer。

知情人士:翠貝卡電影節簽約OKX作為新的頂級贊助商:6月1日消息,據知情人士消息,翠貝卡電影節(Tribeca Festival)簽約加密交易所OKX作為其新的頂級贊助商,由創意藝人經紀公司(Creative ArtistsAgency)談判達成為期三年的獨家演出合作伙伴協議,價值數千萬美元。此外除了6月8日至6月19日在曼哈頓舉行的音樂節本身之外,OKX還將為美國和國外的Tribeca節目提供全年支持。(華爾街日報)[2022/6/1 3:56:34]

缺點:Round-Robin策略太簡單了,容易被壞人預測到下一個Proposer是誰,于是可以提前布局對rProposer發起DDoS攻擊或別的攻擊。這里Tendermint的解決方法就是驗證人節點對外不暴露節點的IP地址。

3)BFT拜占庭容錯協議

Tendermint是一個易于理解的BFT共識協議,協議遵循一個簡單的狀態機原理:

協議中有兩個角色:

驗證人:協議中的角色或者節點,不同的驗證者在投票過程中具備不同的權力。

提議人:由驗證人產生。?驗證人對交易的區塊提議并對提議的區塊投票。區塊被提交到鏈上,且每個區塊就是一個區塊高度。但區塊也有可能提交失敗,這種情況下協議將選擇下一個驗證人在相同高度上提議一個新塊,重新開始投票。

從圖中可以看到,在propose開始階段,被選中的proposer會給全網絡廣播一個proposal。如果proposer鎖定在上一輪中的block上,那么proposer在本輪中發起的proposal會是鎖定的block,并且在proposal中加上proof-of-lock字段。

在Prevote開始階段,每個Validator會判斷自己是否鎖定在上一輪的proposal區塊上,如果鎖定在之前的proposal區塊中,那么在本輪中繼續為之前鎖定的proposal區塊簽名并廣播prevote投票。否則為當前輪中接收到的proposal區塊簽名并廣播prevote投票。如果由于某些原因當前Validator并沒有收到任何proposal區塊,那么簽名并廣播一個空的prevote投票。

在Precommit開始階段,每個Validator會判斷,如果收集到了超過2/3prevote投票,那么為這個區塊簽名并廣播precommit投票,并且當前Validator會鎖定在這個區塊上,同時釋放之前鎖定的區塊,一個Validator一次只能鎖定在一個區塊上。

如果一個Validator收集到超過2/3空區塊(nil)的prevote投票,那么釋放之前鎖定的區塊。處于鎖定狀態的Validator會為鎖定的區塊收集prevote投票,并把這些投票打成包放入proof-of-lock中,proof-of-lock會在之后的propose階段用到。如果一個Validator沒有收集到超過2/3的prevote投票,那么它不會鎖定在任何區塊上。

在precommit階段后期,如果Validator收集到超過2/3的precommit投票,那么Validator進入到commit階段。否則進入下一輪的propose階段。

commit階段分為兩個并行的步驟:

·Validator收到了被全網commit的區塊,Validator會為這個區塊廣播一個commit投票。

·Validator需要為被全網絡precommit的區塊,收集到超過2/3commit投票。

一旦兩個條件全部滿足了,節點會將commitTime設置到當前時間上,并且會進入NewHeight階段。在整個共識過程的任何階段,一旦節點收到超過2/3commit投票,那么它會立刻進入到commit階段。

上訴過程簡單來說,為了成功提交一個區塊,必須經過兩階段的投票,稱為pre-vote和pre-commit。當超過2/3的驗證人在同一輪提議中對同一個塊進行了pre-commit投票,那么這個區塊才會被提交。

由于離線或者網絡延遲等原因,可能造成提議人提議區塊失敗。這種情況在Tendermint中也是允許的,因為驗證人會在進入下一輪提議之前等待一定時間,用于接收提議人提議的區塊。

假設少于三分之一的驗證人是拜占庭節點,Tendermint能夠保證驗證人永遠不會在同一高度重復提交區塊而造成沖突。為了做到這一點,Tendermint引入了鎖定機制,一旦驗證人預投票了一個區塊,那么該驗證人就會被鎖定在這個區塊。然后該驗證人必須在預提交的區塊進行預投票。當前一輪預提議和預投票沒成功提交區塊時,該驗證人就會被解鎖,然后進行對新塊的下一輪預提交。

4)BFT?VSPBFT

通過上文我們可以看到,Tendermint共識算法和PBFT時非常相似的,可以說是PBFT的變種,那我們來比較一下:

相同點:

·?同屬BFT體系,抗1/3拜占庭節點攻擊。

·?三階段提交,第一階段廣播交易,后兩階段廣播簽名。

·?兩者都需要達到Quorum法定人數才能提交塊。

不同點:

·Tendermint與PBFT的區別主要是在超過1/3節點為拜占庭節點的情況下,當拜占庭節點數量在驗證者數量的1/3和2/3之間時,PBFT算法無法提供保證,使得攻擊者可以將任意結果返回給客戶端。而Tendermint共識模型認為必須超過2/3數量的precommit確認才能提交塊。

·?拜占庭節點概念不同,PBFT指的是節點數,而Tendermint代表的是節點的投票權力。

·PBFT需要預設一組固定的驗證人,而Tendermint是通過要求超過Quorum法定人數的驗證人員批準會員變更,從而支持驗證人的動態變化。

總結

總體來說,Cosmos中Tendermint核心模塊中POS和BFT共識算法的實現較為簡單,不像Polkadot的混合共識那么復雜,但是也是這個原因,可以成為區塊鏈快速開發的腳手架,幫助越來越多的人了解區塊鏈,熱愛上區塊鏈。

作者簡介

江哲

來自數據網格實驗室BitXHub團隊主要負責區塊鏈賬本互操作技術相關研究工作

Tags:MINPOSTENTENDMINIBABYDOGESafePostKittenFinanceTendaCoin

火必下載
UND:別以訛傳訛,比特幣網絡沒有被雙花,那只是一次「費用替代」交易_UNDB價格

來源:LucasNuzzi,CoinMetrics網絡數據產品經理編譯:PerryWang1、關于昨天比特幣網絡到底發生了什么,以及是否有資金被「雙花」,市面上流傳著太多令人震驚的錯誤信息造成.

1900/1/1 0:00:00
數字貨幣:深圳第三次派2000萬數字人民幣紅包,專家:全面推行仍有難度_APP

來源:時代周報 作者:劉文杰 深圳第三次派發數字人民幣紅包。1月20日9時,深圳市龍華區開啟“數字人民幣春節留深紅包”活動,面向轄區內商事主體中購買社保的春節留深人員,將發放10萬個紅包,每個紅.

1900/1/1 0:00:00
比特幣:Ruffer Investment董事長:比特幣是一種新興的價值儲存手段_ruff幣不漲原因

據Trustnodes消息,RufferInvestment的JonathanRuffer詳細闡述了關于該公司于去年11月購買5億英鎊比特幣的想法,他說:“我們的根本理由是.

1900/1/1 0:00:00
POW:“反壟斷”來襲,對產業區塊鏈有什么啟發?| 巴比特觀察_區塊鏈

反壟斷是近期中國經濟討論的熱門話題。2020年12月11日,中共中央局召開會議,要求強化反壟斷和防止資本無序擴張。隨后,中央經濟工作會議確定,堅決反對壟斷和不正當競爭行為.

1900/1/1 0:00:00
COI:未來5年區塊鏈將進入商業創新階段 | 網易未來大會_閃電比特幣最新消息

12月18日-20日,2020網易未來大會在杭州盛大舉行。在今日“2020網易未來大會·區塊鏈與人工智能”現場,網易集團副總裁胡志鵬、中國萬向控股有限公司副董事長肖風、中國工程院院士陳曉紅、網易.

1900/1/1 0:00:00
ETH:研報 | 連通公鏈和聯盟鏈的研究_聯盟鏈

本文為萬向區塊鏈行業研究文章之一,作者為萬向區塊鏈首席經濟學家辦公室郝凱。 摘要 本文研究公鏈和聯盟鏈之間進行連通的進展.

1900/1/1 0:00:00
ads