EOS声称的每秒百万级的交易速度靠谱么?
之前看得關(guān)于DPOS的介紹不對,修改一下答案,并不影響結(jié)論。
————————————————————————————
謝邀。
先說結(jié)論:當然可能,因為EOS采用了兩個可以擁有無限可能(隨便吹)的技術(shù):DPOS和分片。
更細的我以后專欄里寫(最近忙拖了好多篇了),這里簡單說一下。
首先,有幾個數(shù)字你們先感受一下:
1,比特幣的交易輸出是7筆每秒,理論上類比特幣POW可以支持的交易速度的量級是10筆每秒。
2,PBFT的交易輸出是1000筆每秒量級的,但是不可擴展,沒人試過超過64個節(jié)點會怎么樣,基本可以認為不可用。
3,改進的BFT算法Zyzzyva的輸出是10k筆每秒量級的,與PBFT相比,它對惡意節(jié)點數(shù)量更敏感,惡意節(jié)點多的時候延遲會比PBFT高。這個算法是可擴展的但是不是無限擴展的,也就是節(jié)點數(shù)量增加,輸出不變,但是延遲會爆炸。
這三者什么關(guān)系呢?
比特幣系統(tǒng)通信復雜度O(N),可以支持上萬個節(jié)點,但是輸出不能超過10筆每秒量級,否則不安全。(不過這個已經(jīng)和現(xiàn)實中的比特幣有相當?shù)牟罹嗔?#xff0c;因為現(xiàn)實中的比特幣沒有那么多挖礦節(jié)點,相當中心化,所以其實可以支持更高的輸出,這里略過不提)
PBFT的通信復雜度O(N^2),所以不可擴展,這可以認為是嚴格的拜占庭容錯的輸出上限。
Zyzzyva的通信復雜度O(N),可以擴展,這基本上是把任何一條消息廣播給整個網(wǎng)絡的極限速度。
但是,三者的安全模型是什么樣的呢?比特幣的安全假設是惡意節(jié)點的算力少于全網(wǎng)一半,PBFT和Zyzzyva是惡意節(jié)點數(shù)量少于1/3,而實際上,在惡意節(jié)點增加的情況下,Zyzzyva的延遲會很高。
于是我們有了DPOS,DPOS的安全模型是什么樣的呢?
模型是——作惡就不會再次被選成代表。拜占庭容錯?不存在的。
在這種共識模型下,其實共識特別簡單——隨便選個人發(fā)布區(qū)塊就好了,反正有問題就不投他票。通信復雜度O(N)。然后由于中心化,根本不用考慮傳輸延遲問題。
——————————————————————————————————
比特幣把拜占庭容錯的通信復雜度降到O(N)的方式是——給予作弊者懲罰。
于是,從博弈論的角度,惡意節(jié)點作弊的成本和可能受益被簡化了——唯一可能受益的方式是雙重支付,成本是超過50%算力。
整個公有鏈共識算法的研究,其實都是在找一個方法如何保證區(qū)塊發(fā)布人不會作弊,或者說,保證作弊的成本高于可能的收益。
為什么這么說呢?因為只要找到這樣的區(qū)塊發(fā)布人,拜占庭容錯的問題,就可以直接被簡化成廣播區(qū)塊的問題。
不可擴展直接變成可擴展。
然后,就在所有人都在用各種方法來尋找,論證一種所有可能攻擊的成本都高于收益的算法的時候,DPOS出現(xiàn)了。
它告訴我們——用選票就好了。
如果作弊了怎么辦?下次不選它就好了。
作弊的成本是什么?以后不被選。
那選多少人合適呢?大家投票就好。
獎勵給多少合適呢?大家投票就好。
如果你假設DPOS所有人都投給自己的話,DPOS實際上就是POS,而POS是會受到無利益攻擊的。如果大家都投給一個人,那么這就是中心化系統(tǒng)。
然后DPOS說由于大家有了選票,所以一切問題都迎刃而解……
這東西聽著很印度啊!
當然,我不是說DPOS就一定不好,我只是說,DPOS并沒有解決問題,它只不過把問題給換了個形式。POW怕礦霸,POS怕無利益攻擊,DPOS怕什么,可以當課后練習題——攻擊DPOS系統(tǒng),需要什么條件?
而且,如果說有了選票選舉出來的中心就是可以被信任的中心的話,那么你為什么不信任政府來著?又或者說,如果符合更多人的利益的中心就是可以被信任的中心的話,那么被市場選出來的中心化的企業(yè)也符合這個條件啊。
為什么認為在區(qū)塊鏈系統(tǒng)里的投票系統(tǒng)會優(yōu)于現(xiàn)實中呢?是因為在虛擬世界你會比現(xiàn)實中的更理性?還是在虛擬世界被選舉人信息更透明更可信?
——————————————————————————————
以上問題先放在一邊,假設采用了DPOS之后,選出來的節(jié)點不會作弊。
在這個前提下——好像就找?guī)讉€節(jié)點負責廣播所有交易也沒問題嘛,反正它們不會作弊。
然后,既然它們不會作弊,何必要廣播所有交易呢?大家信他們就好了。誰關(guān)心其他人的交易記錄啊!這么多人有比特幣,有人用完全節(jié)點嗎?
然后,既然不用廣播所有交易,干嘛要讓每個節(jié)點都記錄所有交易呢?每個節(jié)點記錄一部分不就好了?
是不是聽起來很有道理?因為分布式數(shù)據(jù)庫就是這么做的。
那么,區(qū)塊鏈不是分布式數(shù)據(jù)庫嗎?
不是,至少,不是傳統(tǒng)分布式數(shù)據(jù)庫,因為傳統(tǒng)分布式數(shù)據(jù)庫不考慮拜占庭容錯,不考慮惡意節(jié)點。
——————————————————————————————
分片是個好技術(shù)——當一定條件滿足的時候,的確可以分片。學術(shù)界的算法Elastico和Omniledger都用了分片,但是,它們也都明確地寫了,在惡意節(jié)點數(shù)量少到一定程度的時候,是可以分片的。
POW,POS,或者DPOS可以分片嗎?可以的,如果惡意節(jié)點所占的比例(算力/權(quán)益/選票)很少的話,因為分片就導致安全性降低。
但是你不能說——因為我有了選票,所以被選上的人就不會作弊,所以我們就可以把它當成一個分布式數(shù)據(jù)庫分片了,不帶這么玩的。
編輯于 2018-01-23202?80 條評論?分享?收藏?感謝?收起 Jasin Yip前端開發(fā)、JavaScript?話題的優(yōu)秀回答者61 人贊同了該回答EOS 聲稱的每秒百萬級的交易速度靠譜么?是否靠譜這個需要達到這個交易量級才能驗證,目前沒有看到任何嚴謹?shù)耐ㄟ^數(shù)學和邏輯的方式證明它可以達到這個數(shù)字(希望有人可以打我臉,我也學習一個)。
說點離題的,在目前這個交易量級來說,聲稱這個速度除了宣傳之外并沒有什么卵用,因為交易數(shù)量遠遠達不到這個層面(支付寶 2017 年雙十一每秒交易峰值才 25.6 萬筆),這不應該是一個高優(yōu)先級的工作,應該把重心先放在其它地方。
我的核心問題是:每秒百萬級交易速度是如何實現(xiàn)全區(qū)塊同步的?不確定你所說的「全區(qū)塊同步」是什么意思,我姑且理解為所有節(jié)點都同步上吧?
實際上 EOS 采用的是通過投票選舉出 21 個超級節(jié)點來進行同步,只需要將 21 個節(jié)點同步完就可以。
它是多中心化而非去中心化的,安全?信任?
此問題下低質(zhì)回答占主要,這反映了 EOS 目前名氣非常大,根據(jù)金字塔分布,太多對風險投資、區(qū)塊鏈原理都不了解的人都知道了它,以至于作出太多不理性不客觀的回答。建議大家理性討論問題,不要靠臆想和刻板印象,多了解原理、技術(shù)、風險資本和社會學。
利益相關(guān):Cardano 堅定信仰者。
https://www.zhihu.com/question/265927960
總結(jié)
以上是生活随笔為你收集整理的EOS声称的每秒百万级的交易速度靠谱么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 距离语音交互技术的更大范围应用,还差点什
- 下一篇: 图灵奖得主Sivio Micali的Al