當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 摘要 本文描述一種在中本聰共識機(jī)制網(wǎng)絡(luò)下的節(jié)點(diǎn)之間的傳播協(xié)議,在該協(xié)議中節(jié)點(diǎn)之間積極地協(xié)調(diào)各自的本地狀態(tài)。它使得節(jié)點(diǎn)能夠?qū)Ρ舜诉M(jìn)行采樣,以確定一個相沖突的集中哪個選項是在當(dāng)前大多數(shù)節(jié)點(diǎn)的

摘要

本文描述一種在中本聰共識機(jī)制網(wǎng)絡(luò)下的節(jié)點(diǎn)之間的傳播協(xié)議,在該協(xié)議中節(jié)點(diǎn)之間積極地協(xié)調(diào)各自的本地狀態(tài)。它使得節(jié)點(diǎn)能夠?qū)Ρ舜诉M(jìn)行采樣,以確定一個相沖突的集中哪個選項是在當(dāng)前大多數(shù)節(jié)點(diǎn)的選擇,并且將相同的選擇推向大多數(shù)節(jié)點(diǎn)。本協(xié)議是基于雪崩共識算法改進(jìn)而來,提供了協(xié)議的異步性、亞穩(wěn)定性和靜態(tài)終結(jié)性。

本文檔不會深入討論在雪崩算法白皮書中描述的細(xì)節(jié)和知識點(diǎn),這些是需要讀者自己去閱讀原白皮書。同時,本文還要求讀者已經(jīng)理解了中本聰共識機(jī)制。

動機(jī)

降低比特幣在多網(wǎng)絡(luò)節(jié)點(diǎn)之間的熵的好處被廣泛討論,其中包括將執(zhí)行成本高的工作移出關(guān)鍵路徑來提高可擴(kuò)展性、更快的交易確認(rèn)/雙花保護(hù),和更強(qiáng)的拜占庭對抗中短期期鏈重組攻擊。

中本聰共識是希望任何節(jié)點(diǎn)可以無須信任地參與達(dá)成共識,它通過使用工作量證明賦于每個狀態(tài)一個真實(shí)世界權(quán)重。不幸的是,這對系統(tǒng)提出了一些不理想的要求,如同步性,刻意的人為延遲,和永久性地需要維護(hù)共識。比如,一個狀態(tài)無法100%地確定。

我們意識到,由挖礦節(jié)點(diǎn)構(gòu)成的大型節(jié)點(diǎn),和大量的支付基礎(chǔ)設(shè)施始終在線但不參與達(dá)成共識,我們可以設(shè)計一個協(xié)議,允許他們快速達(dá)成共享的網(wǎng)絡(luò)狀態(tài),盡管這是主觀的。礦工可以繼續(xù)完成他們的工作,并最終將他們的本地狀態(tài)固化為全局狀態(tài),從而使新加入的節(jié)點(diǎn)可以無須信任地加入共識。該協(xié)議試圖使用預(yù)共識技術(shù),以達(dá)成更快、更具擴(kuò)展性和更安全的比特幣現(xiàn)金。

目標(biāo)

我們希望在協(xié)議上達(dá)成如下目標(biāo):

· 證明預(yù)共識系統(tǒng)在比特幣現(xiàn)金上是可行的。

· 挖掘更多需要研究的,或潛在的問題。

· 提供一個可以工作的預(yù)共識系統(tǒng),以允許任何節(jié)點(diǎn)都可以加入?yún)⑴c其中,用于實(shí)驗(yàn)和收集信息。

此外,協(xié)議必須具有以下屬性:

· 無須許可:任何人都可以提供或索要采樣

· 低延遲:實(shí)現(xiàn)秒級達(dá)成決策

· 元穩(wěn)定性:參與者主動參與工作,并將系統(tǒng)狀態(tài)朝著單一方向坍縮,并且能抵抗?fàn)顟B(tài)回撤。

· 平靜:一旦做出決定,就不可逆,而且最終狀態(tài)將不再需要額外的工作。

· 可擴(kuò)展的成員體系:我們希望任何有興趣的人都能加入

· 可擴(kuò)展的資源:我們需要將系統(tǒng)擴(kuò)展到全球現(xiàn)金系統(tǒng)水平。

· 拜占庭式容錯:我們不假設(shè)所有參與者都是誠實(shí)的,系統(tǒng)能抗惡意行為。

協(xié)議概述

基于互斥點(diǎn)(based on points of mutual exclusion)我們認(rèn)為每個區(qū)塊和交易都是1個或多個沖突集的成員,比如花費(fèi)相同的UTXO。我們使用雪崩算法,將每一個沖突集精確地分解為單個項目,并且參與者使用其本地狀態(tài)參與解決網(wǎng)絡(luò)沖突集,從而為所有參與節(jié)點(diǎn)提供共享的本地狀態(tài)。

每個客戶端在看到的一個未完成的項目時,都會維護(hù)一個基于雪球(Snowball-based)投票累加器。一旦看到一個項目,就會創(chuàng)建一個累加器,并開始投票確定最終狀態(tài)的過程。只要有未解決的沖突集,客戶端就會隨機(jī)選擇一個對等節(jié)點(diǎn),詢問它對這個項目的投票,并將這些投票輸入投票累加器。一旦項目的接受信任度達(dá)到閾值,則沖突解決;這個項目被全網(wǎng)接受,并且拒絕所有沖突項目。這個過程會持續(xù)工作,直到所有沖突集都被解決為止。

通過將內(nèi)存池里所有被拒絕的項,替換為被接受的項,網(wǎng)絡(luò)中的參與者就可以擁有幾乎相同的本地狀態(tài)。結(jié)合再有的規(guī)范排序規(guī)則,這些客戶端就可以看到幾乎一致的區(qū)塊。

詳細(xì)規(guī)則

安全參數(shù)

我們的算法也采用雪崩算法白皮書描述的安全參數(shù),如下:

發(fā)信號支持

客戶端應(yīng)使用以下服務(wù)位來表示他們理解協(xié)議:

NODE_SNOWGLOBE= (1 《《 26)

握手

當(dāng)節(jié)點(diǎn)希望提供其采樣狀態(tài)時,它們應(yīng)該使用適當(dāng)?shù)姆?wù)位給其他節(jié)點(diǎn)發(fā)送一個連接消息。接收到該消息的客戶端應(yīng)該驗(yàn)證該消息,并且:

1.如果消息是非法的,則禁止其節(jié)點(diǎn)

2.如果消息是合法的,則將其節(jié)點(diǎn)加入到合作內(nèi)存參與者之列。

使用幣齡抗女巫攻擊

使用一組使用幣金額乘于區(qū)塊年齡的UTXO信息,我們稱之為“幣塊”,才能向其他節(jié)點(diǎn)發(fā)起查詢服務(wù),通過該機(jī)制可實(shí)現(xiàn)抗女巫攻擊。如果索要查詢服務(wù)的節(jié)點(diǎn)發(fā)出的消息不包含足夠的幣塊閾值,該消息為非法的,并且該節(jié)點(diǎn)會被禁止,不能加入Snowglobe內(nèi)存池中。

初始的幣塊值設(shè)為1440,但需要進(jìn)一步研究,是否有更合適的值。

使用身份和下注(stake)發(fā)信號及驗(yàn)證

創(chuàng)建信號

提供查詢服務(wù)的節(jié)點(diǎn),都必須維護(hù)一個secp256k1密鑰對,該密鑰用于授權(quán)

和驗(yàn)證下注消息的身份信息。下注動作是通過下注者使用公鑰簽署一個包含身份的信息加入連接消息。消息是通過ECDSA簽署,使用組成幣塊的UTXO的公鑰和私鑰簽署。(這一段看不懂,原文如下:Queryable nodes must all maintain an secp256k1 key pair whichis used by queriers to authenticate messages against a stake. Staking is doneby crafTIng and signing a Joinmessage containingthe IdenTIty public key a list of outpoints controlled by the staker. Thismessage is signed using ECDSA by the IdenTIty private key and by the public keythat controls each UTXO represented by the committed outpoint.)

現(xiàn)在只支持如下UTXO:

· P2PK(Pay-to-Pubkey)

· P2PKH

將來可能支持以下類型:

· 多重簽名

· 精心定義的P2SH腳本。

驗(yàn)證

要驗(yàn)證一個連接消息的真?zhèn)?,及其對?yīng)下注的客戶端的身份,必須通過將消息的簽名移除,并生成規(guī)范的序列化。然后驗(yàn)證程序要檢查身份簽名的正確性。接下來,要在提取公鑰的同時,對照匹配輸出點(diǎn)。最后,加載每個提交的UTXO,檢查它們的類型,檢查匹配的公鑰是否正確,并確保幣塊足夠大。(這段太復(fù)雜了,看不懂,原文是:To validate a Join message and its stake a client must firstgenerate the canonical serialized message by removing the signatures. Then itshould check that the IdenTIty signature correctly signs the canonical message.Next it needs to verify each outpoint signature against its matching committedoutpoint, while simultaneously extracting the public key. Finally it load eachof the committed UTXOs, check their type, check that the matching public key iscorrect, and ensure that Coin Blocks is sufficient.)

DAG格式

雪崩算法有效性的核心是DAG(有向無環(huán)圖),它允許我們通過單個Snowball實(shí)例,來接受或拒絕整個鏈的狀態(tài)。DAG圖的連接性越強(qiáng),完成所有狀態(tài)最終確定所需要的Snowball實(shí)例就越少,不過,如果DAG圖過于復(fù)雜,會導(dǎo)致體統(tǒng)效率都會浪費(fèi)在構(gòu)造圖的邊上。

解決方案是使用鏈中已經(jīng)存在的所有自然形成的對象邊,而不是人為再生成新的。我們通過定義給定頂點(diǎn),來形成新的邊,具體類型取決于如下:

一筆交易會從每一個父交易那里都形成一條邊。

一個塊,會從它的父塊里形成一條邊,以及從每一筆被該區(qū)塊承諾的交易那里形成一條邊。

沖突集

區(qū)塊中每一筆存在于沖突集的交易,都要基于互斥排除點(diǎn)。這些要點(diǎn)如下:

· 一個交易的沖突集是所有使用相同UTXO花費(fèi)的交易

· 一個區(qū)塊的沖突集是所有相同高度的區(qū)塊,包含了相同交易,或者包含了相沖突的交易

解決沖突集的過程是最終接受一個項的過程,同時意味著拒絕了所有其他項

循環(huán)采樣

每一個客戶端都應(yīng)該持續(xù)為未完成的項進(jìn)行循環(huán)采樣,每次循環(huán)最多可以達(dá)到4096個請求。每次重復(fù)采樣,客戶端們應(yīng)該隨機(jī)選擇要查詢的節(jié)點(diǎn),發(fā)送一個項目請求,并且通過投票累加器來返回投票結(jié)果。通過偽代碼來描述如下:

while items= getItemsToSample():

peer = getRandomPeer()

votes = query(peer, items)

accumulateVotes(votes)

投票累加器

投票有三個選項值:no(0),yes(1),或者棄權(quán)(2)。通過將它們放入Snowball投票累加器來處理,該累加器保持最后K張選票,接受狀態(tài),以及雪崩白皮書里描述的對該狀態(tài)的可信度。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉