亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

pekonchan / 880人閱讀

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

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

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


如何對(duì)狀態(tài)機(jī)建模

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


狀態(tài)機(jī)模型

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


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

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

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

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

如何設(shè)計(jì)賬本

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


賬本設(shè)計(jì)

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


RSM設(shè)計(jì)

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

如何選擇共識(shí)

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

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

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

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

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

第二階段是「出塊」

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

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

第三階段是「進(jìn)行驗(yàn)證和投票」

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

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

第四階段是「退出共識(shí)」

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

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

未來(lái)我們能做什么

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

微服務(wù)

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

性能對(duì)比

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/24727.html

相關(guān)文章

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

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

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

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

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

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

    wthee 評(píng)論0 收藏0
  • 論 Layer 1 和 Layer 2 的價(jià)值捕獲

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

    Donne 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

pekonchan

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<