買比特幣 買比特幣
Ctrl+D 買比特幣
ads

HTT:一文搞懂可驗證延遲函數 VDF_htt幣價格今日行情

Author:

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

自從以太坊將可驗證延遲函數列入研究計劃并打算在以太坊2.0使用之后,VDF得到了廣泛的關注。VDF這個概念最初由斯坦福大學密碼學教授DanBoneh等人在其論文VerifiableDelayFunction中給出。該篇文章于2018年發表在密碼學頂級會議之一的CRYPTO上。

目前網絡上有一些英文和中文的文章介紹了VDF的概念和原理,但是它們要么無法給出全面直觀的解釋,要么只是粗淺地談論應用。本文試圖通過淺顯的語言和具體的例子來讓對密碼學和群論不夠了解的讀者能夠全面而直觀地理解它的定義和原理。同時,本文還給出了它的可能的應用場景以及目前的研究和應用狀況。

簡介

VDF是一類數學函數,能夠使得該函數的計算需要至少一段已知的時間,即使是在同時使用少量CPU進行并行計算的情況下。

對于未精心設計過的算法,并行計算有可能極大地縮減其計算時間。以比特幣的挖礦算法為例,設0?nonce?232?10?nonce?232?1,如果只有一個運算單元,那么可能需要耗費多達232次SHA-256計算的時間。如果有兩個運算單元,就可以將任務對半分攤,讓他們并行地計算哈希值。最多只需要耗費231次SHA-256計算的時間。同時滿足以下性質:

VDF的結果的檢驗應當是非常有效率的。

唯一性:對于任意一個VDF的輸入,應當有唯一的輸出結果能夠通過檢驗。也就是說,不存在兩個不同的輸出,他們有相同的輸入。如果輸出結果包含“結果”和關于結果的“證明”兩部分,那么證明部分可以不具有唯一性,但需要保證“驗證者因為證明而驗證通過,但是輸出結果卻不是正確的結果”這件事發生的概率小到可以忽略不計。

串行性:攻擊者即使能夠提前計算很長時間,并且擁有很多并行處理器,利用各種計算方法,能夠以少于t的時間計算出VDF結果的概率可以小到忽略不計。

VDF能夠抵抗并行計算加速,這意味著為了計算VDF,應當完成一系列串行才能完成的任務,后一個任務必須依賴于前一個任務。這時,對哈希函數有所了解的讀者可能會想到一種方案:連續將一個輸入哈希tt次。這樣的方案的確是無法通過并行算法顯著地加速的,但是這樣得到的結果,其驗證將會非常沒有效率:驗證者需要重復哈希T次的計算,即使保留一些中間結果,驗證的工作量和計算的工作量也是常數級別的差距。從這個例子我們可以看出,在這樣的定義下,可驗證延遲函數的構造并沒有想象中的那么簡單。

事實上,對于上面并不嚴謹的定義,去掉任何一個性質都會導致我們能夠非常輕易地構造出可驗證延遲函數:

如果不要求驗證結果是高效的,也就是說沒有顯著地比計算結果更快,那么我們可以通過剛才提到的連續哈希的方案進行構造。

1200萬枚SAND從幣安轉至未知錢包:金色財經報道,Whale Alert數據顯示,12,000,000枚SAND(價值8,733,238美元)從幣安轉移到未知錢包。[2023/2/11 12:00:49]

如果我們不需要它保證唯一性,那么早在2013年Mahmoody等人的工作PubliclyVerifiableProofsofSequentialWork就已經實現了這一點。

如果它不保證串行性,那么顯然構造方法就更多了。

與PoW的區別

或許有讀者會感覺VDF和PoW是一類東西,實際上,雖然他們計算起來都不是很容易,但是他們之間有很多關鍵的區別。

PoW不抵抗并行計算加速而VDF抵抗。實際上,PoW不抵抗并行計算加速是符合中本聰的“一CPU一票”的設想的,而抗并行加速的性質只會與這個目的背道而馳。VDF會使得多CPU的計算者和單CPU的計算者相比幾乎沒有什么優勢。

對于固定的難度設定d,PoW可以有很多合法的解,這也是保證PoW共識網絡擁有穩定的吞吐量以及刺激礦工進行競爭的前提。而對于給定輸入x,VDF擁有唯一的輸出。

上述兩條性質決定了PoW直接作為隨機數的來源是有缺陷的,同時,VDF也無法直接替代PoW。但是這并不能說明VDF不可以被用到共識協議里,這一點會在下一個章節詳談。

用途

上一章節我們介紹了VDF是什么,以及它具有怎樣的性質,這一章節我們關注它的用途。

增強公共可驗證隨機數的安全性

區塊鏈上的隨機數一直是一個熱門話題。無論是在一些權益證明共識協議的設計里,還是在智能合約平臺,譬如Ethereum和EOS,上一些非常火爆的游戲類應用,隨機數都占據了核心的地位。同時,很多這些應用中,實際設計的隨機數獲取方案還非常不成熟,以至經常會有應用因為不安全的隨機數而被黑客攻擊的新聞出現。

VDF對于一些從公共來源獲取隨機數的方法非常有用。比如從股票市場或者是從PoW區塊鏈上獲取。這些隨機源擁有足夠的隨機性。但是高頻交易者可以影響股價,同時,PoW區塊鏈的礦工也可以通過不廣播自己挖出的區塊來降低自己不想要的隨機數結果的出現概率。但是這樣的攻擊方式成立的前提條件是攻擊者有時間在其他誠實參與者之前預測出隨機數結果。VDF恰好能阻止這一點。如果將VDF的時間參數tt設置到足夠長,將最新的區塊頭作為輸入扔進VDF中,輸出作為隨機數結果。那么攻擊者只能在10個塊之后才能知道隨機數的結果是什么,那個時候想要再改變結果已經很難了。

此外,VDF也可以增強一些多方參與的隨機數方案。比如Commit-and-Reveal方案中,攻擊者可以拖到Reveal階段的最后再決定是否揭示自己的承諾。如果我們去掉Commit階段,并且協議的最后整合所有人的輸入之后不直接作為隨機數結果,而是放入VDF中,并且將VDF的時間參數tt設置到足夠長,那么即使是最后一刻提交的人也無法知道隨機數的結果,操縱結果也就無從談起。與之相比較,其他的多方參與方案通常最多容忍小于一半的惡意節點,并且交互的開銷要比上述方案更大。

Crypto.com首席運營官Eric Anziani將升任總裁:金色財經報道,加密貨幣交易所Crypto.com官方宣布將Eric Anziani提升為總裁,并繼續擔任首席運營官(COO)。此后,Eric Anziani將監督運營(包括客戶體驗、入職和全球支付),并繼續領導戰略、產品、銷售、國際擴張、數據、研究和區塊鏈整合。[2022/12/27 22:10:28]

解決Nothing-at-stakeAttack

正如上一節所述,VDF可以用于增強隨機數生成方案的安全性,因此,在一些使用了隨機數來選取Leader的共識協議中也可以使用VDF在增強其安全性。一些節約能源的共識協議,例如PoS,空間證明以及存儲證明,為了防止Nothing-at-stakeattack,需要使用隨機選舉每隔一段時間選舉出一個Leader。這些協議使用的隨機數方案大多只在誠實參與者占據大多數時保持安全。利用VDF可以降低這樣的限制到至少存在一個誠實參與者。

什么是Nothing-at-stakeAttack?PoS區塊鏈發生分叉時,共識參與者為了自己的利益會選擇在不同的分叉鏈上同時進行抵押資產參與出塊,這樣分叉鏈有可能會一直存在并且分叉越來越多,嚴重危害系統的一致性,這樣的攻擊被叫做Nothing-at-stakeattack。在PoW鏈上進行這樣的攻擊需要分散算力,因此這樣的攻擊只適用于“節約能源”的共識協議。除了隨機選舉之外,還有一種叫做ProofsofSpaceandTime的方案可以防止這種攻擊。實際上該方案模擬了PoW的挖礦過程:挖出區塊的時間是不確定的,并且每個礦工都在互相競爭成為最早挖出區塊的人。不一樣的地方在于,模擬挖礦過程實際上并不需要消耗大量的并行計算資源,只有在進入挖礦時有一定的門檻。具體來講,整個挖礦過程按照時間順序被分成不同的區間,每一個區間都有一個公共隨機的挑戰c。假設某個礦工擁有的空間單位為N,他需要生成一個證明π來證明他擁有這N單位的空間,并且專門用于該區塊鏈的挖礦,這一點由Proof-of-Space保證。礦工的目標為找到最小的τ=H(c,π,i),1?i?N,然后將c作為輸入計算一個VDF,該VDF的時間參數與τ正相關。這樣的設計中,擁有空間越多的礦工找到更小的τ的可能性更大,同時,VDF保證了一段時間的流逝,使礦工大量分叉需要消耗大量的時間。

減輕Long-rangeAttack

幾乎所有的PoS方案都面臨Long-rangeattack的問題。目前PoS協議依賴于外部的時間戳服務來幫助他們解決這個問題——只要能判斷哪一條鏈更老,就能阻止這樣的攻擊發生。VDF能夠幫助PoS解決這樣的問題。VDF相當于一種時間流逝的證明,對于給定的VDF,該VDF至少需要多久才能得出結果是一個公共知識。因此,只需要在PoS鏈上包含VDF的輸入與輸出即可證明給定區塊的歷史。

數據:公鏈Canto總鎖倉量突破7700萬美元:8月24日消息,據 DeFiLlama 數據顯示,公鏈 Canto 總鎖倉量(TVL)突破 7700 萬美元。[2022/8/24 12:44:50]

什么是Long-rangeAttack?在PoS協議中,任意時刻都有一組權益相關者擁有按照權益多少分配的投票權。PoS假設大多數權益相關者并沒有理由對系統造成破壞,因為這樣反而會損害自己的權益。但是如果這些權益相關者在某一個時間點出售了自己的權益,這樣的激勵對他們來講是無效的。這些已經出售了自己權益的曾經的權益相關者仍然可以在曾經某一個時間點輕易對PoS鏈分叉達到原有鏈的的長度,從中攫取額外的利益,這樣的攻擊被稱作Long-rangeattack。它在PoW上不太可能發生,因為對于PoW來講,無論從哪一個時間點進行分叉,都必須要付出相應的算力才能追上原有的鏈,想要分叉的區塊越多,付出的算力也就越多。但是必須要指出的是,這樣的方法并不是完美的,因為VDF仍然是可以被特殊硬件加速的。如果攻擊者獲得了誠實節點10倍的計算速度,那么這樣的加速對于使用VDF作證明的PoS鏈是不可接受的。

10倍的加速對于隨機數生成的場景無所謂,因為該場景下,不需要保證“攻擊者算得沒有誠實節點快”,只需要保證攻擊者無法在某個時間點之前無法計算出結果即可。從而在隨機數生成的場景,我們可以選取一個足夠長的時間參數,使得攻擊者即使加速也無法操縱隨機數。副本證明

副本證明所需要解決的問題是,服務器如何向客戶端證明自己在某一專門的存儲介質上存儲了指定的數據,即使這樣的數據是可以從別的存儲來源輕易獲得的。注意副本證明是為了證明服務器擁有一份數據的副本,而不是證明它有這樣的數據。舉個例子,云存儲服務提供商聲稱自己為客戶的數據做了額外的兩份冗余備份來保證用戶數據的availability,因此客戶需要為這樣的冗余備份交更多的錢。但是怎么證明云服務提供商有一共三份副本而不是兩份或者只有一份呢?這就需要用到副本證明。一種思路是利用在時間上不對稱的編碼方案,VDF可以做到這一點。身份為id的服務器首先將文件分成b-bit大小的文件塊Bi,1?i?n,然后計算Bi⊕H(id||i)并將結果作為輸入放進VDF計算得到yi,1?i?n,其中H是輸出長度為b-bit的防碰撞哈希函數。服務器存儲所有的yi,客戶端不斷隨機挑選ii進行輪詢要求服務器返回yi,服務器在規定時間內需要響應給客戶端相應的結果,而客戶端可以在很短的時間內通過解碼yi得到Bi完成驗證。如果服務器沒有存儲yi,那么想要正確響應客戶端必須計算yi,然而這樣的計算無法在規定的時間內完成。服務器也可以只存儲一部分yi,由于客戶端是隨機輪詢,每一次服務器成功欺騙客戶端的概率為ρ。只要客戶端重復k次這樣的輪詢,就可以將服務器欺騙成功的概率降到ρk。需要補充的一點是,服務器可以不存儲Bi,由于yi解碼很快,即使只存儲yi也不會太影響性能。

中國移動通信聯合會執行會長:將成立元宇宙創新中心:8月18日消息,2022全球元宇宙大會在上海召開,全球元宇宙大會主席、中國移動通信聯合會執行會長倪健中表示,當前元宇宙正以新理念、新業態、新模式和多產業的發展完美互通融合,逐漸成為重組全球要素資源,重塑全球產業結構,改變全球產業發展的重要力量。“全球元宇宙大會組委會將召集業界組織,共同成立全球元宇宙大會創新中心及中歐元宇宙創新中心。”

此外,本次大會將啟動“靈鏡杯”全球元宇宙城市賽與歐盟創新大賽中歐元宇宙專項賽,并發布首批最具潛力元宇宙入選企業。同時,大會也將協同上海元宇宙發展戰略規劃,啟動中歐協同元宇宙產業基金,發布全球首本《元宇宙白皮書》。(上海證券報)[2022/8/18 12:33:36]

基本原理

既然VDF是一個函數,那么它就必然具有這樣的形式:f:X→Y。為了實現前文所述的功能,即“抵抗并行計算的延遲”以及“可驗證的結果”,VDF中必然包含一個用于計算結果的算法以及一個用于驗證結果的算法。同時,這樣的密碼學工具通常還包含一個配置階段,用來確定后續需要使用的參數。因此,VDF被描述為三個算法的一個三元組(Setup(Setup,EvalEval,Verify)Verify)。

每個算法的定義如下:

Setup(λ,t)→pp=(ek,vk)接受安全參數λ以及時間參數t,生成一個公共參數pp,這個參數是所有人都可以看到的。公共參數pp包含了一個用于計算的參數ek和一個用于驗證的參數vk。

Eval(ek,x)→(y,π)接受計算參數ek和輸入x∈X,計算出輸出y∈Y和證明π

Verify(vk,x,y,π)→{accept,reject}接受vk,x,y以及π,輸出accept或者reject。

如圖1所示我們可以看到VDF通常的運行流程。

圖1:可驗證延遲函數

以上幾個算法有一些需要補充說明的地方:

關于SetupSetup

SetupSetup的運行時間不能太久,它被安全參數λ所限制。

Setup這個階段通常會需要隨機數作為參數以保證安全性,如果隨機數是私下選擇的,也就是不可公開的,那么這個階段就會需要一個可被信任的一方來進行隨機數的選擇,稱之為trustedsetup。相反,如果隨機數可以是公共隨機數,那么這個階段就不需要這樣的trustedsetup。顯然,我們希望盡量避免trustedsetup。

關于Eval

證明π不是必須的,如果僅僅通過y就能驗證的話。

市場預計美聯儲到9月將至少有一次加息75個基點:6月13日,據市場消息,預計美聯儲到9月將累計加息175個基點,其中至少有一次加息75個基點。(金十)[2022/6/13 4:22:23]

在y的計算中,不允許有隨機數的引入,但是在π的生成過程中可以引入。

為了保證串行性,Eval在擁有不超過關于t的多項式對數(Poly-log)個并行處理器時,運行時間必須為t。

為什么Eval要允許一定程度的并行計算達到時間t呢?因為可能并沒有構造能夠完美地讓并行和串行計算時間完全相同,所以我們需要容忍一定量的不太顯著的并行加速。

關于Verify

Verify中不引入隨機數,也就是說,它是確定性算法。

Verify的運行時間要比t小得多,具體來講,他們在運行時間上擁有指數級別的差距。

基于上述定義,VDF還有一些擁有特殊性質的變種:

可解碼VDF:如果對于一個VDF方案,存在一個算法對于任意x∈X能夠從y∈Y反向計算出x,那么這個VDF就是可解碼VDF。在這樣的情況下,證明π是不需要的。當然,一個平凡的構造是,將π放進y里面。

增量VDF:如果在Setup算法中,參數t沒有被唯一確定,而是允許在Eval的輸出之一π中指定,這樣的VDF被稱作增量VDF。一種效果類似的構造是,在Setup中設定t為一個單位的時間,如果想要在計算階段達到不同的延遲時間,例如T=nt,只需要串行n次Eval即可。但是這樣的構造會導致n倍的證明長度,增量VDF不會產生額外的證明。

陷門VDF:如果某個VDF方案存在一個算法,使得知道某一秘密值sk的人能夠通過這個算法迅速由Eval的輸入得到Eval的輸出,那么這個VDF是陷門VDF。更直觀的理解是,陷門VDF有一個后門可以讓人繞過延遲限制迅速算出結果。

弱VDF:如果我們放寬限制,允許“即使在Eval中使用多項式個并行處理器才能在t時間算出結果”這樣的情況出現,這樣的VDF被稱作弱VDF。弱VDF在實際應用中會更加消耗誠實參與者的算力。但如果將VDF用于生成公共可驗證的隨機數,可以將計算任務交給一個誠實參與者,其他參與者等著驗證。這時,這樣的唯一計算者是可能擁有足夠多的處理器的。

一種簡單的構造方式

上文提到了使用連續的哈希操作是一種防止并行的計算加速的手段,但是這樣的手段非常低效,不符合VDF的定義。我們希望能夠找到一種驗證更加迅速的防并行的構造方式。考慮這樣的一個例子:

首先選擇一個數λ=161,然后然后對于任意的輸入x,我們執行下面的操作t次:

計算k=X2

取k除以λ的余數得到l

令k取l,返回第一步,如果是最后一次操作,輸出結果y

假設我們的輸入x=11,t=8那么結果為95,事實上,如果我們讓t取不同的值,把結果都記錄下來,可以得到下述表格:

更一般地講,如果a≡bmodm代表a和b分別除以m的余數相同的話,那么上述操作實際上就是計算:

如果我們知道λ的因式分解,例如161=7×23,那么我們可以通過兩次指數運算來快速計算出y的值。首先計算函數?(161)=(7?1)×(23?1)=132,然后計算2t除以?(161)的余數:

然后計算x124除以λ的余數:

上述過程比起連續平方8次看似沒有減輕多少工作量,但實際上當t和λ非常大時,遠比連續平方快得多。一般地,函數

如果

這個函數被稱之為歐拉函數。上述例子可以一般化為:

因此,如果沒有任何人知道λ的因式分解,也就無法快速計算出?(λ),從而只能重復t次平方操作使用

計算出y。

事實上,這個構造可以使用群論得到更加本質的解釋。我們發現,由于模運算y的值是小于λ的,而所有小于λ且與λ互素的數一起組成了一個群,這個群被稱作整數模λ乘法群,記作(Z/λZ)*。這個群的階,也就是元素個數就等于歐拉函數?(λ)的值。因此,關鍵問題落在了如何生成這樣的知道階的群。

目前主要有兩種方法:

使用RSA群

使用虛二次域的類群

RSA群的生成與RSA加密算法類似,選取大素數p和q,其中p=2m1,q=2n1且m,n均為素數。令N=pq,則(Z/NZ)*即為所需群。然而一個很顯然的問題是,這其中涉及到了trustedsetup,我們必須相信生成N的參與者不會泄露p和q。我們也可以使得群生成算法使用公共隨機數來直接選取足夠大的N使得因式分解N非常困難,但是這樣的N需要非常大以至于這樣的方法非常不現實。第二種方法解決了第一種方法的問題,但是由于第二種方法解釋起來涉及概念較多,本篇文章不會涉及。同時,對于結果yy的快速驗證需要用到證明系統,有興趣的讀者可以參考Boneh的一篇綜述。

研究與應用現狀

學術界第一次正式提出VDF的概念是在Boneh的論文中,他在論文中給出了VDF的應用場景以及形式化的模型,安全分析和一般構造方法。之后出現了分別出現了兩篇VDF的構造論文,分別是Wesolowski的EfficientVDF以及Pietrzak的SimpleVDF。兩者都利用在不知道階的群中連續做平方運算的方法來構造VDF,不同的是,他們生成證明的構造有所區別。簡單來講,Wesolowski的證明更短,驗證更快;但是Pietrzak的構造中,生成證明的速度更快,同時證明系統依賴的安全假設更弱。2019年Feo等人使用超奇異同源(SupersingularIsogenies)以及雙線性對構造VDF。相比于Wesolowski和Pietrzak的工作,他們的構造本身就是非交互的,不需要經過轉換,同時不需要證明π即可完成驗證,但是他們的構造中Setup耗費的時間更長,更為主要的是,目前還只能進行trustedsetup。

在應用領域,ChiaNetwork計劃使用VDF來支持他們的Proof-of-Space;以太坊研究團隊也打算在以太坊2.0中引入VDF,以期在以太坊2.0信標鏈中使用RANDAOVDF隨機選取出塊人。最初以太坊計劃使用RANDAOVDF的方案。但由于以太坊2.0的計劃瞬息萬變,截至文章最后修改前,以太坊信標鏈計劃將區塊間隔限制到6秒,64個區塊為一個epoch,因此一個epoch為6.4分鐘,每一個epoch需要進行一次出塊人切換,因此VDF的時間參數最少應設置為6.4分鐘,但是目前以太坊計劃將其設置為102.4分鐘,目的是防止潛在的攻擊者利用特殊硬件加速VDF。

附錄

https://vdfresearch.org/

https://eprint.iacr.org/2018/601

https://blog.trailofbits.com/2018/10/12/introduction-to-verifiable-delay-functions-vdfs/

https://ethfans.org/posts/vdf-faq-part-1

https://eprint.iacr.org/2011/553

https://www.huoxing24.com/newsdetail/20181122150016435403.html

[7https://cyber.stanford.edu/sites/g/files/sbiybj9936/f/bramcohen.pdf

https://zh.wikipedia.org/wiki/群

https://zh.wikipedia.org/wiki/整數模n乘法群

https://eprint.iacr.org/2018/712

https://eprint.iacr.org/2018/623

https://eprint.iacr.org/2018/627

https://eprint.iacr.org/2019/166

https://www.chia.net/

https://ethresear.ch/t/minimal-vdf-randomness-beacon/3566

Tags:SETETUTPSHTTSETS價格cetus幣前景tps幣行情htt幣價格今日行情

火幣APP下載
AIN:24小時行情梳理:市場處震蕩下跌行情,短期或走弱_加密貨幣

過去24小時加密貨幣市場總體處于震蕩下跌行情。市值最大的加密貨幣BTC緩慢震蕩下行,顯露出短期走弱跡象.

1900/1/1 0:00:00
POST:臺灣破獲一起加密貨幣挖礦竊電行為,涉案550萬元新臺幣_POS

據媒體近日消息,擁有水電相關背景的25歲臺灣林姓男子于出租公寓私接線路,進行比特幣挖礦。臺灣“刑事局”接獲線報后進行調查,于6月4日將其逮捕,臺灣電力公司擬向該男子求償約新臺幣550萬元.

1900/1/1 0:00:00
ETH:從3年前接觸區塊鏈 到開發出裝機量最大客戶端Geth 看看人家的職業發展之路_THE

Go-Ethereum,因為是用Go語言編寫的,也簡稱為Geth。Go-Ethereum是以太坊基金會提供的官方客戶端軟件,也是目前使用最為廣泛的客戶端,也是很多以太坊開發者入門必用的軟件之一.

1900/1/1 0:00:00
FAST:火幣以退為進,FastTrack“五折天”值得參與嗎?_FAS

6月5日下午,火幣全球站發布最新公告,宣布全新上幣平臺FastTrack將于6月13日開啟首期HT投票上幣第一輪.

1900/1/1 0:00:00
中心化交易所:去中心化交易所研究報告 | TokenInsight_十大去中心化交易所

近年來隨著智能合約的興起與區塊鏈技術的發展,去中心化交易所逐漸進入人們的視野。DEX的實施方式多種多樣,但最核心的要素是用戶掌握自己的財產,在交易過程中無需信任第三方,交易實時鏈上結算.

1900/1/1 0:00:00
DEFI:DeFi到底是什么東西?它又能干嘛?_EFI

在數字貨幣生態中,其他賽道格局趨于穩定,去中心化借貸仍有留白。從2019年年初起,DeFi成為區塊鏈領域里的長線熱點話題。提供DeFi服務的平臺和產品也如雨后春筍般破土而出.

1900/1/1 0:00:00
ads