近來,比特幣持續(xù)暴漲和波動幅度牽動著各大貨幣朋友們的心,幣圈的投資熱情也隨之被調動,人們對下一輪牛市是否會早日到來抱有殷切的期待,越來越多的人開始加入區(qū)塊鏈領域。
遠觀距離中本聰提出比特幣、v神提出以太坊正好過去了10年。 區(qū)塊鏈技術從小規(guī)模的密碼貨幣實驗迅速發(fā)展到每天有數百萬、數千萬賬戶參與的大規(guī)模分布式APP應用。 區(qū)塊鏈的一個重要方向是利用數字貨幣,從以前開始就與銀行和金融市場對接。 可喜的是,更多的人參與領域必然會引入更多的資金,促進區(qū)塊鏈的快速發(fā)展,相應地,基于現有區(qū)塊鏈2.0以太網的性能要求也在不斷提高。
目前,以太坊的性能提升面臨許多瓶頸,區(qū)塊鏈技術改革創(chuàng)新的訴求應運而生。 相信在下一輪牛市之前,區(qū)塊鏈會有很大的改善和提高。 khipu探索了以太坊面臨的問題,表明了改革創(chuàng)新的必要性和前瞻性。
以太坊的瓶頸在哪里?
之所以把以太坊作為典型的例子,是因為在通向分布式計算終極形態(tài)的道路上實現了不折不扣的區(qū)塊鏈。 那么,以太坊在單節(jié)點上執(zhí)行阻塞的極限在哪里? 瓶頸在哪里?
以太坊對公司的APP來說,現在的第一個瓶頸是tps。 tps的提高,一個方案是瓷磚。 例如,以現在的解決能力( tps理論值25左右),100條瓷磚鏈有可能達到2,500t PS。 成本上,本來例如5萬個節(jié)點可以支撐一條鏈,但現在一條鏈只有1/100,即500個節(jié)點,TPS上升,但安全性和可靠性下降。 因此,最重要的是提高單鏈的tps,也就是單節(jié)點的tps。 例如,如果提高到1,000 TPS,則10個瓷磚鏈可能會達到10,000 TPS。 此時,保證每個鏈有5,000個節(jié)點的背書。 tps導致了cpu的提高,現在只能單線程串行執(zhí)行事務處理,必須實現并行執(zhí)行事務處理的能力,才能實現cpu突破。
塊內合同并行執(zhí)行的困難在于,事先不知道合同之間的依賴關系。 以太網協(xié)議中可能同時存在競爭狀態(tài)的是對同一地址的帳戶、存儲、evn代碼的訪問。 在制定合同時確定并指定可能發(fā)生沖突的地址范圍后,從三種可能發(fā)生沖突的情況來看,確定并保證沒有錯誤、沒有遺漏顯然是不現實的。 競爭狀態(tài)是否出現、在哪里出現、在什么樣的條件分支下出現,只有在明確得到相關的當前狀態(tài)之后才能進行評價。 這個評價在現在的合同編程語言中,通過靜態(tài)分解代碼幾乎不可能得到完全正確且無遺漏的結果。
但是,這并不意味著塊內合同不能并行執(zhí)行。 有趣的是,這個問題以薩利姆已經提出很多年了,但沒有人真正嘗試過。 其實,現在這個問題不是理論和設計,而是工程問題,在工程實施過程中可以探索設計中存在的問題,然后提出更好的設計。
khipu突破2.0瓶頸,應對實際困難
khipu領導了這方面進行了比較全面的嘗試,完成了工程的實現。
khipu的實現方案是,各交易從前期區(qū)塊的世界狀態(tài)分別并行執(zhí)行,記錄執(zhí)行中理想經驗路徑遇到的以上三種競爭狀態(tài)。 并行階段結束后,進入合并階段。 從合并階段開始逐一合并并行世界的狀態(tài),每次合并一筆交易,根據記錄的競爭狀態(tài)條件來評價是否與先前合并的競爭狀態(tài)條件沖突,否則直接合并; 如果有,以之前合并的世界狀態(tài)為起點再次執(zhí)行這筆交易。 最后整合的世界狀態(tài)用塊的散列進行最后的檢查。 這是最后一道防線,如果檢查錯誤,則放棄前面的并行方案,再次串行執(zhí)行塊內的交易。
khipu在這里引入了并行度的指標。 也就是說,可以直接合并結果而無需在一個塊內重新執(zhí)行的交易的百分比。 根據khipu的實際測試結果,該并行比率平均可以達到80%。
一般來說,如果計算任務能夠完全并行化,則單鏈的可擴展性將是無限的。 可以在每個節(jié)點上增加cpu核心的數量。 否則,最大的理論速度將受限于安德魯定理( am Dahl’slaw )。 系統(tǒng)高速化的極限由不能并行化的部分的倒數決定。 如果能夠實現99%的并聯化,就可以實現100倍的高速化。但是,如果只能實現95%的并聯化,就只能實現20倍的高速化。 在以太網的例子中,如果有80%的并行化,20%不能并行化,則因為是20%的倒數5,所以khipu能夠高速化的極限是5倍。
標題:“Khipu(奇普):目前世界上最快的以太坊實現”
地址:http://www.paulsmart.net/lyzx/34308.html