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