Silvio Micali:如何建立更安全的權益證明

金色財經現場報道,2018年9月11日-9月12日,2018區塊鏈·新經濟第四屆區塊鏈全球峰會在上海外灘W酒店舉辦。會上麻省理工教授、圖靈獎得主Silvio Micali發表以《Algorand:真正的分佈式賬本》為題的演講,以下是演講全文:

Silvio Micali:如何建立更安全的權益證明


我們都知道區塊鏈,所以我們熱愛它,區塊鏈給我們帶來了安全性、透明度、分佈式,使我們在不失信任的情況下進行交易,所以區塊鏈就是基礎設施。

差異的地方是如何實現,在實現區塊鏈的時候要實現兩點,1.建立鏈,這樣才能保證不會洩露數據或者發生其他的問題。2.選擇塊,真正困難的部分是選擇下一個塊,傳統的方法是中本聰發明的方法——“工作量證明”。主要的假設是大多數算力是誠實的人,那麼工作量證明有什麼樣的技術侷限性呢?我們都知道成本很高,如果我們不考慮通脹的話,交易的成本20美元,現在有可能更高甚至買披薩都買不起。

在工作量證明中算力是集中在三個兩個礦工中的,難道這是分佈式的嗎?肯定不是,還有可擴展性。除非區塊鏈擴展,不然的話怎麼對世界有用呢?如果一秒鐘只能處理幾個交易,對世界來說是沒有什麼用處的,還有缺少最終確定性。

如果一個節點支付給我一筆錢非常好,但我們也不知道最新的塊是否還會在區塊鏈上,常常會出現軟分叉,塊可能就消失了。在金融世界中,如果轉賬時匯款的錢會消失,我們會允許這一切嗎?不會。我們需要等到塊處理,塊可能需要60、20個塊之後才會出來,延時是非常長的。如果成本很高但是很快的話可以容忍,如果成本很高又慢的話為什麼要容忍呢?

安全性,它安全嗎?可以防禦算法攻擊嗎?可以防禦網絡攻擊嗎?可以防禦算力攻擊,但是不能防止網絡的攻擊。如果大家看到了這一切,你就會發現最終工作量證明是第一個想法,大家其實都同意工作量證明是偉大的想法,但我們需要更好的東西。

下一個階段是權益證明,可能一個詞有很多含義,傳統的含義是委託的權益證明。有些時候會覺得這個月20個人來負責決定下一個塊,下一個月再換20個人,這是分佈式的嗎?不是。但至少這是誠實的,這個月是這20個人來決定,但你要知道這20個人在這個月會成為很大的靶子。假設這20個人都是非常誠實的,但是你要知道有時候一秒鐘內可以對20個人發起拒絕服務的攻擊,一下子區塊鏈就停止了,所以這種設計是不可以的。

擔保的權益證明意味著什麼呢?意味著允許20、200、2000個人把很多錢放在桌上,他們也不能碰它(錢),由出錢的人來決定下一個塊,影響力和出的錢是成比例的。但這樣可以嗎?我問大家一個根本性的問題,典型用戶可支配收入當中有多少比例可以拿出來放在桌上不能碰的?只有很小的比例是可以的。

在這樣的系統中只能讓有錢的人來出資,他們唯一的目的就是控制區塊鏈。這些都是權益的證明,但其實隱藏著中心化的功能。有一些比較開放,比如說委託。有些是比較中心化,比如說擔保權益證明。

我介紹一下純粹權益證明,首先我們不會懲罰任何人。懲罰壞人的概念使我們看起來就像個好人,但這種做法是無的是幻想性的,可能你有一種方式能夠找到壞人懲罰它,但是在現實生活中是不可能的,為什麼不設計一個體系讓壞人不可能得逞不就好了?在純粹的權益證明當中錢始終是在你的手中,錢不會放在桌子上,只會在你的錢包裡。前提是大部分的錢都是在誠實的用戶手中,只要這樣的話系統就是安全的。大部分的錢並不以為這一些人大部分的錢,而是所有用戶大部分的錢,只有所有人大部分錢都是在誠實人手中才是安全的。

這裡錢包裡的每一個代幣都有同樣的決策權,這才是最終的決策系統。為了達到這一點我們必須要開發很多技術。區塊鏈不能只是一種願望,必須是一種技術,能夠實現願望,我們不能每天都在希望。

總結一下,主要的假設是大多數的錢都是在誠實的用戶手中,大多數算力都在誠實用戶手中,有錢的話什麼都可以做,可以買任何東西,包括算力、挖礦的設備,如果你有錢可以買更多的挖礦設備,那麼你就可以擁有很多不誠實的錢。我的主要假設是大多數錢都在公民用戶手中!

Algorand的技術優勢是什麼呢?計算是微不足道的,任何人都有錢做計算。系統是真正去中心化的,因為用戶是不分等級的,只有一個類別的用戶,沒有外生的算力、外生的礦工,付款是有最終確定性的,每一個塊只要一出現就會一直於區塊鏈當中。

Algorand確實會出現分叉,但是分叉的概率是非常非常低的。分叉的概率是10的-18次方,是非常小的。假設每秒出一個塊是非常好的,10的-18次方是從世界發生一直到現在,可能會出現分叉,但你需要等到世界都爆炸以後才能出現分叉,分叉的概率很低。

只要我們能夠傳播出塊就可以出塊,在塊當中你必須要能夠廣播塊,不然系統不存在,所以可擴展性是非常快的。安全性,我們可以防禦非常壞的敵對者,敵對者可能會控制很大的網絡,但我們依然能夠低於協議和網絡的攻擊,區塊鏈不僅僅會在協議層遭到攻擊,而且人們可以會把電線切掉或者把路由器進程重新的編程,要成功的區塊鏈有時會有一大筆資金,一大筆資金上去以後很多攻擊會朝你瞄準。

再來看一下Algorand,創始區塊是“B1”,達成創始區塊的共識是非常容易的,因為是協議的一部分。慢慢的區塊鏈就生成了,你可能會問軟分叉?工作量證明呢?沒有軟分叉,也沒有工作量證明,只有一條鏈,就應該是這個樣子,是一個區塊連另一個區塊。

怎麼實現這一點呢?通過兩個神奇的階段來實現這一點。奇蹟是由算術來達成的,首先要在所有的用戶中隨機選擇一個用戶,選中的概率和在系統中擁有的錢是有比例的。選擇的用戶要提出新的塊,比如說我被選的話就提供一個新的塊,看交易是否有效,如果有效的話就提出一個區塊然後傳播它。

階段二是在所有的用戶中隨機選取1000個用戶,他們需要就第一個用戶所提出的塊所達成共識。在任何社會中肯定會有壞人,即使是1%2%,如果是在真實世界中可能10%20%的人都是壞人。但是壞人不是大多數,你在社會中隨機選擇1000個人,絕大多數人都是誠實的,即使社會中有10%的人是罪犯。一旦你看到一個區塊已經被提出來被簽名了,比如說1000個人當中有750個人簽名了,你就知道這個區塊是正確的下一個區塊,你不需要改變自己的想法。我們就是這樣運作的。

大家肯定會有很多問題,這些問題都非常合理,至少有30個問題是可以提出來的。誰來選擇委員會?如果我是敵對方我想要控制委員會我怎麼來做?回答是反直覺的回答,每一個委員會的成員秘密地選擇自己進入委員會。你會想不是吧,這個想法太可怕了,這應該是我聽過最差的想法。如果我是壞人我可以選擇自己,今天明天后天都可以選擇自己進入委員會來選擇下一個區塊,每一天都可以選擇自己來決定下一個區塊。

先不要這麼早下決定、論斷,為了要選擇自己你必須要運行自己的彩票機制。在我的電腦中必須要運行自己的彩票,如果你贏了就會獲得一張贏了的證明,可以證明你是這個區塊這個委員會的一員。如果你看到我出具的證明就可以對我的出塊選擇支持或者反對。獲勝的概率是和人們在系統中投入的錢有比例。

什麼是“最終速度”?彩票選擇方法只需要一毫秒的時間,一毫秒的時間1000個人就可以選擇自己進入最終委員會,如果我是壞人如果想孵化委員會,但我不知道在委員會中給誰打電話,我不知道哪一個人將會獲得彩票、獲得抽獎。如果你贏得了抽獎就可以傳播消息,那你就可以出具證明,我知道是你但是我沒有辦法孵化你,因為你的時機已經太晚上了,你的意見已經廣播在了網絡當中,要不是支持新塊,要不是反對塊。你的意見已經廣播出去了我現在再賄賂你的話太晚了,總而言之計算非常少,完美地擴展性和交易的安全性可以防止協議和網絡的攻擊。

特別講一講靈活的治理,沒有硬分叉。沒有一個人的價值結構會永遠存在下去,只有是人就會改變,人類會不變地適應。區塊鏈會永遠存在嗎?不會的。所以現在採用的是共識的協議,先提出然後達成共識,這是非常靈活的。同意的是什麼呢?99.9%的時候是就下一個塊達成共識,但我們還可以對規則的變革、新的政策達成共識。所以不一定會就區塊達成共時,有時我們可以以分佈式協作方式來自我監管。


分享到:


相關文章: