我們今天發表的一篇短論文介紹了NEAR協議所采用的隨機信標。佐餐食用的本博文將著重討論隨機性的重要意義、實現難度以及其它協議的實現路徑。
包括NEAR在內的諸多新型區塊鏈協議都高度依賴于隨機性,以抉擇由哪些成員執行協議中的特定操作。如果惡意攻擊者能影響隨機源,他們就有機會增加自己被選中的概率,最終威脅協議的安全性。
分布式隨機性同樣也是眾多區塊鏈應用的重要基石。舉例來說,假如某個智能合約接受用戶的賭約,規則為無偏倚地產生一個隨機數,據此以49%的概率返還兩倍押注,51%的概率沒收賭資。如果惡意攻擊者可以影響或者預測該隨機數,他們就能旱澇保收,并很快搬完合約中所有的資金。
在設計分布式隨機性算法時,我們希望它具備以下屬性:
算法必須公正無偏。換言之,不允許有任何參與者能絲毫影響隨機數生成器的結果。
算法無法被預測。即在隨機數生成之前,所有的參與者都不知道會生成什么樣的結果。
協議需要具備在某些節點掉線時仍保持正常運行的容錯能力,即使有節點故意阻礙協議,也可以繼續運行。
本文將介紹分布式隨機信標的基礎知識,說明為何樸素的技術方案無法達成效果。在最后,我們將介紹DFinity、EthereumSerenity以及NEAR協議所采用的隨機信標方案,并逐一剖析其優越性與不足之處。
歐科云鏈集團正式啟動區塊鏈科普行動“星途計劃”:歐科云鏈集團于4月26日,正式宣布啟動了區塊鏈科普行動——“星途計劃”,行動包括將在全國范圍展開系列沙龍,加大力度推進區塊鏈科普進機關、進國企、進校園等,聯合政府部門、行業協會等共同構建起更加完善和有效的區塊鏈科普教育生態,與此同時,直擊區塊鏈科普現存痛點,推出簡單易懂的“秒懂區塊鏈”公益短視頻課。
該計劃旨在全維度推動社會建立對產業更清晰的認知,與“鯤鵬計劃”一道助力數字經濟及區塊鏈產業本身健康發展夯實“人才”和“產業認知”兩大基礎。[2021/4/26 20:59:37]
RANDAO
RANDAO非常簡單,因此也是一個十分常見的隨機性實現方案。其大致思想是網絡中的所有人首先各自私下選定某個隨機數,然后向RANDAO提交該隨機數的承諾,接著所有人根據一定的共識算法從所有的承諾中選定一組;在參與者揭示這組承諾背后的隨機數之后,大家對該組隨機數達成共識;最后這組隨機數進行異或操作得到的結果就是一輪RANDO協議產生的隨機數。
RANDO的做法的確讓隨機數難以預測,并且隨機數享有與底層共識協議一樣的活性,但仍有可以鉆空子的地方。比方說,惡意攻擊者看到網絡中所有其他人揭露各自所選取的隨機數之后,可以根據自身隨機數先執行異或運算,并根據結果對自己的利弊來決定是否要揭露自己的隨機數。這種設計使得單個攻擊者就能對輸出造成一定的影響,同時隨著攻擊方所控制的參與者數目增多,他們的破壞性也隨之增強。
火幣推出《一分鐘讀懂DeFi》系列科普視頻:據官方消息,8月24日,火幣推出《一分鐘讀懂DeFi》系列科普視頻,并與微博財經合作冠名播出,布道DeFi認知,助力行業發展《一分鐘讀懂DeFi》是由火幣成長學院打造的業內首個系統全面講解DeFi的系列科普動畫,繼推出《區塊鏈100問》后的再續佳作。《一分鐘讀懂DeFi》系列動畫對DeFi的發展進行系統梳理,適合想要由淺入深、全面系統了解區塊鏈DeFi的人們輕松了解DeFi。目前視頻已由火幣網官方微博發布。[2020/8/24]
RANDAOVDFs
要增強RANDAO的公平性,其中一種辦法是替換掉最后的那個異或計算,將其改變為執行時間必定長于各方隨機數揭露等待期的操作。如果計算最終結果的時間比隨機數揭露等待期要長,那么惡意攻擊者就無法預先知道自身隨機數揭露與否能給自己帶來好處,因此理論上就無法影響最終結果的屬性了。
雖然需要有一個函數來拖延參與者生成最終結果的時間,但不能因此讓隨機數用戶也耗費巨大的開銷去驗證所生成的隨機數。因此,理想函數應該能讓用戶輕易驗證系統生成的隨機數,而無需重復之前的計算開銷。
上述既需要長時間來計算,同時能輕易驗證計算結果,并且對每一個輸入都有著獨一無二輸出的函數正是可驗證延遲函數,設計一個這樣函數的工作委實艱巨。近來這一領域已經有所突破,比如這個和這個已經可以應用,當前以太坊就計劃應用RANDAO和VDF來作為其隨機性信標。除此之外,由于這種策略所具備的不可預測性和無偏見性,使得系統甚至能在僅有兩個參與者在線的情況下依然具備活性。
TRON數字錢包科普資料《波場錢包的現在過去與未來》已上線:據最新消息顯示,由TokenPocket聯合波場TRON官方,以及 TokenPocket 社區志愿者共同撰寫的《波場錢包的現在過去與未來》已正式上線。《波場錢包的現在過去與未來》又稱為波場錢包小白書,詳細介紹了當前TRON錢包與TRON生態密切結合的實例,是目前市面上最為詳細的TRON數字錢包科普資料。波場錢包作為波場公鏈生態中極為重要的入口,是波場生態的重要構成要素。波場錢包從一開始只提供權限管理、轉賬收款、節點投票等基礎功能,到如今不僅可以為用戶提供法幣交易、閃兌和去中心化交易所等方便快捷的交易服務,還能讓用戶直接在錢包上體驗波場上DApp,挖礦、DeFi、Staking等資產增值服務。詳情見原文鏈接。[2020/8/20]
VDF雖好,但目前的最大挑戰在于函數需要足夠健壯,即使某些別有用心者花大價錢配置定制化硬件設備,也無法在揭露等待期結束之前計算出最終結果,理想情況是函數具備有足夠威懾力的安全邊際,例如延遲時間較揭露等待期拖長10倍。下圖展示了系統中參與者采用定制化ASIC設備所發起的一次攻擊,攻擊者能夠在各方揭露RANDAO承諾之前計算出最終會輸出的隨機數。攻擊者依然能根據計算得到的隨機數結果,以及最終結果對自身收益的利害關系,自主決定是否要揭露所掌握的隨機數。
和VDF家族關聯的特制ASIC設備會比傳統硬件的計算速度快100倍。因此,如果揭露等待期耗時10秒,同時為了達成理想的10倍安全邊際,需要保證ASIC設備至少花100秒才計算出最終結果,由此換算到普通硬件設備上則需100x100秒,即約3個小時來得到輸出結果。
動態 | 美國演說家Anthony Robbins開始科普什么是比特幣:美國演說家安東尼·羅賓(Anthony Robbins)在自己的網站上發布了一篇比特幣的科普文章,并在推特上向自己的粉絲介紹什么是比特幣,目前他的推特賬戶共有粉絲304萬人。[2019/1/1]
針對這一問題,以太坊基金會的做法是設計自己的ASIC設備并開源。一旦上述設想落地,以太坊之外的其它協議也能把真正的隨機數用起來了。不給過在那個時刻到來之前,無力投資研發自己ASIC設備的協議們還是沒法應用RANDAOVDF的解決方案。
這個網站收錄了許多關于VDF的文章、視頻以及其它資訊。
門限簽名
Dfinity團隊正倡導并研究的的門限BLS簽名是隨機性的又一實現方案。
BLS簽名用于多方對一則消息構建一條聚合簽名,由于無需額外的簽名通信,因此常用于節省空間和帶寬。在區塊鏈里,BFT共識協議的區塊簽名通常就使用BLS簽名。例如在一個有100個節點的區塊鏈系統中,當其中的67個節點都對某個區塊進行了簽名時,就可以認定這個區塊已經上鏈。每一個節點都可以提交自己那片BLS簽名,系統根據某些共識算法選出其中67片簽名來聚合成一條BLS簽名。雖然任意67片簽名都能組成一條聚合簽名,但不同的簽名輸入不會聚合成相同的BLS簽名。
其實如果系統中參與者持有的私鑰是通過某種特殊方式生成的,那無論選擇哪67片簽名,都能輸出一樣的聚合簽名。這種特性可以用來產生隨機性:系統中參與者首先對某則他們未來會進行簽名的信息達成一致,然后就此產生一個聚合簽名。在67個參與者揭露自身簽名之前,沒有人能預測輸出結果,同時由于大家在第一片簽名披露之前就認定完了輸出結果,因此任何參與者都無法再對輸出產生影響。
中科院自動化研究所將面向大中小學生開展區塊鏈等主題的科普講座:5月21日,新華網訊,今年,中國科學院自動化研究所將舉辦第十四屆“自動化之光”公眾科學開放日活動。屆時,自動化所將面向大中小學生分別開展《腦與智能》、《區塊鏈技術與平行智能》、《大數據時代的視覺智能》、《動畫真奇妙》等4個主題報告,用實例和生動的演示深入淺出地為大家揭示智能技術的原理和奧妙。[2018/5/21]
上述隨機性實現方案具備無偏見性和不可預測性,只要網絡中有2/3參與者在線就能維持運行。即使1/3的節點掉線或篡謀發起攻擊,他們也只能讓系統停滯,因為要想對最終結果產生影響,需要至少2/3的節點。
看起來一切都很完美,但是,依然有一個但是。前文我曾提及私鑰需要按某種特殊方式生成,這種被稱為分布式密鑰生成的技術事實上十分復雜并且仍處于探索階段。在最近的一些公開演講中,Dfinity提出了使用zk-SNARKs來實現DKG,但是zk-SNARKs十分復雜,并且這種構造方法還沒有經過時間檢驗。總的來說,門限簽名和DKG技術尚未發展到能落地應用的階段。
RandShare
目前為止,NEAR受到的最大影響來自于另一種算法:RandShare。
RandShare是一個無偏見且不可預測的協議,支持1/3惡意節點容錯。其速度相對較慢,在對應論文中雖然提到了RandHound和RandHerd兩種加速方法,然而和RandShare本身相比還是太過復雜,我們想要的理想協議應該簡潔優美。
除了較大的通信壓力,RandShare面臨的另一個問題在于雖然1/3的容錯門限能保證協議在應用中的活性,但這個門限難以震懾別有用心者對輸出結果發起攻擊。具體原因有以下幾點:
攻擊輸出結果所帶來的收益要遠遠大于拖滯隨機數生成帶來的收益。
如果某一方控制了RandShare中超過1/3的節點并試圖操縱輸出結果,這種攻擊甚至不會留下任何痕跡。與光天化日之下拖滯隨機數生成相比,操縱輸出結果根本就是悶聲發大財。
從現實考量,某勢力操縱超過1/3的哈希算力/權益并非天方夜譚,而且根據兩點,具備實力的攻擊者基本不會選擇拖滯隨機數生成,而是傾向于暗地操縱輸出結果。
NEAR方案
我們最近發表的一篇論文介紹了NEAR方案。這是一個無偏見且不可預測的協議,其活性具備1/3節點的容錯能力,即攻擊方只有控制了全局1/3及以上的節點才能阻塞協議。
然而和RandShare不同,NEAR能保證2/3惡意節點的容錯。這個門限對實際應用來說顯然更為優越。
NEAR協議的核心思想如下:
每一個節點首先提出自己的輸出片,將其分成67份,再用糾刪碼將其編碼為100份,這一過程需要保證任意67份數據都可以恢復輸出片,然后使用其它各節點的公鑰對每一份數據簽名并轉發,這樣一來,各節點互相持有加密片。
系統中各節點使用某種共識算法選出特定67個節點所生成的加密片。
一旦達成共識,各個節點根據步驟(2)的結果,從本地取出被自身公鑰簽名過的加密片,解碼揭露數據后立即廣播。
一旦有67個節點完成了步驟(3),系統就有了足夠的信息解碼重構出原始數據,最終結果可以由(1)中各節點輸出片的簡單異或操作得到。
上述協議具備無偏見性和不可預測性的道理和RandShare以及門限簽名都類似:一旦達成共識,輸出已經被確定了,只不過要等到至少2/3的節點用各自公鑰將加密的那部分揭露,大家才能看到輸出結果。
如果要考慮一些特殊情況以及可能的惡意攻擊,協議可能變得稍稍復雜中有節點生成無效的糾刪碼,系統需要有能力應對),但總的來說整個協議還是十分清爽,涵蓋了所有證明和相關密碼學原語和引用的論文篇幅僅7頁長。如果你想了解算法更為規范的描述,或是對其活性和防御性的分析,請務必閱讀我們的論文。
當前NEAR協議架構已經應用了類似的糾刪碼思想,系統中區塊生產者會在特定時期內創建一些分塊,其中包含了對于某一特定分片的所有交易,然后將分塊進行糾刪碼編碼后的版本附帶默爾克證明發送給其它區塊生產者,以保證數據可用性。
結語
我們正在努力編寫一組主題為區塊鏈協議及相關內容的高質量技術文章,本文是其中一篇。除此之外,我們還制作了一系列面向其它協議創始人和核心開發者的視頻,目前已經錄制了針對包括EthereumSerenity、Cosmos、Polkadot、Ontology、QuarkChain在內多個項目的視頻。為了便于查看,所有視頻都已經被打包進了這個播放列表。
如果你對NEAR協議背后的技術感興趣,請務必研讀上文提到的那篇分片論文。NEAR是少數幾個在分片中解決狀態驗證和數據可用性矛盾的協議,并且該論文在給出我們的解決方案之外,還提供了一個針對分片的更為開闊、通用的視角。
今時今日,雖然擴容是區塊鏈中的大挑戰,但可用性難題或許更值得大家關注。我們團隊對此傾注了大量資源,努力構建更可用的區塊鏈系統。最近我們發表了一篇概覽,介紹了當今區塊鏈協議面臨的種種可用性挑戰,以及對應的探索路線。
Twitter關注,不迷路!也歡迎來我們的Discord頻道暢所欲言,無論是技術、經濟、治理或是協議設計中的其它方方面面,我們都會進行熱烈而精彩的討論。
原文鏈接:
https://nearprotocol.com/blog/randomness-in-blockchain-protocols/
作者:AlexanderSkidanov
翻譯&校對:安仔Clint&阿劍
本文由作者授權EthFans翻譯及再出版。
尊敬的用戶: 幣鑽OnFire旨在在全球領域對多個區塊鏈項目進行跟蹤評估,挖掘優質的區塊鏈項目應用,集聚幣鑽生態資源,推動優質區塊鏈項目的快速發展與落地.
1900/1/1 0:00:00近段以來,FUBT頻繁接到舉報:有不明身份人士惡意冒充FUBT官方客服名義,并通過電話、短信、社交軟件等各種方式欺騙用戶。對此,我們表示強烈譴責。同時鄭重提醒如下.
1900/1/1 0:00:009月23日,即三天后,被視為“2019年最大利好”的Bakkt即將登場,芝加哥商品交易所或將迎來一個勁敵.
1900/1/1 0:00:00親愛的大幣網(Dcoin)用戶:FWC將于9月20日上線大幣網(Dcoin),具體時間安排如下,邀請您體驗!9月20日11:00FWC開放充幣9月20日15:00?FWC/BTC開啟交易.
1900/1/1 0:00:00你想成為比特幣”巨鯨”嗎?你想在加密貨幣市場里呼風喚雨嗎?別急,雖然現在你手頭上的比特幣不足以讓你成為比特幣”巨鯨”,但未來能夠影響市場的比特幣數量可能要比今天少得多.
1900/1/1 0:00:00金融時報周二刊文稱,中央銀行不應發行數字貨幣,因為其沒有能力與個人客戶打交道,并且還涉及合規性檢查等問題。文中稱,最近加密貨幣開發商正在開始關注加密貨幣的穩定性,這是他們此前一直所回避的.
1900/1/1 0:00:00