買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 瑞波幣 > Info

NULS:VOICE商業 | NULS王志堅:如何生成安全又公平的隨機數?_DAPP

Author:

Time:1900/1/1 0:00:00

出品/CoinVoice

文/Daisy

據福布斯報道,近日區塊鏈和加密貨幣的堅定支持者、前比特幣基金會主管BrockPierce對2019年的區塊鏈和加密貨幣做了一些預測。Pierce認為,2019年將有多個DAPP的用戶達到100萬。

然而,令人擔憂的是,隨著DAPP應用和數量的不斷增長,多個EOS和以太坊平臺DApp因為隨機數生成漏洞被黑客攻擊的情況也層出不窮。比如此前EOS的Luckyos、EOS.Win、EosDice以及以太坊上的Fomo3D等被攻擊事件。該類事件對公鏈的應用探索和推廣造成了一定的沖擊。

針對這種情況,近期CoinVoice邀請到了NULS核心團隊技術產品部負責人王志堅,作為COINVOICE商業第五期公開課的嘉賓,聽他講述為Dapp而生的公鏈底層隨機數機制是什么樣的。

NULS是一個提供可定制化服務的區塊鏈基礎設施,采用微服務思想,實現高度模塊化的底層架構,運用模塊倉庫、智能合約和跨鏈等技術,同時結合鏈工廠快速搭鏈的能力,降低區塊鏈開發成本,推動區塊鏈商業應用落地。

聲音 | Voice:盡可能擺脫付費機器人的影響 保持內容的真實性:Voice 官方發推表示,社交媒體上的付費機器人會影響你看到的內容。這就是為什么我們要擺脫它們,保持內容的真實性,使你閱讀的內容更加真實可信的原因。[2020/2/21]

本期COINVOICE商業公開課的直播嘉賓王志堅擁有10年的編程經驗,長期從事應用研究和開發,精通區塊鏈、大數據,精通大型并發系統架構,目前是NULS主網的核心設計者、開發者。

以下為直播分享實錄:

大家好,我是NULS王志堅,很高興可以借助CoinVoice的渠道給大家分享下NULS的技術細節,在NULS最近的一個1.2.0版本中,我們做了一項底層協議升級,增加了一種隨機數支持機制。這個隨機數支持機制是為了解決DApp中隨機數安全與公平的行業問題而提出的,下面我就詳細的說一下這個機制。

當前行業的問題

隨著DAPP越來越受到開發者和用戶們的青睞,運行在區塊鏈上的DAPP越來越多,不可避免的暴露出一些問題,比如很多、游戲、抽獎活動、密碼應用項目中,雖然標榜自己的去中心化特性,但實際上是不是真的安全、公平,并不能百分之百地保證,核心問題就是去中心化隨機數問題。

目前大部分用到隨機數的DAPP中,使用的隨機數都不能做到既保證公平,又能讓黑客無法根據隨機過程提前預測或者控制隨機結果。

聲音 | BB:Voice新任CEO Salah的領導力將改變協作新聞業的格局:Block.one 首席執行官Brendan Blumer今日發布推特表示:剛剛和我們Voice的CEO Salah Zalatimo 在紐約Voice總部度過了激動人心的一天。Salah的領導力將改變協作新聞業的格局,其愿景是為公眾配備以前只能由專業人員訪問的強大發布工具。(MEET.ONE)[2020/1/31]

那么可能很多人就會問,就一個隨機數而已,能有多困難?計算機行業發展這么長時間又不是沒有用過隨機數?怎么突然就成了一個難題了。

實際上隨機數從來都是計算機行業中一個重要的領域,對隨機數的研究很早就開始而且從沒有停止過。傳統的隨機數一般是從CPU獲取內存地址等處獲取隨機種子,使用特定的隨機算法生成結果,這種方式叫做偽隨機數。

可能有人就要問了,偽隨機數聽起來就不怎么好,那真隨機數呢?計算機的世界里就沒有真隨機數,什么是真隨機數?

舉個例子,當人不知道走哪個方向的時候,朝天上扔一只鞋,然后鞋尖指著哪個方向就往哪里走,這就是真隨機數,但是在計算機行業中,這個在計算機中是做不到的。

雖然偽隨機數解決了計算機隨機數的問題,但和區塊鏈結合起來就不行了,區塊鏈的特點決定了其并不能簡單的使用傳統的隨機數,這個特點就是分布式共識,需要在多個不同的機器中得到相同的結果,這就是它最大的難點。

動態 | BM:Block.one在社交應用Voice上已投資1.5億美元:據theblockcrypto報道,Block.one聯合創始人兼首席技術官Dan Larimer在接受采訪時表示,該公司在開發區塊鏈社交應用Voice上已經投資1.5億美元。據悉,Block.one曾經通過ICO獲得了超過40億美元資金,如何花這筆錢一直頗受市場關注。 此前區塊鏈投資機構Multicoin創始合伙人Kyle Samani曾發推質疑Block.one的燒錢速度。Samani稱,如果Block.one通過ICO融資了40億美元,現在的資產負債表上有32億美元的資產,那么這家有200名員工的公司如何在兩年時間里花掉了8億美元現金?而Staked.us聯合創始人Jonathan Marcus則表示,Block.one花費的那8億美元中,最少有5.3億美元用于股權回購,因為Block.one過去兩年共進行了兩次股權回購,一次花費了3億美元,最近又回購了2.3億美元的股權。 據Odaily星球日報早間消息,知情人士透露Block.one正在進行另一次股權回購,以吸引更多戰略投資者。[2019/6/7]

當前行業的解決方案

雖然是難點,但不是沒有解決的道路。針對這一情況NULS團隊成員調研了當前行業中的大部分解決方案,總結了下面幾種運用最廣泛的區塊鏈隨機數使用方式:

聲音 | BM:Voice 不僅是 B1 的基礎,也是社區的基礎:BM 剛剛現身電報群簡單介紹了 Voice 的玩法和其廣告價值,同時解答了社區成員的疑問: 1.有人問:它會不會變得像 Steemit 一樣?BM:不會,真實身份驗證將最大程度地減少像 Steemit 一樣的機器人濫用; 2.此外,我們還有許多未宣布的關于 Voice 的計劃。Voice 不僅是 B1 的基礎,也是社區的基礎,其他的 DApp 也可以建立在 Voice 賬戶上,這意味著用戶也將注冊這些應用; 3.有人問難道你不覺得 KYC 會讓用戶變少嗎?BM:它可能會改變社交方式,也許這會它變得更容易接受。許多人避開 twitter 和 Reddit,因為他們受到匿名噴子的騷擾,沒有任何尊重可言; 4.有人問到 Voice 會有年齡的限制嗎?BM:至少 18 歲。[2019/6/5]

1、使用鏈上數據作為隨機種子

主要是使用區塊hash、時間、交易時間、交易hash、交易數量等等內容,采用公開的,所有節點認可的算法,將鏈上數據聚合為隨機種子,再通過約定好的算法生成最終隨機數。

2、中心化的隨機數服務

區塊鏈上的應用通過訪問中心化的服務獲取隨機數,代表:以太坊上的Oraclize。

3、多方參與的隨機數生成器

聲音 | BB:B1 有上億廣告預算,并有計劃吸引 KOL 加入 Voice:昨日晚間,Block.one CEO BB 在電報群繼續解答社區對 Voice 的疑問,要點如下:

1.我們希望 Voice 能在各個國家通用,每個國家都有不同的規則,這意味著我們必須考慮提供服務的任何司法管轄區的法律,并根據需要修改或限制產品;

2.通過發布會來宣布產品是一種主流的宣傳方式,我們選擇按照經驗證的最佳實踐來操作。Voice 正在準備分發其 token,我們需要在產品正式上線前為人們預留注冊時間。Voice 旨在成為歷史上分布范圍最廣、分發條件最公平的 token,我們認為,最大程度地發揮 token 的力量,是破壞現有網絡效應的關鍵;

3.產品很快就會上線,否則我們不會選在這時公布。我們也和大家一樣對社區的聲音非常敏感。鑒于這個行業不斷變化的監管,我們很難提前做出任何承諾,比如在哪些地區提供服務和上線日期;

4.我們在不斷前進,但也很關注社區的情緒,我們會將大家的反饋融入到產品設計當中;

5.傳統社交媒體通過銷售關注或廣告來盈利,而 Voice 尋求將平臺獲得的價值或受益人權益返還給用戶,將平臺利益與創造平臺價值的人(用戶)一一聯系起來,這是對現有商業模式的顛覆;

6.面對社區成員對于 Voice 能否獲得大規模采用的擔憂,BB 回復:B1June 的活動受眾是社區,而不是普通大眾。社交媒體是由有影響力的人(KOL)控制的,他們會通過加入 Voice 來賺錢。我們有數以億計的廣告預算,并有計劃吸引這些 KOL 加入。我們會在做好準備時展開營銷(推廣 Voice)。[2019/6/5]

確定一個隨機數生成周期,然后每個參與方提交最終結果的一部分,最后通過一種算法生成一個隨機種子。參與者隨時可以退出和加入。

4、交互式的隨機數生成機制

所有使用同一個隨機數的用戶,都提交一個密鑰,在第一次提交時,提交密鑰加密后的密文,在業務完成后提交密鑰的明文。這樣最終的結果通過所有提交的密鑰生成隨機種子,在根據隨機種子生成最終的隨機數。

其他的方式也基本是這四種方式的變種或者優化版本,下面我就說一下這幾種方式的優缺點:

1、使用鏈上數據作為隨機種子

這種方式的優點就是簡單,只要拿到鏈上數據通過算法計算就可以了,缺點:這種方式有兩種使用方式,一種是使用已打包的區塊中的數據,另一種是使用未來塊中的數據。

第一種情況因為已經出塊,那么只要知道了隨機數的計算函數,就可以提前預知最終的隨機數結果,第二種情況,以為區塊尚未打包,那么就可以在打包時候對其結果進行控制,可以通過各種手段使其最終生成的結果更符合攻擊者的預期。

2、中心化的隨機數服務

這種方式很顯然,它是違背區塊鏈思想的,至少是違背一條公鏈的思想的,而且也不能保證服務提供者一定是誠實、公正的。

3、多方參與的隨機數生成器

這種方式理論上是可行的,首先它是去中心化的、公開的,是符合區塊鏈思維的,但是在實際場景中卻不容易實施。

首先參與者需要有利益才會提供服務,沒有利益沒有參與者就違背了去中心化的設計初衷,如果對參與者給與獎勵就需要有獎勵提供者,表面看使用者提供費用是可行的,但實際又增加了使用者的成本。所以方法是很好的方法,但實際使用還是有非常大的限制。

4、交互式的隨機數生成機制

這種方式看起來也很好,很公平。但放在實際使用場景中就會發現,用戶使用這種方式的話,需要每個用戶對隨機數做兩次操作,這是非常不友好的行為,很可能招致用戶的厭煩。

針對上面的調研情況,NULS團隊討論了幾種機制解決這些問題,最終采用的方案是由團隊的高級架構師周利均提出來的,下面我就仔細說說NULS的隨機數機制。

NULS的解決方案

NULS采用POC共識,參與共識的節點在滿足條件的前提下,是持續參與網絡維護的,并且參與出塊的節點中絕大部分都被認為是誠實可信的,我們可以利用這個優勢,制定一個隨機種子生成機制,服務于在NULS上搭建的DAPP。

此隨機種子需要滿足隨機性、不可預測性,做到既保證公平公正,又能讓黑客無法根據隨機過程提前預測或者控制隨機結果。

機制內容

我們的設計的實現方式是基于POC共識的兩段式提交的隨機種子生成機制。即每個節點在出塊的同時生成一個隨機種子,并對該隨機種子進行加密處理,將生成的密文包含在區塊頭中,同時獲取該節點上次出塊時生成的隨機種子,將該種子的明文包含在區塊頭中。

如此這般每個節點生成的隨機種子都由前一個本節點出的塊進行確認,確保不可隨意篡改。

這樣做的效果就是每個塊中都有一個256位的明文隨機種子,同時對于出塊的節點來說,還把未來自己打包的下一塊的隨機種子提前做了確定,這樣其他人是不知道未來的隨機數種子是什么的,但不影響未來其他節點可以對隨機數種子進行驗證,這就保證了沒有人可以控制隨機種子的生成。

從使用者的角度來看,NULS底層只是在每個塊中包含一個256位的隨機種子,使用者可以不去考慮隨機種子是否值得信任,是否可能被操控,因為這是底層機制保證的。

如何使用

NULS底層提供了多個接口,可以獲取不同高度不同數量的隨機種子,也可以通過制定的幾個算法,獲取若干個隨機種子合并生成的256位隨機數,當然也可以把這個結果當成一個隨機種子再通過不同的方式進行計算獲得最終需要的結果。

具體的隨機數使用文檔可以參考NULS的文檔庫,查找rpd接口和智能合約接口的使用文檔:http://docs.nuls.io/

機制優點

本方案的優點:

1、更公平,基于底層共識實現,全部共識節點參與,串聯難度大。

2、更安全,種子Hash與明文種子兩段式提交,提交Hash時不能計算結果,提交結果時不能篡改。底層直接提供接口獲取隨機種子,隨時可以根據參數進行驗證。

3、更靈活,隨機種子計算方法支持多種算法,增加隨機算法復雜度,提高作惡成本。

4、更方便,底層直接提供接口獲取隨機種子,應用端使用時方便獲取,安全、高效。在提供智能合約SDK接口的同時,還提供RPC接口的訪問方式,不限制應用的使用場景。

5、不影響擴展性,NULS這是提供了這樣的機制,并不限制應用一定要使用或者如何使用,NULS上搭建的DAPP一樣可以用其他隨機數獲取方案。

任何一個機制或者方案,總是會有它合適的使用場景和不合適的使用場景,那我說一下NULS這個機制適合在什么場景下使用。

最適用場景

未來結果型場景,指定未來高度為n附近的隨機種子,合并生成最終的結果。這種場景使用NULS底層隨機種子,最多可以讓全部共識節點參與其中,可以說完全保證了算法的安全性和公平性。

比如近年來政府推廣的雙隨機系統,在區塊鏈中實現的話就可以使用NULS的機制,首先輸入待選定的資料庫,指定結果生成高度,在指定高度根據隨機種子計算出最終需要的結果,不可操控,不可篡改,非常完美的解決了當前一些系統可操縱,可篡改的問題,真正做到使用區塊鏈讓世界更美好。

機制不是萬能的,使用者很重要

任何機制都不是萬能的,使用者如何使用才是安全、公平的關鍵。不論是智能合約還是其他方式的鏈上應用,都應該謹慎選擇自己的隨機數機制,考慮到各種不同的情境下的安全問題,

只要所有開發者都認證起來,任何問題都可以解決。

以上就是NULS最近升級的底層隨機數機制,感謝!

本文為CoinVoice優質原創內容,CoinVoice是領先的全球化區塊鏈媒體,專注原創、深度、優質的區塊鏈內容,致力于鏈接全球范圍內的區塊鏈創新者。

Tags:NULS區塊鏈DAPPNULS幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢DAPP價格DAPP幣

瑞波幣
BTC:千騰商學院|央行700億元人民幣逆回購操作 大盤有所回升_SNX

1、巴比特綜合指數:大盤有所回升,山寨幣表現較強截至6月4日10時,巴比特綜合指數報13687.49點,24小時漲跌為1.91%,點位高于納斯達克綜合指數.

1900/1/1 0:00:00
SEC:這就是為什么LBRY的判斷與瑞波幣與SEC無關的原因_SEC幣是什么幣

LBRY的裁決會對RippleLabs與美國證券交易委員會之間的法律斗爭產生什么影響?這是律師約翰·E·迪頓試圖澄清的問題,他在法庭之友簡報中擁有75,000名XRP投資者.

1900/1/1 0:00:00
USDT:OKEx公鏈上線在望,OKB九月表現引領平臺幣_OKT價格USDT幣

DeFi進入2.0后,主流數字貨幣交易所接過發展的主動權,從上線DeFi幣種、參與流動性挖礦、推出“IEO+挖礦上幣”等多方面著手,全面構建“CeFi+DeFi”的復合型加密生態.

1900/1/1 0:00:00
比特幣:千騰商學院|億邦國際登陸納斯達克,成區塊鏈第二股_區塊鏈

一、市場熱點 國內市場 1.偵破涉案4.8億元跨境非法支付平臺案涉案人員自創“火牛幣”進行內部結算在深入推進“凈網2020”專項行動和網絡重案攻堅專項行動中.

1900/1/1 0:00:00
MEM:MEME過后,誰將引爆NFT下一個大潮?_MEME幣是什么幣MEM幣

出品:CoinVoice MEME創新的將DeFi流動性挖礦模式移植到NFT板塊,隨著MEME幣價回落,大家都翹首以盼誰將引爆NFT下一個大潮?自9月初加密貨幣市場開始震蕩下行.

1900/1/1 0:00:00
ETH:千騰科技|BTC24h成交額為$987億_BTC

1、1inch將于1月9日開啟新一輪流動性挖礦計劃1inch宣布將于UTC時間1月9日零點開啟新一輪流動性挖礦計劃,并將流動性協議升級至1.1版本,以完善治理流程.

1900/1/1 0:00:00
ads