<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          區(qū)塊鏈技術(shù)的「不可能三角」與多方狀態(tài)通道解決方案|Neo專欄

          共 3516字,需瀏覽 8分鐘

           ·

          2022-05-16 22:37

          在之前的Neo專欄中

          Neo核心開發(fā)者廖京輝???♂?

          為我們深入淺出地介紹了

          N3「合約運(yùn)行時(shí)隨機(jī)數(shù)」的

          系統(tǒng)架構(gòu)、單點(diǎn)執(zhí)行邏輯和完整共識流程??

          并通過圖表的方式向我們展示了性能評估的結(jié)果


          本期Neo專欄中

          他將繼續(xù)帶領(lǐng)我們了解區(qū)塊鏈技術(shù)的「不可能三角」

          及其鏈下解決方案「多方狀態(tài)通道」的獨(dú)特優(yōu)點(diǎn)??


          廖工和他的小伙伴們將如何致力于

          「為智能合約在運(yùn)行時(shí)提供安全的隨機(jī)數(shù)」???

          快來一起看看吧??

          區(qū)塊鏈的「不可能三角」??

          對區(qū)塊鏈技術(shù)面比較了解的小伙伴應(yīng)該都知道當(dāng)前制約區(qū)塊鏈的一個(gè)不可能三角,一個(gè)是安全,一個(gè)是性能,一個(gè)是可拓展性。

          可能三角的意思就是無論我們怎么研發(fā),都最多只能同時(shí)兼顧這三者之中的兩者。舉個(gè)例子,你要提升性能和可拓展性,那肯定就會犧牲安全性。雖然目前還沒有很嚴(yán)謹(jǐn)?shù)淖C明來驗(yàn)證這個(gè)不可能三角的正確性,但是區(qū)塊鏈經(jīng)過這么十來年的發(fā)展,說實(shí)話的確是在這三個(gè)要素之間來回掙扎,有專注做安全的,比如隱私交易;有做高性能的,比如EOS;有做高可拓展性的,比如IoT類的鏈;當(dāng)然也有嘗試兼顧的,比如Algorand。

          但是除了這些在鏈本身下功夫的項(xiàng)目之外,也有人把眼光投到了鏈外,比如側(cè)鏈,比如rollup,也比如狀態(tài)通道。通過鏈外處理的方式把那些大量的中間交易放到鏈外解決,主鏈只負(fù)責(zé)最終狀態(tài)的同步和資產(chǎn)安全的管理。鏈下方案其實(shí)是一個(gè)比較合理的方案,甚至可能比現(xiàn)在以太坊拼了老命也想更新的2.0更合理。當(dāng)然這個(gè)只是個(gè)人意見,暫且不談。

          而這次被AsiaCCS2022接收的文章就是專注于鏈下方向之一的狀態(tài)通道的。論文的名字是「Speedster: An Efficient Multi-party State Channel via Enclaves」, 就是通過可信執(zhí)行環(huán)境來提升狀態(tài)通道的功能和性能。我的單位為南科大、韋恩州立大學(xué)和Neo,合作作者是南科大的張鋒巍教授,普渡大學(xué)的孫文海教授和韋恩州立大學(xué)的施巍松教授。(說起來我自己是個(gè)可信執(zhí)行環(huán)境的死忠,奈何這種硬件解決方案不受待見~Neo的小伙伴們目前主要在探索零知識證明的各種方案。)

          多方狀態(tài)通道??

          狀態(tài)通道本質(zhì)是一個(gè)在主鏈上創(chuàng)建的、由兩個(gè)人共同控制的賬戶。只有兩個(gè)人同時(shí)操作才可以從這個(gè)賬戶里取錢。由于是兩個(gè)人共同操作的賬戶,兩個(gè)人就可以在鏈外通過狀態(tài)通道任意的發(fā)送任何交易,這些交易都不需要上鏈,只需要在兩個(gè)人想要關(guān)閉通道的時(shí)候共同協(xié)商好這個(gè)鏈上賬戶的資產(chǎn)分配就行了。

          是不是聽起來很方便?比如你去一家經(jīng)常吃飯的飯店吃飯,你就可以用這個(gè)狀態(tài)通道支付,只要提前跟老板創(chuàng)建個(gè)狀態(tài)通道,然后你把錢存進(jìn)去,以后吃飯只要你們線下交易就可以了,完全不用等待漫長的共識,連手續(xù)費(fèi)都不用付。這里技術(shù)細(xì)節(jié)不再贅述。

          但是這個(gè)方案好是好,可是不完美。首先是這個(gè)方案里每個(gè)通道就只能有兩個(gè)人參與,也就是說你跟老板的通道就只有你倆能玩,別人加不進(jìn)去。這個(gè)重要么?重要!如果我們想要在鏈下執(zhí)行復(fù)雜的邏輯,那只有兩個(gè)人才能參與的狀態(tài)通道顯然是滿足不了需求的,我們肯定需要能有多人參與的狀態(tài)通道。

          為了解決這個(gè)問題,之前有人研究了虛擬狀態(tài)通道,就是在兩個(gè)人跟兩個(gè)人之間的通道上面再虛擬出一個(gè)可以多個(gè)人參與的通道。有一點(diǎn)類似于網(wǎng)絡(luò)里的NAT,本來沒有的東西,但是我用邏輯給你虛擬出來。Celer Network在做那種圍棋(五子棋?)比賽的時(shí)候是用的兩兩匹配,然后晉級的人再匹配的形式(當(dāng)然他們用了多跳,為了簡化介紹不贅述)。那有沒有一種形式可以直接把所有人都連接在同一個(gè)狀態(tài)通道里,并且可以像我們的局域網(wǎng)似的,任何人想加入就加入,想離開就離開呢?

          這就引出了我們的工作——一種基于可信執(zhí)行環(huán)境的高效多方狀態(tài)通道。

          我們的獨(dú)特優(yōu)點(diǎn)如下??

          支持多方狀態(tài)通道

          可以在鏈外創(chuàng)建和關(guān)閉狀態(tài)通道

          可以實(shí)現(xiàn)最高百萬級別的TPS

          我們的狀態(tài)通道可以最高實(shí)現(xiàn)百萬級別的TPS——相對于現(xiàn)在主鏈上幾十上百TPS來講,百萬級別的TPS是很恐怖的。在我們之前也有專注于用可信執(zhí)行環(huán)境來實(shí)現(xiàn)狀態(tài)通道的,叫TeeChain,這個(gè)工作是發(fā)在計(jì)算機(jī)頂會SOSP上的,不過這個(gè)工作比較早,是專注于比特幣的支付通道,而且不支持多方通道TPS也沒有我們來的高。

          我們的工作的原理其實(shí)就是在以往只信任區(qū)塊鏈主鏈這種信任模型里加入鏈外的可信基,就是可信執(zhí)行環(huán)境。

          在我們的系統(tǒng)里,用戶不僅可以信任區(qū)塊鏈,還可以信任這個(gè)基于硬件的可信執(zhí)行環(huán)境。用戶在這個(gè)環(huán)境里創(chuàng)建并管理一個(gè)賬戶,然后用這個(gè)賬戶去在線下跟別人交易,別人就會相信你這個(gè)賬戶不會發(fā)生雙花交易,并且不需要在鏈上做驗(yàn)證。

          也是因?yàn)橛墟溝碌男湃位?,所以哪怕多方之間參與共同的狀態(tài)通道也不會出現(xiàn)問題,只要每一方都使用基于可信執(zhí)行環(huán)境的賬戶就可以。至于效率方面,我們拋棄了在區(qū)塊鏈領(lǐng)域里通用的數(shù)字簽名機(jī)制來給交易的真實(shí)性提供保護(hù),轉(zhuǎn)而使用基于對稱加密的AES-GCM來保護(hù)狀態(tài)通道中的交易,這個(gè)目前在整個(gè)區(qū)塊鏈領(lǐng)域還是獨(dú)一份。由于這個(gè)轉(zhuǎn)變,交易的執(zhí)行速度提升了數(shù)倍。

          運(yùn)行時(shí)隨機(jī)數(shù)??

          而我跟Neo的小伙伴們當(dāng)前正在進(jìn)行的工作,則是為智能合約在運(yùn)行時(shí)提供安全的隨機(jī)數(shù)。

          在我之前很多的博文里都有提到過為Neo的合約提供隨機(jī)數(shù)這件事。從18年開始,我就陸陸續(xù)續(xù)提出了好幾個(gè)不同思路的方案,甚至有基于可信執(zhí)行環(huán)境的思路。后來EOS大量的博彩類DApp因?yàn)殡S機(jī)數(shù)暴雷,Chainlink推出了基于VRF的隨機(jī)數(shù)發(fā)生器,以太坊2.0里也計(jì)劃推出基于延遲函數(shù)的隨機(jī)信標(biāo),Loot用哈希函數(shù)來生成隨機(jī)數(shù),我就更感覺隨機(jī)數(shù)的研發(fā)迫在眉睫。索性去年的時(shí)候有了機(jī)會可以跟Neo的小伙伴開始一起研究探索隨機(jī)數(shù)方案。

          不同于Chainlink,我們不想要那種基于回調(diào)機(jī)制的隨機(jī)數(shù)方案。用戶需要先把交易的參數(shù)提交到鏈上,再由Chainlink的VRF計(jì)算出隨機(jī)數(shù)然后通過另一筆交易把隨機(jī)數(shù)推送給合約。主要原因如下??

          ?我們做過測試,這種方案需要的額外開銷是很大的,不管是手續(xù)費(fèi)的開銷,還是主鏈需要承擔(dān)的額外的數(shù)據(jù)存儲開銷都很大。

          ?在這種方案里合約的邏輯需要拆開到兩個(gè)函數(shù)中,用戶需要等待很長的時(shí)間才能得到執(zhí)行結(jié)果。

          我們想要的隨機(jī)數(shù)是那種用戶發(fā)送交易到鏈上,合約執(zhí)行過程中直接就可以請求到隨機(jī)數(shù),用戶的交易直接就可以完成執(zhí)行,并且合約可以請求任意數(shù)量的隨機(jī)數(shù)。

          目前在區(qū)塊鏈領(lǐng)域,Neo以外,除了那些專注于隱私保護(hù)智能合約的區(qū)塊鏈項(xiàng)目,比如Oasis和Ekiden,還沒有項(xiàng)目可以實(shí)現(xiàn)運(yùn)行時(shí)隨機(jī)數(shù)。這個(gè)問題的難點(diǎn)在于,如果不采用回調(diào)的機(jī)制,那么攻擊者就可以在你生成隨機(jī)數(shù)之后立即針對性的構(gòu)造攻擊載荷實(shí)施MEV攻擊。

          所以想要提供運(yùn)行時(shí)隨機(jī)數(shù),首先就是要解決掉MEV攻擊。我們現(xiàn)在的思路是解決MEV主要靠把區(qū)塊交易列表的生成權(quán)限從議長提案改成共識聚合。從以往議長一個(gè)人單獨(dú)決定交易順序的模式換成由每一個(gè)共識節(jié)點(diǎn)都提出自己的交易列表,然后在共識的過程中由多個(gè)列表聚合成一個(gè)最終的交易列表,這樣就可以保證沒有任何人可以發(fā)動(dòng)MEV攻擊。在解決了隨機(jī)數(shù)之后,再由BLS這種聚合簽名算法來為每一個(gè)區(qū)塊生成一個(gè)隨機(jī)數(shù)種子。由于BLS本身支持門限簽名,因此BLS不會阻礙正常的dBFT共識過程。然后在交易的運(yùn)行時(shí)由偽隨機(jī)函數(shù)來不斷地給合約提供隨機(jī)數(shù)。

          但是目前我們的工作還有一個(gè)較大的問題亟待解決,那就是BLS本身是需要一個(gè)秘鑰分發(fā)的過程來實(shí)現(xiàn)初始化,這個(gè)初始化的過程如果使用DKG的話,那每次共識節(jié)點(diǎn)更新的時(shí)候,都要進(jìn)行一次DKG的過程,而如果DKG失敗了或者延遲很高,那很可能會導(dǎo)致新一輪的共識節(jié)點(diǎn)之間沒有完成BLS的初始化,這樣就會導(dǎo)致出塊失敗。

          Neo的小伙伴為此開發(fā)了一套很復(fù)雜的容錯(cuò)機(jī)制,但是需要對共識機(jī)制本身進(jìn)行修改,所以目前還處于研究階段。另外一個(gè)思路則是使用動(dòng)態(tài)秘鑰更新機(jī)制,這種機(jī)制可以實(shí)現(xiàn)區(qū)塊鏈共識節(jié)點(diǎn)的更新,同時(shí)實(shí)現(xiàn)BLS秘鑰的安全轉(zhuǎn)移。目前相關(guān)的工作已經(jīng)完成了論文的撰寫,不過想要把運(yùn)行時(shí)隨機(jī)數(shù)真正完成部署還要一些時(shí)間。

          - 推薦閱讀 -

          All in One · All in Neo

          Neo是一個(gè)由社區(qū)驅(qū)動(dòng)的開源平臺。利用區(qū)塊鏈技術(shù)與數(shù)字身份,開發(fā)者可以通過智能合約實(shí)現(xiàn)資產(chǎn)管理數(shù)字化與自動(dòng)化。Neo致力于通過分布式網(wǎng)絡(luò)建設(shè)下一代互聯(lián)網(wǎng)基礎(chǔ)設(shè)施,為區(qū)塊鏈技術(shù)大規(guī)模落地奠定基礎(chǔ),以實(shí)現(xiàn)智能經(jīng)濟(jì)的宏大愿景。

          自2016年上線至今,Neo主網(wǎng)已穩(wěn)定運(yùn)行超過五年。全新版本Neo N3已于2021年發(fā)布,提供了更高吞吐量、更強(qiáng)穩(wěn)定性與安全性,帶來了優(yōu)化的智能合約系統(tǒng)及功能豐富的基礎(chǔ)設(shè)施集合,旨在賦能開發(fā)者并加速企業(yè)級區(qū)塊鏈創(chuàng)新。

          瀏覽 147
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费日本黄色电影网站 | 国产骚逼小黄片 | 国产成人欧美一区二区三区91 | www,五月天 | 黄色成人在线观看视频 |