以太坊1x引發研發熱潮,如何才能實現以太坊更快擴容?
據外媒近日報道,以太坊開發社群如今正圍繞著以太坊1x——一項旨在更快提高這個世界第三大區塊鏈可用性的升級計劃——形成一波研發熱潮。
雖然這項升級的具體程式碼更改還有待達成一致,但積極的討論表明,如果以太坊網路使用者能夠制定、提出並批准一個最終提案,那麼到2019年6月,將會有無數不同的提案可能會被啟用。
儘管如此,根據CoinDesk上週首次報道,這項計劃仍處於早期開發階段。
事實上,以太坊客戶端Parity的釋出經理Afri Schoedon甚至提出了一個建議,即在獨立的區塊鏈網路上釋出這項升級。不過,仍有許多聲音認為以太坊1x應該在現有的以太坊區塊鏈上被啟用,並且要快點進行。
以太坊1x最初被認為是“以太坊2.0”升級的一種補充。以太坊2.0又被以太坊創始人Vitalik Buterin稱為“Serenity”。Serenity的路線圖在6月份進行了更改來包含新的設計規範,這些規範預計將會延遲該升級的啟用。
正如Schoedon向CoinDesk解釋的那樣,開發人員現在更加確定以太坊2.0在2020年之前不會投產。根據Schoedon的說法,開發人員“開始感到恐慌,並說,‘嘿,我們真的需要找到中間解決方案’”,正是這種情緒推動創造了一些能夠近期實現的新想法。
雖然以太坊1x的想法目前可能“聽起來過於激進或有爭議”,但Schoedon說,他們的目標是與社群利益相關者討論所有想法和可能的升級,這些升級“最終都不會引起爭議”。
本月早些時候,在Devcon4以太坊開發者大會上,一些社群成員面對面討論了以太坊1x計劃,他們對該計劃缺乏公眾參與感到不滿。不過,隨著建立公開討論以太坊1x的公共論壇,這些爭議被暫時擱置。
此外,以太坊社群預期將舉行會議並遵循查塔姆宮規則(Chatham House Rules)來協調這一擬議升級的工作,討論內容的公開披露必須排除發言者的署名。
為了鼓勵開發人員之間的公開討論,第一次會議將於明天14:00 UTC舉行。
Schoedon對CoinDesk表示:“我們需要非常清醒地認識到我們是如何做到這一點的。”
“我們需要非常包容社群的每一個人,非常開放和透明地談論所有的想法,討論什麼可能是最好的方法。”
根據以太坊區塊鏈開發小組PegaSys的專案主管Dan Heyman釋出的關於在DevCon4會議上的會議討論記錄,目前有四個不同的工作組負責推進以太坊1x。
其中一個由以太坊核心開發人員Alexey Akhunov領導的團隊,正致力於將儲存租賃引入以太坊平臺。儲存租賃是開發人員在3月份詳細討論的一種機制。它的目的是抑制以太坊“狀態(state)”的增長——也可以被理解為所有在區塊鏈網路上執行的活躍應用和賬戶。
考慮到通過智慧合約在以太坊上構建的去中心化應用(Dapps)的快速增加,為支援這些合約而儲存在區塊鏈上的資料量也在增加。
這就對那些希望通過部署被稱為節點(節點下載並維護活躍區塊鏈狀態的完整副本)的軟體來參與網路的新使用者提出了一個問題。
正如Akhunov告訴CoinDesk的那樣,狀態越多,新加入以太坊網路的電腦下載和維護這些副本所需的時間就越長。
除此之外,Schoedon估算以太坊區塊鏈資料的大小目前約為125g,網路的活躍執行狀態約為10g。
Schoedon說:
“如果以這樣的速度增長,到明年年底,我們可能會看到區塊鏈資料達到200或300G以及龐大的狀態。”
因此,這個向在區塊鏈上儲存智慧合同資料的使用者收取費用的提案旨在減緩以太坊區塊鏈目前的增長速度,從而確保至少在短期內所有使用者都能使用這個網路。
然而,這並不是開發人員目前討論的唯一提案。另一種提案建議將智慧合約資料的某些部分轉移到鏈外。這將有效地把資料儲存的責任推給dapp開發者。
Akhunov承認,這種被稱為“無狀態客戶端”的機制,與儲存租賃提案相比,更容易促進鏈下智慧合約資料。
儘管如此,這個提案仍然存在一些問題,因為它涉及dapp開發者如何共享和更新鏈下資料。
Akhunov表示,
“目前,我在處理無狀態客戶端方面遇到了一個問題。人們認為它們實際上更容易實現,而且在協議升級方面也更容易實現。但對於dapp開發者來說,要支援它們將困難得多。”
並行
除了儲存租賃,另一個專注於1x的團隊正在探索將儲存在區塊鏈上的舊資訊歸檔的提案,以緩解狀態(state)增長所帶來的壓力。
但是在以太坊的資料儲存機制之外,第三個開發團隊——稱為“模擬小組”——旨在“分析當區塊大小增長或延遲增加時區塊鏈發生的問題,”Akhunov說。
這一點尤其重要,因為程式碼優化目前已經提高了以太坊網路的區塊傳播速度。由於新區塊在網路中傳輸速度更快,以太坊礦工也有望在每個區塊中增加更多的交易,並收取更多的交易費用。
Akhunove表示,有關礦工收取的最高交易費用(稱為“gas上限”)究竟高出了多少的研究非常少。
他說:
“目前只有少數研究分析了區塊是如何通過網路傳播的以及如果你提高了gas上限會發生什麼。”
以太坊1x的一些開發工作主要集中在執行模擬來測試更高的gas上限,這是圍繞緩解網路當前面臨的擴容壓力這一更廣泛進展的關鍵研究領域。
因此,以太坊1x——除了解決與區塊鏈狀態大小有關的問題之外——還有望改進以太坊網路的交易吞吐量。事實上,就支援更多網路活動而言,這兩個問題是密切相關的。
根據Akhunov的說法,以太坊1x是不同提案的“集合”,只有這些提案在一起部署時才有效。
他對CoinDesk表示:
“我們希望共同解決這些問題,而不僅僅是一件事。它必須作為一個整體來解決,而不是一次只解決一件事。
立即可用的
第四個開發小組正在研究降低智慧合約部署的成本。他們的想法是,通過這些努力,可以找到一種方法,將智慧合同儲存成本的潛在增長與租賃等提案進行平衡。
通過提出eWASM(一種處理智慧合約程式碼的新型虛擬機器)的一種早期實施,以太坊開發人員旨在利用這種新技術,更容易建立所謂的“預編譯”。
預編譯通常是部署智慧合約的操作,這些操作經過優化後可以在以太坊上以固定的費用(或gas成本)本地執行。正如Akhunov所解釋的,目前在以太坊網路中只有少數幾個被建立。
但是,還需要增加更多的預編譯來簡化智慧合約開發。
由於“核心開發團隊的人員數量有限”,Akhunov承認,“如果我們試圖開始實現人們要求的所有預編譯,我們將永遠無法做任何其他事情。”
在開發預編譯器時,最大的障礙之一是確定一個特定的智慧合約操作的合理的gas成本。
在 通常情況下,開發人員建立公式來衡量預編譯執行所花費的能量和時間。但是通過利用eWASM引擎,這個定價過程是自動完成的。
正如Akhunov強調的那樣:
“eWASM引擎將會做一些叫做測量的事情。它將對操作進行測量,並將收取與這個操作消耗的gas完全相同的費用。
Akhunov預測,通過這項技術,以太坊的核心開發人員將更“容易”地構建預編譯,並補充說,一旦經過全面測試,“計劃將為所有智慧合約開發人員開放eWASM。”
實際上,他們的更長期目標是消除同時建立所有預編譯的需要。對於智慧合約開發人員的其他好處之一是,eWASM引擎預計將以本地網路速度和效率執行所有智慧合約操作。
儘管如此,在實現這一未來之前,以太坊1x設想通過Parity開發人員Afri Schoedon所稱的“開箱即用”解決方案來維持以太坊網路。
雖然預計所有這些解決方案都將在“非常快的時間內”啟用,但Schoedon強調,在“社群廣泛共識”達成之前,他們不會採取任何具體行動。