比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 幣贏 > Info

以太坊 2.0:隨機性_以太坊

Author:

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

本文中,我們將談及隨機數(randomnumbers)以及如何在以太坊2.0中實現隨機性。什么是RANDAO?什么是VDF(可驗證延遲函數)?它們又是如何一起運作的?

信標鏈(beaconchain)如何決定輪到哪些驗證者(validator)來提議區塊,以及哪些驗證者應該對該提議進行證明(attest)?在以太坊2.0系統中的1,024條分片鏈和成千上萬名活躍驗證者之間,信標鏈是如何在任何特定時間做出這一決定的呢?

信標鏈需要的是隨機性(randomness)!

計算機中的隨機性

計算機是無法生成真正的隨機數的。

你可以這么來理解:計算機(computer)是一種機器,給定相同的輸入,總是會生成相同的輸出。它們就是計算的機器,就好像一臺計算器不能讓2與2相加得到5一樣(除非是惡作劇或機器受到嚴重損壞)。

為了生成一個合理的隨機數,計算機將依賴于seed(種子):即計算的起點,用于獲取輸出的輸入(input)。種子可以是屏幕上鼠標光標的移動,也可以是維基百科數據庫的所有內容。在種子之上,計算機將執行數學運算并最終得出一個人類無法預測的數字。

Chia Network CEO:以太坊仍然只支持大約兩倍于比特幣的交易吞吐量:金色財經報道,加密初創公司Chia Network的新任首席執行官Bram Cohen表示,以太坊被認為是“世界計算機”,具有無限的鏈上擴展能力,允許人們將其用作真正的計算資源。這顯然是一個愚蠢的想法。所有的鏈上驗證都必須由所有的完整節點來復制,這極其冗余。

即使撥到接近臨界點,并且通過大量工程來提高這個限制,以太坊仍然只支持大約兩倍于比特幣的交易吞吐量。即使對于區塊鏈性能而言,這種低迷是因為 Solidity 和 EVM 是一個垃圾平臺,并且幾乎沒有工作可以解決平凡的工程問題來使事情變得更好。但是,即使有一個偉大的恒定系數性能,即現在的10倍容量,\"世界計算機\"的想法始終是一個妄想的幻想。我現在提出這個問題不是為了嘲笑他們,而是因為這種計劃的改變很容易被遺忘,就好像它從未發生過一樣。相反,以太坊的發展設法使整個事情變得更加集中,并加劇了他們的 MEV 問題。

似乎連分片計劃(也是一個壞主意)也被悄悄地放棄了,轉而支持 ZK rollups 和發布證明,這是一個合理的計劃,但仍然只是一個計劃。[2023/5/6 14:46:06]

即使現在,如果你訪問BitAddress(開源JavaScript比特幣錢包工具)網站(https://www.bitaddress.org/),當你移動鼠標時,你會注意到“seed”將相應地發生變化,這是網站正在通過你的鼠標不規則移動中“搜集隨機性”,見下圖:

以太坊混幣協議Tornado Cash重回GitHub平臺:金色財經報道,以太坊混幣協議Tornado Cash現在回到了代碼開源網站GitHub平臺上。代碼存儲庫的功能仍然僅限于“只讀”。此前消息,美國財政部外國資產控制辦公室(OFAC)上個月將Tornado Cash列入黑名單。(decrypt.co)[2022/9/23 7:15:06]

備注:繼續移動鼠標,當圖中的百分百達到100%時,就可以生成一個比特幣錢包

如果我們在生成種子時總是應用相同的數學方法處理,那我們如何能將之稱為隨機的呢?最重要的是,當足夠多的難以重復的種子放在一起時,得到的隨機數就會是相當隨機的。人們是無法在一個500萬像素屏幕區域重復完全一樣的鼠標運動軌跡的,因此這在某種程度上是可靠的。

如果再加上一些其他的數值,比如一天中的時間,或者像Cloudflare那樣使用熔巖燈產生偽隨機數(見下圖),也許還有某個運動隊當年進球的次數,這樣你就得到了一個相當隨機的種子(seed)。

備注:Cloudflare是一家提供安全服務的云服務商,向客戶提供了免費的SSL服務。因為要處理海量的加密流量,它需要使用到大量的隨機數。這些隨機數都是偽隨機數生成器(PRNG)產生的。偽隨機數生成器產生的隨機數能被預測和破解。那么如何減少隨機數的可預測性?Cloudflare披露了它的方法——使用熔巖燈。熔巖燈的名字源于內部不定形狀的蠟滴的緩慢流動,讓人聯想到熔巖的流動。Cloudflare利用攝像頭監視熔巖燈,拍攝視頻和照片,然后將其轉變成無法預測的隨機比特流,再用它生成密鑰。

以太坊網絡當前已銷毀191.68萬枚ETH:金色財經報道,據Ultrasound數據顯示,截止目前,以太坊網絡總共銷毀1918526.26枚ETH。其中,OpenSea銷毀230138.63枚ETH,ETHtransfers銷毀182455.39枚ETH,UniswapV2銷毀125171.76枚。

注:自以太坊倫敦升級引入EIP-1559后,以太坊網絡會根據交易需求和區塊大小動態調整每筆交易的BaseFee,而這部分的費用將直接燃燒銷毀。[2022/2/27 10:18:28]

區塊鏈中的隨機性

但是區塊鏈中沒有鼠標、傳感器或者運動比賽結果預測。更重要的是,即使一個節點到達某個隨機數,但該隨機數必須與區塊鏈的所有其他節點的隨機數相同,否則該條鏈將分裂。在同一條區塊鏈中,如果同一個區塊的隨機數不同,這將導致分叉。那么區塊鏈是如何來處理隨機性的呢?

一些區塊鏈依賴區塊哈希(blockhash)來處理隨機性。因為哈希值是未知的、隨機的,但在所有節點上都是相同的,所以對于基本的可證明公平的賭博來說,哈希值可以作為隨機性的來源。

然而,如果區塊獎勵少于礦工操縱區塊哈希所能獲得的獎勵(當前的以太坊區塊獎勵是2ETH),那礦工就完全有經濟動力進行惡意行為。更嚴重的是,在權益證明(PoS)系統中,由于生成一個區塊幾乎不需要計算時間或能量,礦工(驗證者)可以很容易地繼續生成數千個區塊,直到獲得一個他們喜歡的哈希值,并將這個哈希值進行提交。

過去24小時以太坊網絡燃燒近1.02萬枚ETH:金色財經報道,根據ultrasound數據顯示,在過去24小時內以太坊網絡總共燃燒了10,242.77ETH,平均每分鐘燃燒6.82ETH。[2022/2/1 9:25:01]

這也適用于驗證者的選擇。如果當前負責生產某個區塊的驗證者能夠通過某種方式進行操縱,使得該區塊哈希成為一個能夠再次選中該驗證者(或者由該驗證控制的另一個驗證者客戶端)的種子,使該驗證者繼續成為提議區塊的驗證者,那么該驗證者就可以一直提議區塊,將其他的驗證者擋在主要的利潤之外!

顯然,我們需要更強勁的區塊鏈隨機性,以太坊2.0系統更是如此!

簡單概述RANDAO

想象一下,如果房間里面有很多人,每個人都在腦海中想象一個數字。為了得到一個隨機數,我們要求這些人一個接一個地大聲說出他們的數字。所有這些數相加之和就是我們想要的隨機數。

這就是RANDAO的本質。RANDAO機制就是,當用戶通過儲存(質押)32ETH成為驗證者之后,該用戶將選擇一個由自己選擇的隨機數。當需要為某個區塊公布其隨機數時,將系統中所有隨機數加起來就可以得到一個全新的隨機數。

以太坊未確認交易為203,782筆:金色財經消息,據OKLink數據顯示,以太坊未確認交易203,782筆,當前全網算力為467.42TH/s,全網難度為6.21P,當前持幣地址為57,403,816個,同比增加188,589個,24h鏈上交易量為3,111,609.76ETH,當前平均出塊時間為12s。[2021/4/5 19:45:42]

備注:上面的過程只是簡化過程,本文將不詳細論述。如果需要關于以太坊2.0RANDAO這方面的專門文章,請通過Twitter告知作者(@bitfalls)。

但即使在這種情況下,最后公布的數字對最終的隨機數也會有一定程度的影響。最后一個人可以選擇保持沉默,以這樣或那樣的方式改變這個最終的隨機數。房間里的最后一個人會記住之前每個人公布的數字,如此一來,就可以知道加上(以及不加上)他提供的數字之后的最終隨機數結果。如果相對于其他數字,某個數字對最后一個人更有利,那最后一個人就有動機去進行某種程度的操縱,不管程度高低。

對于這一問題,以太坊2.0將通過VDF(可驗證延遲函數)來解決!

RANDAOVDF

VDF全稱為VerifiableDelayFunction(可驗證延遲函數)。

其言外之意就是需要花很長時間來進行計算。

如果我們有某個數字X,之后假設這個數字X的6倍二次方VDF函數是:((((((X^2)^2)^2)^2)^2)^2)^2。這種情況下,如果X=5,那最終的結果就是:

隨著計算的繼續,計算的結果將越來越大。一個復雜的VDF將需要花費很長的時間才能計算出來,因為對于任何計算機來說,其計算過程都是非常復雜的。

那么這有什么意義呢?

首先,在計算最終數字時的延遲(delay)是可以驗證的,我們知道哪些計算機操作是達到結果所必需的,并且能夠以合理的精確度確定機器達到結果所需要的時間。

其次,如果要計算出第三級結果,那計算機就必須先計算出第一級而第二級的結果--我們無法在多臺計算機上并行地進行此計算,因為每個新的輸入都依賴于之前的輸出,而且每個輸出都需要預先確定的計算時間。

如果現在我們用RANDAO中的隨機數來代替上方VDF例子中的數字X,且如果函數的指數不是6而是好幾千,并且函數不是使用平方根(^2)而是更復雜的函數,那么我們將得到一個完全不同的函數,這個函數將使RANDAO的結果完全不一樣,而且要計算出這個結果將需要花上一段時間,不管你擁有多少臺電腦。

通過引入這種延遲,并使計算的時間要長于驗證者可以通過影響某個隨機數而獲得利益的時間,我們就可以消除最后一級的隨機性偏差--即消除驗證者可以對RANDAO生成產生的最后一點影響。

在以太坊2.0階段,這個VDF被定義為102分鐘時長--超過了一個半小時。當前以太坊基金會正與Filecoin等區塊鏈項目合作,資助開發一種針對此計算優化的開源ASIC--這是一種專門用來進行這種計算的微型計算機。該機器將有愛好者、加密貨幣項目和其他區塊鏈平臺甚至驗證者來運行,它具有一個小優勢,可以第一時間響應VDF檢查,而且不需要比典型的微型計算機全節點更高的電力成本。

這樣一臺高度專業化的機器確保了任何其他試圖開發一種更好的ASIC來重獲最后一點影響的人,都必須使其在效率方面提升100倍才能發揮作用。開發這種設備將耗資巨大,除非存在某種可能完全摧毀以太坊的重大利潤,而我們知道這是不可能成功的。

在以太坊2.0階段,每生成64個區塊(大約需要6.4分鐘,這稱為一個時間段(epoch)),信標鏈(BeaconChain)將打亂驗證者并將他們重新分配到所有的分片鏈中。

每個時間段(epoch)都會公布一個RANDAO,這意味著我們可以在每個時間段(epoch)運行一個新的VDF函數。這就意味著,每個小時將會有16個VDF函數,也就有16個隨機數。之后,這一隨機性將成為選擇下一個驗證者集合的種子(seed),這就確保了公平性。

Nimbus中的隨機性

在Nimbus客戶端中,我們與以太坊2.0規范保持一致。我們的RANDAO實現已經符合以太坊2.0規范的0.5.1版本。我們需要確保我們的測試與官方測試相匹配。

現在談論VDF還為時過早。VDF還處于研究階段,一旦它被添加到規范中,客戶端將需要一段時間才能趕上它。必須設計出與遠程VDF設備通信的方法,對staking(質押)獎勵進行輕微修改,使其更傾向于運行VDF的區塊生產者,以及其他方面等等。現在,鑒于RANDAO對于以太坊的早期需求是足夠隨機的,它將作為打亂驗證者和提供其他隨機性的基礎層。

結語

以太坊2.0將每隔6.4分鐘生成一個合理的隨機數,該隨機數的隨機性足以確保巨額價值的安全。

只有當某人搭建的VDFASIC的效率比以太坊社區提供的任何ASIC都高100倍,或者當全球所有的VDFASIC都離線時,以太坊的VDF才會失敗。即便這發生了,底層的RANDAO所帶來安全性也能將影響降到最小,使以太坊也足以保證鏈上財富的安全。

參考鏈接:

https://our.status.im/two-point-oh-randomness/

Tags:以太坊RANANDDAO比特幣以太坊France Rev Financecandy幣在哪些交易所掛賣TG DAO

幣贏
關于火幣合約API接口升級的公告_MAKE

1.0.1 全部撤單接口/v1/contract_cancelall只傳symbol,撤該該品種下所有周期的合約只要有contract_code.

1900/1/1 0:00:00
全球區塊鏈、數字資產監管政策及實踐--中東地區_區塊鏈

由于大部分的中東國家都禁止了數字資產交易,數字貨幣交易在整個中東地區依舊存在許多障礙。然而絕大多數中東國家在積極推動區塊鏈技術的研發和創新,由政府牽頭,企業配合來探索區塊鏈新技術的應用.

1900/1/1 0:00:00
螞蟻金服投資 金融機構試水 巨頭為何都關注這一技術_ZKP

近日,專注于企業區塊鏈隱私技術層的區塊鏈項目QEDIT,完成價值1000萬美元的A輪融資,引人關注的是,投資者包括阿里巴巴旗下的螞蟻金服,據了解,這是首個對外公開的阿里巴巴參與投資的區塊鏈項目.

1900/1/1 0:00:00
幣世界午行情:BTC突破6100美元后小幅回落至6070美元附近_EOS

今日BTC早7時30分出現短時快速上揚,突破6100美元,后小幅回落至6070美元附近整理,主流幣普漲。BTC在幣安現報6074.99美元,24h漲幅3.32%.

1900/1/1 0:00:00
重大利好 Facebook或取消加密廣告禁令_CEB

金色財經比特幣5月8日訊為了進一步加快推動自身區塊鏈工作,Facebook在本周三已經宣布將放松對區塊鏈和加密貨幣技術相關的廣告禁令.

1900/1/1 0:00:00
幣世界早行情:BTC回落至7800美元附近整理 主流幣普跌_OIN

今日凌晨開始,BTC在7700美元至7900美元區間小幅震蕩,5時反彈上漲至8000美元附近后出現短時回落,目前在7800美元附近窄幅整理,主流幣普跌.

1900/1/1 0:00:00
ads