買以太坊 買以太坊
Ctrl+D 買以太坊
ads

區塊鏈:如何利用門限簽名來生成隨機信標?_區塊鏈的三個基本特征

Author:

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

編者按:本文來自:以太坊愛好者,作者:ALEXANDERSKIDANOV,翻譯&校對:IANLIU&阿劍,Odaily星球日報經授權轉載。

回顧2015,DFinity項目提出了令整個社區都為之興奮的隨機信標方案——使用BLS門限簽名產生隨機輸出,同時保證輸出的無偏性及不可預測性。然而,時至2020年的今天,構建無偏且不可預測的隨機信標仍然困難重重,還在研究的項目少之又少。其實門限簽名只是構建隨機信標的可行方法之一,我們前面發表過一篇概覽文章,介紹其他可能的解決方法,其中包含本文要重點提到的一種。其他細節——隨機信標是什么?什么是無偏性及不可預測性?除了門限簽名還有什么方法——這些問題都能在上述概覽中得到解答。經過了多次設計迭代,我們最終提出類似DFinity的方案,這也是我們進一步深入理解隨機信標的大好契機。本文將以淺顯的形式,講述門限簽名生成隨機數的一系列協議。密碼學基礎知識

為了更好地了解本文中提到的隨機信標,我們需要掌握一些基礎密碼學知識。首先,我們必須區分兩個概念:1.在本文中以小寫字母表示標量,或者說普通常量;2.用大寫字母表示橢圓曲線上的點。我們不需要對橢圓曲線點了解得很透徹,只要掌握下面兩點:橢圓曲線點可以相加,也可以跟標量相乘,然后得到另一個橢圓曲線點。即使知道G和xG的值,也不可能計算出x的值。在本文中,我們還將用到k-1階多項式p(x);關于p(x),你不用想太多,只要把它當成一個方程就好,而且:只要你知道在k個不同的x下p(x)的值,你就能推導出所有x的p(x)值。以此類推,對于同一個函數p(x)和基點G,如果你知道p(x)G代入k個不同的x值后的值,就可以推導出所有x所對應的p(x)G值。只要明白了有關橢圓曲線點的這些屬性,就能深度理解隨機信標的工作原理了。隨機信標

烏克蘭危機全面爆發會如何:高盛預測納斯達克大跌近10%:2月21日電,高盛估計,標普500指數在俄烏危機全面爆發中的下行空間為6.2%,若降溫則有5.6%的上漲潛力。以Dominic Wilson為首的策略師預計納斯達克有9.6%的潛在下行空間,反之有8.6%的潛在上行空間。(財聯社)[2022/2/22 10:06:59]

假設1:系統中有n個參與者,至少需要其中的k位才能產生隨機數。就算控制其中的k-1人,你也不能預知隨機信標的輸出結果、無法操縱結果。

假設2:現在有個k-1階多項式p(x),參與者1知道p(1)的值、參與者2知道p(2)的值、……、參與者n知道p(n)的值;大家約好使用G作為橢圓曲線基點,所有參與者都知道p(x)G代入所有x的值。我們將p(i)視為參與者i的“私人份額”,而p(i)G是其“公開份額”要設計好的隨機信標,最困難的部分,就是要找到這么一個多項式,使得每個參與者都能知道自己的私人份額,但是無法知道他人的私人份額——這也被稱為分布式密鑰生成。DKG會放在下個章節討論,現在就先假設存在這么個多項式,而所有人都知道各自的私人份額。我們接著討論,如何使用這套假設在區塊鏈協議中產生一個隨機信標?假設網絡產生一個區塊,區塊哈希為h。現在參與者們想用h作為種子以生成隨機數,首先用約定好的函數,將h轉換為某條橢圓曲線上的一個點:H=scalarToPoint(h)對于參與者i來說,因為他知道p(i)和H,所以可以自行計算出H_i=p(i)H。對外公布H_i并不會導致參與者i的私人份額p(i)暴露,因此在每個區塊中都能重用同樣的私人份額,因此DKG只需要進行一次。根據前面提到的第三點特性,當至少有k位參與者公布他們各自的H_i=p(i)H之后,其他人就能知道代入任何一個x之后,H_x=p(x)H是什么。然后所有參與者都可以在自己本地計算H_0=p(0)H,并以這個結果的哈希值作為隨機信標的輸出;請注意,因為沒有參與者知道p(0),所以唯一能得到p(0)H的方法就是對p(x)H進行內插法計算,要完成內插計算需要知道至少k個p(i)H的值。如果公布的人不足k位,則其他人無法推出p(0)H的值。

Life預言機協議:正在探索如何把真實數據存儲在Filecoin網絡:北京時間2021年5月18日15時,Life預言機協議官方發布博客表示正在探索如何把真實數據存儲在Filecoin網絡。Life去中心化數據預言機協議啟動于2017年,旨在實現區塊鏈與現實世界的數據可信交互。Life是一個集成了智能合約、加密算法、通證經濟以及各種API的綜合性去中心化預言機網絡。生態參與者可依靠智能硬件采集設備進行海量數據收集,后端接入Life完成數據的加密存儲、確權和自由流轉。目前Life與可信硬件廠商的合作開發已經進展到了最后的階段,相關可信硬件(數據采集設備)已經研發完成,不久將會上市。Life技術團隊目前正基于Filecoin網絡完善相關的API,以實現可信硬件采集的數據可直接上傳至Filecoin網絡。[2021/5/19 22:20:00]

基于此技術構建的信標延續了這些我們所需的特性:如果攻擊者只掌控了少于k-1位參與者,則他無法操控隨機信標的輸出;其他k位參與者才能計算出最終輸出,他們的子集或其他更多的參與者,都能得出相同的輸出。我們還忽略了一件事。為了使用插值法計算p(0)H,必須保證參與者i所公開的H_i真的等于p(i)H。但是因為除了參與者i,其他參與者都不知道p(i)是什么,所以沒法直接驗證參與者i公布的H_i是否的確等于p(i)H;如果不要求為H_i附上密碼學證明,攻擊者可以直接聲稱某個H_i的值,而其他人沒有辦法辨別真偽。

美國貨幣監理署新署長:期望進一步了解銀行與加密貨幣機構如何相互作用:美國貨幣監理署(OCC)新署長Brian Brooks表示,OCC正尋求與銀行和加密貨幣機構的行業領袖進行更多的對話,期望了解如何進一步促進雙方相互作用。他表示加密貨幣機構需要銀行服務,他們需要跨銀行通道進行交易的。他期望進一步了解有關加密貨幣對銀行的需求以及銀行對加密貨幣的需求,因為他們確實想在這方面有所作為。OCC是美國財政部的主要銀行監管機構,Brooks于3月份離開Coinbase,加入OCC并擔任首席法律官。(Cointelegraph)[2020/6/5]

有至少兩種密碼學證明辦法,可以用來判別H_i的真偽。我們會在聊完DKG之后介紹。分布式密鑰生成

根據前面章節對隨機信標的介紹,我們需要n位參與者共同使用某個k-1階多項式p(x),使得每個參與者i知道自己的p(i),而其他人無法得知。下一步,需要所有參與者都知道:給定G時,所有的x所對應的p(x)g值。在本章節,我們假設每個人都有自己的私鑰x_i,而且其他人都知道x_i對應的公鑰X_i。那么運行DKG的一種方式如下:

聲音 | 王小云:區塊鏈技術創造性地解決了如何在無許可環境下達成共識的問題:12月7日,由中國科學院學部主辦的“區塊鏈技術與應用”科學與技術前沿論壇在深圳舉行。中國科學院院士、國際密碼協會會士王小云在題為“Hash函數與區塊鏈技術”的演講中表示,密碼是保障網絡與信息安全的核心技術和基礎支撐,加密算法、數字簽名算法和Hash函數是密碼學三類基礎算法,其中Hash函數是區塊鏈的起源性技術。她指出,區塊鏈技術的出現,創造性地解決了如何在無許可環境下達成共識的問題。區塊鏈共識協議的一致性,確保了所有用戶記錄的區塊鏈數據相同;鏈增長速度,確保了區塊鏈區塊數量增長速度的穩定;鏈質量,確保鏈區塊鏈中敵手生成的區塊數量不超過可容忍比例。[2019/12/7]

每個參與者i在本地運行k-1階多項式p_i(x)的計算。接著用公鑰X_j將每個p_i(j)加密,并發送給對應的參與者j。如此一來,只有參與者j能解密出p_i(j);參與者i還要公布所有p_i(j)G,j∈1~k。所有參與者要對一個至少由k個多項式組成的集合達成共識。因為有些參與者可能掉線,所以他們不可能等到n個驗證者都作出如此承諾再進行下一步;只要至少k個驗證者都作出“收到至少k個這樣的多項式”的承諾之后,他們就可以使用某種形式的共識算法對他們所收到多項式的子集Z達成共識。所有參與者共同驗證加密的p_i(j)與公開的p_i(j)G是否對應,并從Z中移除不合格的多項式。對于集合Z中的每個多項式p_i(x),每個參與者j自行計算p_i(j)的總和作為私人份額p(j);同樣的,對于集合Z中的每個p_i(x)G,參與者可以計算p_i(x)G的總和作為公開份額p(x)G。

動態 | 社科院法學所刊文《對“去中心化”的區塊鏈如何監管》:中國社科院法學所趙磊在《經濟參考報》發表題為《對“去中心化”的區塊鏈如何監管》的文章。文章指出,對區塊鏈技術的監管,應該分為兩個層面:一是結合區塊鏈技術的具體應用場景,分行業進行監管;另一是針對區塊鏈,制定專門的技術標準,以實現區塊鏈技術的規范、統一。而判斷某種商業活動或者社會管理活動是否可以應用區塊鏈,至少應該從以下兩方面進行衡量:一方面是區塊鏈技術只能在虛擬空間中應用;另一方面是區塊鏈技術無論在何種場景中應用,必須符合其去中心化、共識機制與分布式記賬等技術特征。[2019/1/10]

因為p(x)是每個獨立的p_i(x)的總和,每個p_i(x)都是k-1階多項式,所以要觀察p(x)是否也是k-1階多項式。其次要注意,每個參與者j只知道p(j)的值,但不知道其他p(x)的值。實際上,為了知道p(x)的值,TA需要知道所有的p_i(x),只要至少一個被承諾多項式的值屬于未知,TA就不可能知道p(x)。上述步驟組成了完整的DKG過程。步驟1、2、4相對直觀,但第3步就比較復雜了。具體來解釋第三步——我們需要找個方法,證明每個加密的p_i(j)與公開的p_i(j)G存在對應關系。如果沒有這種驗證,攻擊者i可以向參與者j胡亂發送消息,而不是發送正確的加密p_i(j),導致參與者j無法進一步計算自己的私人份額。雖然有辦法可以制作出加密份額的形式正確性密碼學證明。但是,這樣的證明數據過大,并且要向全網公布這樣的證明,時間復雜度可能高達O(nk),證明的size是嚴重的瓶頸。在NEAR協議中,我們不去證明p_i(j)與公開的p_i(j)G的關系,而是在DKG過程中給予每個參與者充分的時間,去證明“他們收到的p_i(j)與公開廣播的p_i(j)G對不上”。協議中假設每個參與者在窗口期內至少會上線一次,而他們提交的挑戰就能進入區塊鏈。對于區塊生產者來說,這兩個假設都很合理,因為要做區塊生產者,一般來說在整個epoch中都要在線;如果大多數區塊生產者密謀不接收這條消息,其實整個系統就已經不安全,攻擊者其實有更好的方式攻擊整個系統。

假如某個區塊生產者收到無效的公開份額,而且沒有及時在DKG過程中提出挑戰,則該礦工也無法在該時段中參與隨機數生成。請注意,只要其他k個誠實的參與者都能正確計算出份額,協議仍將正常運作。證明

還剩下最后一個問題:我們如何以不透露p(i)為前提,證明自己公布的H_i等于p(i)H?回想一下,每個參與者都知道H、G、p(i)G的值。在給定p(i)G和G的情況下回推p(i)的運算被稱為離散對數問題,又簡稱為dlog。那么每個參與者想做的都是:既能向他人證明dlog(p(i)G,G)=dlog(H_i,H),又不會透露p(i)。的確存在這么一種方法構建上述證明,其中之一就是——Schnorr協議;通過Schnorr協議,參與者能在發布H_i時附上H_i的正確性證明。回想一下,隨機信標連的輸出是H_0的內插值。對于沒有參與生成隨機信標輸出的人來說,除了H_0,還需要哪些信息來驗證這個值的正確性?因為每個人都能自行在本地計算中加入G_0,所以只要證明dlog(G_0,G)=dlog(H_0,H)就行了。但因為信標的特性,我們無法得知p(0),也就無法通過Schnorr協議生成這樣的證明。所以如果你要向其他人證明H_0的正確性,就必須保留所有H_i的值及其相應的證明。不過,好消息是,如果有些計算類似于橢圓曲線點乘法,則只需驗證H_0×G=G_0×H即可證明H_0的計算正確無誤。如果所選的橢圓曲線支持橢圓曲線配對運算,則這種證明是可行的。在這種情況下,任何知道G,H和G_0的人都可以核實H_0;而且H_0也可視作一個集體的多重簽名,證明區塊n的正確性得到至少k位參與者的檢查認證。目前我們還未在NEAR中使用橢圓曲線配對運算,但未來我們可能會使用,然后利用上文討論的小技巧取代我們當前使用的單一簽名方法。另一方面,DFinity使用BLS簽名,可以利用配對運算來實現上述簽名。

Tags:區塊鏈OINLIFLIFE區塊鏈的三個基本特征MasternodecoinLIFTVirtual life

比特幣行情
比特幣:投資大佬Tim Draper為何對比特幣如此著迷?_GRAPE

據U.Today報道,風險投資家TimDraper于美國時間3月1日發文描述了如果他當一天總統,美國會是什么樣子.

1900/1/1 0:00:00
COI:印度加密行業求生記:破除印度央行禁令的23個月_數字貨幣

編者按:本文來自中本小蔥,作者:耀平,Odaily星球日報經授權發布。2020年3月4日,印度最高法院取消印度儲備銀行針對加密貨幣的禁令,并裁定,2018年4月6日的印度儲備銀行通函違反憲法.

1900/1/1 0:00:00
區塊鏈:一文看懂區塊鏈可擴展性解決方案_DAG

本文轉載翻譯自Hackeroon 事實證明,可擴展性是當今主流世界采用區塊鏈技術的最大障礙。盡管就安全性和去中心化程度而言,比特幣是無可挑剔的,但就可擴展性而言,卻還不盡如人意–與Visa的17.

1900/1/1 0:00:00
ETHE:抄底的時機到了嗎?Tether已新增6000萬個USDT庫存_ETH2

編者按:本文來自巴比特資訊,作者:NamrataShukla,譯者:夕雨,星球日報經授權發布。比特幣在過去兩天內的價格下跌了17.16%,震撼了整個市場,但是,加密貨幣市場下跌的同時,股票市場也.

1900/1/1 0:00:00
區塊鏈:如何“減震消災”?頭部數字貨幣機構的風控之道_數字貨幣

文|黎哲翁編輯|畢彤彤出品|PANews風險是一個舶來詞,源于意大利語“RISQUE”意味著大自然中的客觀危險。而在現代社會,風險與其說是一種命運,不如說是一種選擇,它取決于我們選擇的自由程度.

1900/1/1 0:00:00
KBL:一個區塊的信用_最新版blockchain錢包

內容來源:NEST愛好者,作者:九章天問區塊鏈的匿名特性使得“信用”這個概念變得多余,所有鏈上的借貸和杠桿,都需要足額抵押,即使有人另辟蹊徑,希望通過某種“身份”資產建立一種弱信用.

1900/1/1 0:00:00
ads