1. 程式人生 > >美女科學家陳婧:當隱祕節點遇見隱祕POS,“不可能三角”問題真的會迎刃而解嗎?

美女科學家陳婧:當隱祕節點遇見隱祕POS,“不可能三角”問題真的會迎刃而解嗎?

紐約州立大學石溪分校助理教授、Algorand首席科學家

9月12日,由CSDN和Algorand 主辦,區塊鏈大本營、極客幫創投、GitChat協辦的第12期CSDN區塊鏈技術沙龍—圖靈獎得主,MIT教授見面會在上海財大豪生大酒店如期舉辦。本次見面會邀請到了Algorand創始人Silvio Micali、Algorand首席科學家陳婧、中科院計算所上海分所所長、起點資本合夥人孔華威、CSDN副總裁孟迎霞。現場吸引了國內外區塊鏈行業大咖雲集、現場異常火爆。

作為當下最熱門的行業話題,區塊鏈以其顛覆性的技術理念,正在影響著各行各業。今天雖然天氣陰沉,但仍不減現場氛圍的火爆,活動現場被陸陸續續的參會觀眾坐得滿滿當當,同時還有很多觀眾由於現場來晚,站著聽完了全程演講,可見本次活動的質量大家有目共睹,內容格外精彩。

除了嘉賓陣容強大,本次活動也吸引了國內外眾多區塊鏈行業大咖、投資者、創業者、主流媒體、技術開發者以及區塊鏈愛好者前來學習和交流。從參會報到人員來看,本次活動不僅有國內區塊鏈行業高精尖技術人才,還有國外著名投資界精英及開發者參與。

會議現場,Silvio Micali教授向大家介紹Algorand的發展情況,分享他對區塊鏈前景的展望,並講解通過Algorand實現這一前景的特有方式;

陳婧教授則介紹Algorand的區塊鏈底層技術,以及它是如何保證Algorand共識協議持續、一致地進化,從而滿足社群和商業現在和未來的各種需求。

在兩位重磅級嘉賓分別演講結束之後的Q&A環節,現場觀眾爭先恐後提問,兩位嘉賓非常熱情和耐心地對大家關注的問題進行了深度解析,贏得現場陣陣好評。

以下內容根據陳婧現場演講,區塊鏈大本營(blockchain_camp)再不改變作者的原意的情況下進行了精心的整理:

大家下午好!我是陳婧。非常感謝大家來到現場。剛才Silvio已經介紹了Algorand的基本概念以及如何實現包括潛在應用的一些想法。接下來,我會更多地講一講Algorand的技術方面以及在拜占庭協議當中的創新。

Algorand是一個分散式賬本,具有可擴充套件、安全和去中心化的特性。它並不是基於已有的一些東西,這個系統從最初的底部開始就能夠讓這個鏈不斷地演變。因為我們覺得區塊鏈不應該在最開始就固定下來,靜態的系統沒有辦法不斷地去擴充套件,我們希望它能夠不斷地進行演變。

在講Algorand之前,我們先來看一下分散式賬本到底能解決什麼問題。

大家想象一下如果現實當中有很多使用者,這些使用者在某個點給其他人發出了很多交易,有可能是支付,或者是其他的東西,這些交易是在網際網路上發生並儲存的。在幾秒鐘的時間裡,我們就能看到很多交易。而網際網路沒有辦法提供所有的資訊,交易資訊會被先發到雲上再回到使用者。不同的使用者可能會看到不同的交易。

比如,你看到紅色和紫色的參與者,其他人可能沒有看到。紫色的參與者付了五百美元到交易所,要買自行車或者月季。對於紫色參與者來說,他的交易已經完成了,但是紅色交易者並沒有看到,所以紫色參與者是不是還能夠拿回這五百美元? 

一個小雜貨店的經理,他寫下了店裡面進出貨的情況,他完全是按照交易發生的順序。比如說早上九點,他賣出了一支筆;然後晚上九點,他賣了一袋米等等,這些就是賬本,通過賬本我們可以瞭解交易實際發生的順序而且發生了什麼。

但是對於共享賬本,它能夠讓網際網路上所有的使用者都能統一地看到,到底它發生了什麼樣的交易。為了方便起見,把它分成資料塊,這一個區塊到底包括一個交易還是五個交易,完全是為了方便。

什麼是分散式公共賬本?

為讓交易之間沒有衝突,而且是同步進行的,對於公用賬本有什麼要求呢?

首先,賬本讓所有人都能夠讀取。不是在座的所有人,我所指的所有人是網際網路上的所有人,系統上的所有人。

其次,要所有人都能夠寫入。這就講到所有人都是對等地對待。可能在有些人沒有能夠識別,突然由你來決定下一個區塊是什麼樣的。

然後,這些區塊應該能夠防篡改。一旦區塊寫好之後沒有人能夠改變它的順序。通過雜湊函式,我們可以不斷延伸鏈,沒有人能夠對它進行篡改。

最後,去中心化。因為中心化的資料庫可以由所有人來讀取和寫入,不能夠做篡改,能夠防止所有的攻擊,但是我們也知道,它也是一個很大的目標,有可能敵對者對其進行各種各樣的攻擊,同時也很容易形成擁堵的情況。因為這個原因,我們希望能夠有分散式的賬本,這樣能夠實現同樣的屬性,也就是中心化資料庫的屬性。但是它又不是一箇中心化的管理。

這種分散式的公共賬本的好處是什麼呢?它能夠讓所有混亂進行排序。我們不需要它的具體順序就可以對它進行排序,我們可以用它來進行支付的結算。另外,我們也可以放上時間戳,對它進行公證和儲存。這樣就可以進行非常方便的資料的分享。

分散式賬本另外一個責任就是要實現各方的公共信任。你不需要認識與你交易的這個人,你只要信任區塊鏈,它能夠給你實現有效的交易。在這種情況下我們就可以很方便在區塊鏈上進行一些簽名,而不需要有律師來進行幫助,從而持續不斷地進行下去。

在社群當中,有很多人都已分享過分散式賬本是一個非常理想的基礎架構,它能夠帶來很多好處,那是當然的。真正的問題是怎樣實現這個分散式賬本。

比特幣存在哪些問題?

我先講一些基本的認識。比特幣是怎樣工作的?使用的是怎樣的機制?Algorand是怎麼樣達成共識的?我們用哪些技術去實現它?基本上所有的區塊鏈的技術上都有一些基本的因素,比如說數字簽名和雜湊函式。但比特幣用的方法和Algorand是非常不一樣的。

簡單地來總結一下比特幣,它已經有存在十年的時間。我們需要去考慮一下,怎麼樣實現它的共識。比特幣的想法就是,它可以通過無需准入的方法,來實現最終共識。每個人都可以參與,你的身份不需要別人知道,而且也不會強制每個人去參加所有交易。所以,其實網際網路是非常開放的,每個人都可以自己主動地去參與。

我們一直說比特幣可以達到最終共識,是什麼意思呢?一旦一個區塊產生了,不一定這個區塊會永遠留在這個區塊鏈上。我們需要等一下,讓它有一個高執行度。可以實現最終共識,它是通過工作量證明來做的。

工作量證明是90年代提出的公示機制。我們可以很公允地說,我們要把工作量證明的概念提升到一個新的階段,而且也是一個非常基礎的,能夠為大家所接受的狀態。比特幣主要的假設就是大多數的計算能力都是很誠實的。

雖然比特幣從一開始是非常具有創新性的,但是人們也開始意識到裡面存在很多技術性的問題。其中最大的一個問題,也是大家公認的,就是它太過於浪費,比如說電力的浪費、交易成本太高和交易費用太高等。

另外一個,它會產生副作用,權力過於集中,中心化的權力。比特幣想要成為一個去中心化的系統。但是因為不是說每個人都能夠平等地獲得它的激勵,每個人在過程中採取的行為也不一樣。如今礦池的算力十分集中,世界上有三大主要的礦池,它控制了世界上大部分的算力。幾個月之前我在做講座的時候當時還有五大礦池,昨天我去查了一下資料庫,只有三個大的礦池存在。

下一步會發生什麼?毫無疑問的是算力集中度會越來越高,三個礦池就是一箇中心化的系統。而且大家都知道它是誰,它在哪裡。現在它的利潤是非常非常薄的,實際上它也是非常脆弱的。

說到可擴充套件性方面,我們假設現在系統上面有一千萬使用者,假設明天有一億人蔘與進了這個系統,該怎麼做呢?這裡面還有很大的問題,關於最終共識的,在協議方面,系統中到底發生了什麼事情。

我們一直都在說區塊鏈,但是我們應該關注的是區塊樹,其實系統中不是說在某一個點上只有一條鏈,而是有很多像樹一樣的鏈,我們把它稱之為分叉。如果你確實想要確認有一項交易,這個系統不可能去等那麼長時間。如果你的交易是高價的,幾分鐘就可以做到而不用幾天,這樣確實會阻止系統有很高的擴充套件性。

雖然比特幣一開始就非常具有創新性,而且它也已經奠定了比如說無需准入,但是我們要思考一下怎麼樣才能達到共識,怎麼樣改進系統,怎麼樣去協調大家對於應用越來越複雜的需求。想到這些方面,我給大家講一講Algorand的方法。

Algoran如何解決這些問題?

Algorand其實是一個分散式的賬本,是無需許可的,而且可以有很高的及時性。

1、無需許可

無需許可是什麼意思呢?不管這些使用者控制多少金鑰,也不管你在實際的世界裡面是一個什麼樣的ID,有的人可能不願意參與。但是,通過Algorand,它是不需要許可就可以主動地參與的。

2、瞬時性

另外一個就是及時性。及時是什麼意思呢?比特幣交易有很大的延遲,而Algorand的交易可以在非常短的時間內完成,其實可以把它比做是一個羽毛,是非常輕的,它的計算是非常快的,而且它的這種通訊也不會受到浪費。

Algorand不需要用工作量證明機制,它不是一個區塊樹,而是一個真正的區塊鏈。

3、改進的拜占庭協議

再來看一下Algorand的核心,就是拜占庭協議。這個協議是什麼呢?假設系統裡面有一些人是好的,有些人是不好的,我希望能夠一眼看出來哪個人是好的,哪些人是壞的。使用者就開始通訊協議。比如說他可以換人,要儘可能地避免這些人達成一個協議。

我們給所有人實施同樣的價值。可能不是所有人都能實現同樣的價值,但是其中有一部分人可以達成某些價值。這裡會有一些一致性在裡面。假設在某一個時間點上,所有的使用者都具有同樣的價值,到後面發現不僅僅這些好人與最開始的價值是一樣的,而且跟其他人的值也是一樣的,這就可以實現一個很好的協議。

這其實就是我們在一個大的社群裡面實現共識所需要的。我們從傳統的角度來思考這個協議,這裡面會出現兩個挑戰。

一個就是現有的拜占庭協議非常混亂、效率非常低下。如果裡面有數十億的人,這樣的一個交易速度顯然是不能令人滿意的。

但是這還不是最主要的問題,拜占庭協議最大的問題就是玩家或者參與者是固定的,大家都知道是哪些人在參與。在無需准入的系統裡面,使用者可以控制各種數量,比如說金鑰等。像剛才說的拜占庭協議的兩個挑戰、兩個問題就不能夠滿足我們的需求。所以,我們來看一下Algorand是如何解決這個問題的。

1)高效

第一個是解決效率低下的問題。我們有一個新的拜占庭協議,它是非常快、非常高效的,要求每一個參與者,發出一個短的資訊。然後平常情況下,我們會選擇一個領導者,去傳播這個協議。這個協議一般在兩到三步內就可以傳輸完成。但是有的時候情況很糟糕,在最糟糕的情況下,可能系統選擇的是一些壞的領導者,你也可以去證實這個人是壞的,在九步之內就可以完成最終的一個傳輸。

所以,即使是在最壞的情況下,Algorand的方法也是非常高效的。

那麼,為什麼我們目前還不太滿意呢?這個問題就是不管拜占庭協議有多麼的高效,假設系統有十億個使用者,每一個使用者發出了一個訊號,系統還是會很堵塞的,這是一個大問題。

2)使用者隨機抽取

我們下一步有什麼想法呢?下一步其實是很簡單的,那就是說,我們不能夠隨機地抽取十億的使用者,但可以從十億的使用者裡面隨機抽取某些使用者。

我們能不能公開或者隨機地選擇一些使用者集呢?我們會去選擇,而且是非常簡單的一種方法,比如說公鑰、區塊號等。我們把使用者的ID寫在區塊上面,然後我們有一千個的hash值。這裡的問題是什麼?對於對抗者來說,它是能夠知道這些使用者是誰。它就可以想到這些人的hash值是不一樣的。有可能還是對區塊進行負責的。對抗者有很多的時間來對這些使用者進行腐化。因為在互聯上,每個人都能夠知道是由這些人進行負責,他們就會有可能成為這些攻擊的目標。

區塊鏈是公開地選擇一些使用者,對於這些方法如果說有用的話,他們必須要做一些額外的假設。比如說有些系統會假設,對抗者可能需要一天的時間才能對使用者進行腐化。這個一天,這個區塊形成比這個時間更快一些,對使用者進行腐化之前已經不再使用這個使用者了。這樣對區塊鏈來說就沒有作用了。

對於對抗者來說,他需要對使用者進行腐化的時間,要比生成區塊的時間要長,但是我們對這樣的一種假設,我們並不認同。我們不想假設對於對抗者的力量,我們希望能夠做一個更好的東西。

我覺得現在可以講一講到底Algorand選了一種什麼樣的對抗者的模型。因為它能夠很好地來保證我們的價值安全性。假設對抗者能夠很快地對任何使用者進行腐化,但是不能腐化系統裡面超過三分之一的使用者,代幣和權益不會超過三分之一。

另外我們也假設對抗者可以完全控制和協調完全不好的使用者,對抗者可以決定由A來發出A資訊,B使用者發B資訊,這樣就可以提高破壞系統的可能性。另外,這些對抗者也是能夠非常地適應,它也能知道哪個先發出。看到所有是好的資訊,然後能夠選擇所有壞的資訊。這也是一個非常有適應性的對抗者。

另外這個對抗者也能夠對好的訊息進行傳送控制。因為有的時候,資訊在網際網路傳播需要幾秒的時間,對抗者可以把這個東西進行延遲,當然最終這個資訊會達到所有好的使用者,最後對抗者還有無限的算力,可惜這是我們所不能允許的。如果能夠破壞我們的hash加密,我們要求它沒有辦法來偽造簽名。

我們也必須要承認,已經是一個非常有力量的控制者。我們也可以保證我們這個系統能夠安全,如果說能夠面對這樣一個不好的對抗者。有很多不同的假設,比如說區塊鏈怎樣進行同步,所有時鐘都進行同步,不相差一秒鐘,如果有差異我們要有一個標準化。但是我們不需要要求這樣的東西。

比如說我的電腦上的時鐘和你電腦上的時鐘還有其他人在歐洲或者在美國可能會有顯示完全不同的時間。但是我們很容易地會發現所有這些電腦,所有這些CPU它的速度都是差不多的。一秒對大家來說都是一秒,這是我們唯一需要的東西。我不需要他們在時間上進行同步,只要這個速度是一樣的,五秒就是五秒,然後我們對速度還可以做一些事情。這就是我們需要做的東西,這是我們一個對於網際網路做的假設。

3)加密的自我選擇

我們講了拜占庭協議,但是我們還有另外一個挑戰,就是我們不希望負責拜占庭協議的人是公開地進行選擇,也是在Algorand最主要的創新,就是加密的自我選擇。這邊要強調自我,在這邊所發生的就是每個使用者他會隱祕地來選擇自己來參與拜占庭協議。

自我選擇的機制是讓他們沒有辦法進行作弊,不是根據嘗試的次數來決定的。這就好像是彩票系統,如果說有人買了一張彩票,這個彩票的話,其實跟它自己的資訊相關。只有他自己知道,是不是中獎了。在這個之前沒有人知道誰領了獎,沒有人知道誰控制了拜占庭協議,也沒有人能夠做一個假的彩票。他也能夠很容易地證明確實拿到了真正中獎的彩票。

另外對抗者也不知道到底在系統裡應該腐化誰,在它看到拜占庭協議發出來以後是不知道誰被腐化的。這也是非常有幫助的。因為現在對抗者不是面對少數的使用者,而是十億的使用者。在所有使用者當中,被選作來控制拜占庭協議的人是隱藏著的,這也是拜占庭協議的一個好處,因為負責的這個使用者是未知的。

我們對於第二步和第三步會發生什麼?使用者一旦發出了第一個資訊以後,她的ID就被公眾所知道了,對抗者就知道需要對他進行腐化。

在系統中,如果有單一的使用者負責很長時間就會讓對抗者有機會腐化這個使用者。為了防止這樣的情況發生,這是我們的另外一種想法,也就是說Algorand這個使用者可以進行更換的。使用者可更換是什麼意思?我們可以想想拜占庭協議是分成很多的步驟,比如說有一、二、三、四這四個步驟,每個步驟裡面偷偷選擇的使用者都是不一樣的。

他們都是不相關的使用者,他們是自己隨機去選擇的。相互之間許多任何的關聯性。我們這個協議它沒有任何共享的變數,選擇以後可以發出他們的資訊。下一組會選用新的使用者,大部分使用者是誠實的,很高的概率這些使用者也是成熟的。這個系統是分散式的,因為沒有使用者的話會延續一次以上來負責。正好是彩票式出新的方式,選中以後發出一條資訊,最後再放一條。

4)POS共識機制

現在我們已經解決了一個挑戰,但是還可以有另外一個挑戰。如果這個系統是有投標的金鑰,但是它沒有限制在系統當中能夠建立多少的金鑰。這是無准入可以加入有可能可以控制這個系統當中大部分的金鑰。如果能夠控制大部分的金鑰,可能可以實現各種目的。

為了防止對抗者,現在我們來引入POS(股權證明機制)。負責拜占庭協議所負責的東西,它是基於在系統當中處於權益來選擇的。這也是我們權益證明的體系。這也是有一些隱藏化的中心化形式。對於Algorand是一種單純的權益證明,對於每個代幣是完全平衡的。不管這個代幣是由你或者其他人所擁有,都沒關係。

當然這還會有另外一個問題,如果一個使用者只有一個代幣,另外一個使用者有十億的代幣,是不是說有更多的話就會有更多的權益。不管有多少代幣,對每個使用者的競爭,只要對抗者不會控制當中三分之一的代幣,我們的系統就可以保證是安全的。

Algoran的技術優勢

Algorand首先是非常的快速的,同時使用者可以更換拜占庭協議。我們這些個假設就是大部分人都是城市的,如果說能夠在錢控制大部分,很容易購買一些硬體,然後控制同樣的算力。所以說有很多算力,不可能是很窮的人,這兩個在某種程度上是一樣的。

Algorand的技術優勢在哪裡。它需要的算力非常小,不需要挖礦也不需要hash。驗證證明都非常少,需要的計算都非常少,而且是真正去中心化的系統,任何人在這個系統裡面都可以。而且因為基本不會分叉,所以任何交易、任何付款等都是最中心的,你不需要等到兩三天甚至數週之後才看到你的交易被確認。

當然,Algorand在密碼學裡面並非所有的都是沒有條件的。如果這個區塊是這麼地有效,每秒都可以產生一個區塊的話,你不需要等很長時間。而且在這個系統上也是有可獲取性的。因為只是選一小部分人來負責來作為領導者,所以它就不需要造成大量的延遲。這是一個P2P的網路。在安全方面,我們有很好的機制去預防這種敵對者。

我再總結一下,其實就是無需許可,每個人都可以參與,而且不會分叉,所以也沒有礦工,也沒有工作量證明;此外計算量非常少。取決於你自己的網路或者是你自己計算機的能力;此外有完美的可擴充套件性,而且有一個非常安全的機制,可以實現及時交易。

還有一些好處,實際上今天沒有講到。比如說我們的網路,我們的Algorand實際上對於任意網路分割槽是有很高的安全性的。比如說美國、歐洲等等這些分割槽,如果出現這種任意分割槽,我們還是非常安全的。此外,我們可以實現自治,不會出現分叉。而且因為我們有一個很好的共識協議,所以,在這個方面,這個系統可以很有效地運作,而不會產生分叉。

此外我們還有安全性的激勵。很多人也經常會問到這一點,你們有沒有激勵。我們確實有激勵的,我們希望給的激勵是,大家來參與我們的社群,為社群做出貢獻。這些激勵如果是設計得不好可能會造成另外的問題出現。

所以我們在設計激勵架構的時候必須要非常地謹慎小心。我們希望這個激勵是安全的,不會產生一些別的或者壞的副作用。比如說比特幣造成了大量算力的浪費或者電力的浪費。另外,我們還有非常明顯的路線圖。我們未來會有什麼樣的特徵特性,還有什麼樣的應用,比如說我們在短期中期,在長期有什麼計劃等等。我們的路線圖也是設計得非常詳細。

我基本上想講的都已經講完了,這是關於技術方面的。我們再來看一下Algorand的區塊鏈,其實這是一個最底層的交易平臺,同時具有可擴充套件性、去中心化和安全性。很多應用可以基於這個平臺來做,我們把它做成一個平臺,而且向所有人來開放。

我希望大家能夠參與進來,和我們一起,不管是做開發者或者是參與者或者是加入這個社群,你們可以用各種各樣的方式參與Algorand。謝謝各位!

Q&A

問題1:您之前說我們有一千個區塊生成者,現在還不是非常地公開。我想問的是,這一千個區塊生成者是怎麼樣溝通的,他們是不是互相之間都認識彼此?第二個問題,這一千個區塊生成者是不是說他們之間互相溝通起來有困難,人數太多了。

陳婧:我先回答你第一個問題,你這個問題問得非常好。他們是不是認識?我的回答是他們不需要互相知道、互相瞭解。這些使用者每一個都是自己隱祕自選的,他們也不知道誰選擇了他自己。如果自己選擇了自己,他願意承擔一個責任,他可以計算,他應該發出來什麼樣的投票資訊。每個人都是這麼做的在互聯網裡面,這種資訊就被傳播出去了。我們網際網路的使用者最終就會知道誰到底做了隱祕自選。

他們其實根本不需要互相之間去了解去知道的。這裡最關鍵的一點就是,他是事先沒有經過溝通然後進行了隱祕的自選或者加密抽籤的。

你的第二個問題是關於網路的負荷,我想我已經回答了這個問題。因為在選擇自選的過程中不需要做任何溝通,所以不會存在太多網路的負載。

問題2:因為這個使用者是隱祕自選的,我們怎麼樣確保是不是有足夠的或者正確數量的使用者在系統裡面?

陳婧:你的問題問得很好。我們這麼說吧。假設說這裡有一千個,其實我不是說必須正好一千個,如果這些使用者是自己獨立的,不一定很難達到每次都是一千個。所以在這裡,我們預計一千個,十億裡面有一千個。在每一步,會有一個反應出來。我們不知道在最後會有多少,有可能是一千兩百個,有的時候可能是八百個,這個數字是有出入的。但是,這種概率理論,到最後一步來說,不會差出來太多。我覺得這個就夠了。

問題3:因為其實我是做了一個統計學的demo,然後我發現很少時候會有正好。確實有極少的機會出現說不夠。或者說有太多的可以超出四倍。如果太少就會卡在那裡。

陳婧:OK,這個問題就是有的時候,在實驗時候我們發現這個選擇最終數目,遠遠地大於或者小於我們預計的數目一千。這個意思就是,你在這個系統中設定的引數不太合適。你有十億使用者,你希望可能是最後一千個或者是三千個,你會需要從數學的方法來看。比如說在概率這裡,會涉及一個區間段,多10%、少10%的區間段。

這不僅僅是有關模擬,而是我們會要在之前設定一個目標,然後我們再去算去解決出來說在這樣一個交易裡面最合適的數目是多少。

問題4:如果說你預先來選擇,Algorand的簽名列表怎麼來進行驗證?

陳婧:這是一個很好的問題。關於簽名,我們有兩點。如果他們沒有正籤就沒有辦法偽造簽名。另外也沒有辦法嘗試很多次,直到找到一個正確的簽名。基於這些要求,我們用唯一性的簽名,這種唯一性的簽名有一個屬性,最多隻有一條資訊是有效的資訊。換句話說,對於對抗者來說,敵對者沒有辦法造出很多的資訊。對這個是沒有控制的。它只能生成一個有效的資訊,如果它被選就被選了,如果沒被選就沒被選。

問題5:這就是我們簽名的方案。在BA的協議裡面,參與者會對簽名進行驗證嗎?

陳婧:我們不用群簽名,一般群簽名都是比較小的區塊。現在每個使用者都有自己的簽名,這是基於我們的橢圓的曲線。

問題6:我有兩個問題。第一個,如果說你Algorand網路裡面,它前提是有一個密碼抽籤總支產生,這是誰來產生的,這個產生是不是也是在一個可信的和安全的環境下面產生的。這是第一。第二個問題是,如果從密碼抽籤到最後整個驗證的程序,它會不會增加整個程式到最後一個迴圈?

陳婧:首先第一個問題是關於種子,對於隨機的選擇,我們會通過隨機數的生成種子,這些種子可以隨機地進行選擇。在我們系統中的種子是無法預測的,也沒有辦法進行控制的。可以說我們不希望敵對者能夠預先地知道種子。如果它能夠進行預測的話,它就會生成公有鑰,直到找到被選擇的公有鑰。這是我們不想要的,所以這個是不可選擇的。

第二個,對於這個種子,它不是取決於區塊的內容,因為否則的話我們就變成POW的體系了。有些人可以嘗試不同的區塊內容,是不是能夠有形成一種有力的種子。所以說,這是沒有辦法進行預測。我們有一個非常安全的方案能夠生成幾乎是無偏見的種子。我們有非常小心的分析,來顯示我們生成種子的方式確實是能夠保證敵對者沒有辦法來預測。

問題7:總的區塊生成的週期的時間,有可能會需要很長的時間。如果說我們要經過這麼一個選擇的時間,它會把這個時間拉長。可能對整個網路造成一些影響。

陳婧:沒有,電腦簽名有多快?一秒裡面其實電腦可以有十百萬次的簽名。簽名是非常輕量級的。我剛才講過,我們協議也是有分成兩步,最糟糕的也就是九個步驟。電腦只需要處理這麼多的簽名,幾秒時間就夠了。在系統當中這個絕對非常短。不會拉長它的時間。因為這個時間比資訊傳到網路的時間要短得多。在這個裡面瓶頸主要是網路速度有多快。

問題8:其實剛才第二個問題,我們在擔心一個問題,它中間存在一個比對的問題,它有一個密碼種子,隨之產生,這個結果要最終去對比。假設說這個網路裡面有兩萬個節點,每一個節點都會有一個數,這都會跟一個標準數去比對,最終才會被選中對吧?

陳婧:不是的,並沒有這樣的。不需要實際的通訊才能決定你是不是能被選中。它是需要預期有多少人,多少投票,然後就可以看每個使用者被選中的概念。然後通過VRF來進行比對,這個VRF是基於自己的閾值。我們沒有一個標準的憑證的對比,如果需要這個,我們在通訊上面可能需要一些時間。但是我們已經避免了這一塊。這也是我們非常有意思的功能。它已經不需要有一些實際的通訊了。

最新熱文: