成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

從根本出發(fā),探索區(qū)塊鏈共識的四個階段

pekonchan / 713人閱讀

摘要:狀態(tài)機模型區(qū)塊鏈用許多的節(jié)點共同模擬了一臺多復(fù)本的狀態(tài)機。區(qū)塊鏈共識的四個階段第一階段是加入共識加入共識階段決定了什么樣的節(jié)點可以參與共識協(xié)議。第四階段是退出共識這是常常被忽略的部分。

在接下來的秘猿科技小課堂里,我們會從技術(shù)角度、經(jīng)濟模型設(shè)計角度、以及共識角度來拆解 Nervos 加密經(jīng)濟網(wǎng)絡(luò)中,底層公鏈 CKB 的設(shè)計理念。而本文將會作為技術(shù)角度核心設(shè)計 Cell 模型的預(yù)備文章,通過本文,我們希望讀者能夠理解比特幣以狀態(tài)為中心設(shè)計的優(yōu)勢!從而,能夠在接下來的幾篇文章中,更加充分的理解 Cell 模型對于比特幣/以太坊模型的傳承與突破。(PS.本文源于 2018 年初,秘猿科技在招商銀行總行舉辦的一次金融區(qū)塊鏈閉門會,公鏈 CKB 是對文中思想的具體實現(xiàn)。)

秘猿科技區(qū)塊鏈小課堂第 16 期


如何對狀態(tài)機建模

狀態(tài)機是計算機的一個基本模型,它可以分成二個部分:狀態(tài)和操作。狀態(tài)是指計算機里的數(shù)據(jù);操作是指對數(shù)據(jù)進行的操作。如果把狀態(tài)機比喻成日常使用的數(shù)學(xué)計算器,計算器屏幕上顯示的就是狀態(tài),按「按鍵」就是對計算器的操作。


狀態(tài)機模型

區(qū)塊鏈用許多的節(jié)點共同模擬了一臺多復(fù)本的狀態(tài)機。在許多區(qū)塊鏈或者分布式系統(tǒng)中,用戶發(fā)出的簽名交易包含了對狀態(tài)機的操作,節(jié)點執(zhí)行共識協(xié)議對所有操作進行排序,然后按共識排好的順序執(zhí)行操作,計算出新的狀態(tài)。


多復(fù)本狀態(tài)機

舉例:我們先保證所有節(jié)點初始狀態(tài)一致,就是讓每人手上的計算器開始狀態(tài)為數(shù)字 0。然后我們把要執(zhí)行的操作廣播給每個操作員,這四個操作員算完后,這個計算器上的最終結(jié)果是一模一樣的。為什么會有一樣的結(jié)果?因為他們有一個相同的初始狀態(tài)。接著,我們用共識算法保證了相同的操作順序。所以最后一定有一個相同的最后狀態(tài)。

狀態(tài)機的概念在區(qū)塊鏈里面非常重要,但我們往往忽視其中的基本細節(jié)。設(shè)計區(qū)塊鏈最應(yīng)該考慮的因素,是應(yīng)該以狀態(tài)為中心,還是以操作為中心進行設(shè)計?這二種不同的設(shè)計理念會對整體架構(gòu)產(chǎn)生很大影響,這也是比特幣和以太坊架構(gòu)的一個根本區(qū)別:比特幣是以狀態(tài)為中心的設(shè)計,以太坊是以事件為中心的設(shè)計。

這兩者有非常大的區(qū)別。如果以事件為中心,計算是在節(jié)點上發(fā)生;以狀態(tài)為中心的話,計算是在客戶端發(fā)生。計算轉(zhuǎn)移到客戶端,節(jié)點的計算就相應(yīng)減少。交易包含最后的狀態(tài)的話,節(jié)點可以很方便的判斷交易的相互依賴關(guān)系。計算在節(jié)點上發(fā)生的話,客戶端就可以很簡單。所以我們需要根據(jù)目標(biāo)來權(quán)衡這個事情。其實很難說誰更好,只是看我們目標(biāo)是什么。

如何設(shè)計賬本

區(qū)塊鏈被稱為分布式賬本,記錄著所有者和資產(chǎn)之間的關(guān)系。賬本里有二個概念,一個是資產(chǎn),一個是所有者。所以可以從二個方向去設(shè)計系統(tǒng)。


賬本設(shè)計

賬戶模型以「人」為核心建模,先建立賬戶的概念,再記錄他們的賬戶里有多少錢,以太坊、CITA 、Ripple 都是這個模型;以「資產(chǎn)」為核心建模,最基礎(chǔ)的概念是資產(chǎn),比如 UTXO,在 UTXO 的基礎(chǔ)上去記錄所有權(quán)。以資產(chǎn)為核心建模,更適合并行處理,一個人所擁有的資產(chǎn)不再是一個字段,而是可能分成十份。我可以獨立去操作這十份資產(chǎn)。


RSM設(shè)計

以賬戶為核心的設(shè)計,交易并行處理更難,賬戶更改只能按照交易順序一個一個來。但是,賬戶模型可以很方便的去記錄賬戶相關(guān)的元數(shù)據(jù),比如說這個賬戶有哪些權(quán)限。所以對于許可鏈來說,賬戶模型是非常適合的選擇。

如何選擇共識

在公有鏈上,比特幣所開創(chuàng)的 Nakamoto 共識,在開放網(wǎng)絡(luò)下,引入了經(jīng)濟激勵,在開放網(wǎng)絡(luò)下實現(xiàn)了對拜占庭錯誤的容忍,但也付出了性能上的代價。許可鏈中通常使用傳統(tǒng)拜占庭共識的變種,充分利用了分布式系統(tǒng)領(lǐng)域過去幾十年的研究成果。優(yōu)點是延遲非常低、吞吐量很高。

在網(wǎng)絡(luò)分裂時,許可鏈?zhǔn)沁x擇網(wǎng)絡(luò)停止服務(wù),等待網(wǎng)絡(luò)的恢復(fù),來保證一致性;公有鏈則偏好可用性,在網(wǎng)絡(luò)分裂時可以容忍賬本分成二個版本,等網(wǎng)絡(luò)恢復(fù)之后,選擇其中一個版本作為正確的版本,廢棄掉另外一個版本。公有鏈想要的是 24 小時不間斷的服務(wù);金融行業(yè)回滾的代價太大,想要的卻是一致性。所以選擇 C 還是選擇 A,取決于你的需求是什么。

區(qū)塊鏈共識的四個階段 第一階段是「加入共識」

加入共識階段決定了什么樣的節(jié)點可以參與共識協(xié)議。比如:在比特幣中,一開始是任意節(jié)點都可以加入共識?,F(xiàn)在則可以認(rèn)為比特幣的共識加入機制變成了買礦機,有礦機才能參與共識。在 PoS 里面,則是需要持有代幣或者交保證金才能參與共識。在 DPoS 里面,代理人需要獲得足夠多的投票才能參與共識。學(xué)術(shù)界也有其他的研究,比如是加入共識也需要提供一個工作量證明。

通過加入共識階段的設(shè)計,我們可以把參與共識的節(jié)點范圍縮小。比如公有鏈上有一萬個節(jié)點,但是我們只要設(shè)計一個加入共識的機制,就可以把共識范圍縮小到 100 個節(jié)點,一旦我們可以縮小這個共識范圍,后面就可以用任意的方法去實現(xiàn)共識。

第二階段是「出塊」

這個階段需要選擇一個節(jié)點來將交易打包,生成一個新的區(qū)塊。通常有三種方式:

1.共識節(jié)點按輪流順序出塊,比如 PoA。
2.采用隨機出塊方式,從 共識節(jié)點里隨機挑一個節(jié)點出塊,比如 PoW, NXT-PoS,DPoS。
3.在不出問題的情況下一直保持一個節(jié)點出塊,目前只有許可鏈會用這種方式。

第三階段是「進行驗證和投票」

涉及到共識投票的過程,這里的設(shè)計就非常多?,F(xiàn)在大家經(jīng)常在討論的一些新的共識方法,往往只是第二和第三階段的方案。

投票主要有用區(qū)塊投票和用消息投票兩種方式。在 Nakamoto 共識中,新制造的區(qū)塊是一張投票,下一個礦工挖出的塊是對之前一系列區(qū)塊的投票。每一個區(qū)塊都是一張票(嚴(yán)格來說票有權(quán)重,例如工作量證明),最后那條高度最長,包含的區(qū)塊(票數(shù))最多,就是勝出的那條鏈。在許可鏈里面,常常通過節(jié)點之間交換投票消息來對新出的塊進行投票,所以在下一個塊沒有出之前就可以對這一個塊完成共識。

第四階段是「退出共識」

這是常常被忽略的部分。在比特幣系統(tǒng)中,退出共識很簡單,停止挖礦就行了。在許可鏈中,我們本來是共識節(jié)點,現(xiàn)在不想做共識節(jié)點了,則需要有相應(yīng)的設(shè)計,進行共識節(jié)點變更。

以上四個步驟是區(qū)塊鏈共識的一個完整流程。傳統(tǒng) BFT 共識算法,發(fā)揮作用一般是在第三階段,在網(wǎng)絡(luò)異步的時候會涉及第二階段,基本上不討論其它兩個階段。所以我們?nèi)绻獙鹘y(tǒng)的共識算法融入到區(qū)塊鏈中,需要另外考慮的問題是非常多的。

未來我們能做什么

在設(shè)計 CITA 的時候,我們是為企業(yè)級的用戶考慮的。他們擁有很好的計算資源,所以我們可以通過內(nèi)部并行和分片的方式解決區(qū)塊鏈面臨的性能擴展的問題,把區(qū)塊鏈里每一個節(jié)點的能力放大一百倍,那么整個網(wǎng)絡(luò)的能力就會放大一百倍。這是我們 CITA 提出微服務(wù)的原由。我們把一個節(jié)點拆散,將節(jié)點內(nèi)部變成一個集群是 CITA 能夠提升吞吐量的根本原因。在 CITA 里面有很多的微服務(wù),比如 auth 服務(wù)是交易驗證的,是可以并行處理的。所以我們通過這個方式去解決性能瓶頸問題。

微服務(wù)

CITA 的設(shè)計目標(biāo)是多中心的區(qū)塊鏈網(wǎng)絡(luò)。這樣的網(wǎng)絡(luò)不需要太多的節(jié)點,就可以創(chuàng)造很高的信任。這是我們自己在某云平臺上做的一個實測。用了一個中型的云服務(wù)器,一般交易處理可以達到 15000 TPS,測試用例包括存證,合約創(chuàng)建和代幣轉(zhuǎn)移, 都有比較好的性能。特別指出的,CITA 這種架構(gòu)對云計算很友好。我們更加傾向從架構(gòu)的角度、從軟件的角度解決各種問題。盡量避免去依賴硬件。

性能對比

在我們工程設(shè)計和實現(xiàn)中我們會遇到很多選擇,我們往往是選了一邊。有沒有可能兼得呢?我認(rèn)為在一些地方是可以的。比如以太坊上的智能合約非常的輕量,通過 evm 合約構(gòu)造分布式應(yīng)用時,可以生成成千上萬的合約共同來完成一個使命。Fabric 上的合約可以用任意原生語言實現(xiàn),執(zhí)行環(huán)境比較重。CITA 則同時支持二種方式,既可以跑evm合約,又可以跑原生合約。

未來,我們還可以做什么呢?比如現(xiàn)在的共識算法的選擇傾向,已經(jīng)很明顯的顯示出了混合共識的趨勢。我們是不是也可以做到這一點?以狀態(tài)為中心的設(shè)計還是以事件為中心的設(shè)計,是不是也能兼得?這正是我們最近在做的一些嘗試。如果能夠同時擁有魚和熊掌,我們可能能夠找到一種更好的區(qū)塊鏈,尤其是公有鏈架構(gòu)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24727.html

相關(guān)文章

  • 理想到現(xiàn)實, 你不知道的區(qū)塊

    摘要:簡而言之,區(qū)塊鏈說的是由區(qū)塊用某種方式組織起來的鏈條。在本文中,我們說的區(qū)塊鏈技術(shù)實際上是一種分布式數(shù)據(jù)庫技術(shù)。事實上,當(dāng)使用基于區(qū)塊鏈的系統(tǒng)時,人們對中心機構(gòu)的信任轉(zhuǎn)而被對數(shù)學(xué)的信任所取代。因而,基于區(qū)塊鏈的系統(tǒng)是安全的。 區(qū)塊鏈?zhǔn)鞘裁??我們來看一下區(qū)塊鏈在維基百科上被大家公認(rèn)的官方定義: 一個區(qū)塊鏈?zhǔn)且粋€基于比特幣協(xié)議的不需要許可的分布式數(shù)據(jù)庫,它維護了一個持續(xù)增長的不可被篡改和修...

    seasonley 評論0 收藏0
  • 干貨 | 區(qū)塊快速通道:技術(shù)原理到應(yīng)用落地

    摘要:萬云專注于將區(qū)塊鏈技術(shù)應(yīng)用于各個行業(yè),促進區(qū)塊鏈在業(yè)務(wù)中的真正落地。共識算法是區(qū)塊鏈比較核心的技術(shù)之一,保證區(qū)塊一致性是其主要作用。 作者:萬云首席架構(gòu)師兼產(chǎn)品總監(jiān)李晨原文鏈接:http://mp.weixin.qq.com/s/snl...如需轉(zhuǎn)載請聯(lián)系萬云官方微信:萬云Wancloud 2018年開始,好像所有的人都在談?wù)搮^(qū)塊鏈,資本、精英、草根不斷進場投身到區(qū)塊鏈的浪潮之中。在外...

    noONE 評論0 收藏0
  • 公有有未來還是聯(lián)盟有未來

    摘要:維度公有鏈聯(lián)盟鏈私有鏈讓我們換一個維度,按照區(qū)塊鏈的服務(wù)對象來分公有鏈為公眾提供服務(wù)的區(qū)塊鏈。聯(lián)盟鏈私有鏈在具體實施上有不同的許可鏈選項可以是節(jié)點許可鏈出塊許可鏈或者完全許可鏈,由此也會有相應(yīng)的優(yōu)缺點,在此不再重復(fù)。 在我們討論區(qū)塊鏈時,分類是不可避免的一件事情。想必大家都聽說過「公有鏈、聯(lián)盟鏈、私有鏈、許可鏈、無需許可鏈」這些詞匯,雖然我們已經(jīng)耳熟能詳,然而這些名詞并沒有公認(rèn)的定義。...

    wthee 評論0 收藏0
  • 論 Layer 1 和 Layer 2 的價值捕獲

    摘要:的價值捕獲的代幣的存在是為了讓這條底層公鏈能夠抵抗攻擊。分別存在論證可以支撐的通脹率,但幾乎沒有用戶會選擇一個全球的無國界的但是每年通脹大于的貨幣。 著名區(qū)塊鏈投資機構(gòu) Multicoin Capital 近期推出《On Value Capture at Layers 1 and 2》一文,解釋了 Layer 1 和 Layer 2 的協(xié)議究竟如何捕獲價值: Layer 1 Token...

    Donne 評論0 收藏0

發(fā)表評論

0條評論

pekonchan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<