本篇文章1696字,讀完約4分鐘

麗寶廣場(chǎng)辦公室出租

近來(lái),比特幣持續(xù)暴漲和波動(dòng)幅度牽動(dòng)著各大貨幣朋友們的心,幣圈的投資熱情也隨之被調(diào)動(dòng),人們對(duì)下一輪牛市是否會(huì)早日到來(lái)抱有殷切的期待,越來(lái)越多的人開(kāi)始加入?yún)^(qū)塊鏈領(lǐng)域。

遠(yuǎn)觀距離中本聰提出比特幣、v神提出以太坊正好過(guò)去了10年。 區(qū)塊鏈技術(shù)從小規(guī)模的密碼貨幣實(shí)驗(yàn)迅速發(fā)展到每天有數(shù)百萬(wàn)、數(shù)千萬(wàn)賬戶參與的大規(guī)模分布式APP應(yīng)用。 區(qū)塊鏈的一個(gè)重要方向是利用數(shù)字貨幣,從以前開(kāi)始就與銀行和金融市場(chǎng)對(duì)接。 可喜的是,更多的人參與領(lǐng)域必然會(huì)引入更多的資金,促進(jìn)區(qū)塊鏈的快速發(fā)展,相應(yīng)地,基于現(xiàn)有區(qū)塊鏈2.0以太網(wǎng)的性能要求也在不斷提高。

目前,以太坊的性能提升面臨許多瓶頸,區(qū)塊鏈技術(shù)改革創(chuàng)新的訴求應(yīng)運(yùn)而生。 相信在下一輪牛市之前,區(qū)塊鏈會(huì)有很大的改善和提高。 khipu探索了以太坊面臨的問(wèn)題,表明了改革創(chuàng)新的必要性和前瞻性。

以太坊的瓶頸在哪里?

之所以把以太坊作為典型的例子,是因?yàn)樵谕ㄏ蚍植际接?jì)算終極形態(tài)的道路上實(shí)現(xiàn)了不折不扣的區(qū)塊鏈。 那么,以太坊在單節(jié)點(diǎn)上執(zhí)行阻塞的極限在哪里? 瓶頸在哪里?

以太坊對(duì)公司的APP來(lái)說(shuō),現(xiàn)在的第一個(gè)瓶頸是tps。 tps的提高,一個(gè)方案是瓷磚。 例如,以現(xiàn)在的解決能力( tps理論值25左右),100條瓷磚鏈有可能達(dá)到2,500t PS。 成本上,本來(lái)例如5萬(wàn)個(gè)節(jié)點(diǎn)可以支撐一條鏈,但現(xiàn)在一條鏈只有1/100,即500個(gè)節(jié)點(diǎn),TPS上升,但安全性和可靠性下降。 因此,最重要的是提高單鏈的tps,也就是單節(jié)點(diǎn)的tps。 例如,如果提高到1,000 TPS,則10個(gè)瓷磚鏈可能會(huì)達(dá)到10,000 TPS。 此時(shí),保證每個(gè)鏈有5,000個(gè)節(jié)點(diǎn)的背書(shū)。 tps導(dǎo)致了cpu的提高,現(xiàn)在只能單線程串行執(zhí)行事務(wù)處理,必須實(shí)現(xiàn)并行執(zhí)行事務(wù)處理的能力,才能實(shí)現(xiàn)cpu突破。

塊內(nèi)合同并行執(zhí)行的困難在于,事先不知道合同之間的依賴關(guān)系。 以太網(wǎng)協(xié)議中可能同時(shí)存在競(jìng)爭(zhēng)狀態(tài)的是對(duì)同一地址的帳戶、存儲(chǔ)、evn代碼的訪問(wèn)。 在制定合同時(shí)確定并指定可能發(fā)生沖突的地址范圍后,從三種可能發(fā)生沖突的情況來(lái)看,確定并保證沒(méi)有錯(cuò)誤、沒(méi)有遺漏顯然是不現(xiàn)實(shí)的。 競(jìng)爭(zhēng)狀態(tài)是否出現(xiàn)、在哪里出現(xiàn)、在什么樣的條件分支下出現(xiàn),只有在明確得到相關(guān)的當(dāng)前狀態(tài)之后才能進(jìn)行評(píng)價(jià)。 這個(gè)評(píng)價(jià)在現(xiàn)在的合同編程語(yǔ)言中,通過(guò)靜態(tài)分解代碼幾乎不可能得到完全正確且無(wú)遺漏的結(jié)果。

但是,這并不意味著塊內(nèi)合同不能并行執(zhí)行。 有趣的是,這個(gè)問(wèn)題以薩利姆已經(jīng)提出很多年了,但沒(méi)有人真正嘗試過(guò)。 其實(shí),現(xiàn)在這個(gè)問(wèn)題不是理論和設(shè)計(jì),而是工程問(wèn)題,在工程實(shí)施過(guò)程中可以探索設(shè)計(jì)中存在的問(wèn)題,然后提出更好的設(shè)計(jì)。

khipu突破2.0瓶頸,應(yīng)對(duì)實(shí)際困難

khipu領(lǐng)導(dǎo)了這方面進(jìn)行了比較全面的嘗試,完成了工程的實(shí)現(xiàn)。

khipu的實(shí)現(xiàn)方案是,各交易從前期區(qū)塊的世界狀態(tài)分別并行執(zhí)行,記錄執(zhí)行中理想經(jīng)驗(yàn)路徑遇到的以上三種競(jìng)爭(zhēng)狀態(tài)。 并行階段結(jié)束后,進(jìn)入合并階段。 從合并階段開(kāi)始逐一合并并行世界的狀態(tài),每次合并一筆交易,根據(jù)記錄的競(jìng)爭(zhēng)狀態(tài)條件來(lái)評(píng)價(jià)是否與先前合并的競(jìng)爭(zhēng)狀態(tài)條件沖突,否則直接合并; 如果有,以之前合并的世界狀態(tài)為起點(diǎn)再次執(zhí)行這筆交易。 最后整合的世界狀態(tài)用塊的散列進(jìn)行最后的檢查。 這是最后一道防線,如果檢查錯(cuò)誤,則放棄前面的并行方案,再次串行執(zhí)行塊內(nèi)的交易。

khipu在這里引入了并行度的指標(biāo)。 也就是說(shuō),可以直接合并結(jié)果而無(wú)需在一個(gè)塊內(nèi)重新執(zhí)行的交易的百分比。 根據(jù)khipu的實(shí)際測(cè)試結(jié)果,該并行比率平均可以達(dá)到80%。

一般來(lái)說(shuō),如果計(jì)算任務(wù)能夠完全并行化,則單鏈的可擴(kuò)展性將是無(wú)限的。 可以在每個(gè)節(jié)點(diǎn)上增加cpu核心的數(shù)量。 否則,最大的理論速度將受限于安德魯定理( am Dahl’slaw )。 系統(tǒng)高速化的極限由不能并行化的部分的倒數(shù)決定。 如果能夠?qū)崿F(xiàn)99%的并聯(lián)化,就可以實(shí)現(xiàn)100倍的高速化。但是,如果只能實(shí)現(xiàn)95%的并聯(lián)化,就只能實(shí)現(xiàn)20倍的高速化。 在以太網(wǎng)的例子中,如果有80%的并行化,20%不能并行化,則因?yàn)槭?0%的倒數(shù)5,所以khipu能夠高速化的極限是5倍。

標(biāo)題:“Khipu(奇普):目前世界上最快的以太坊實(shí)現(xiàn)”

地址:http://www.paulsmart.net/lyzx/34308.html