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