比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 屎幣 > Info

萬字長文詳解以太坊最新研發進展_ASM

Author:

Time:1900/1/1 0:00:00

寫在前面:本文由20位專業以太坊研發者撰寫的15篇子文章組成,他們分別就不同客戶端、Ewasm、形式化驗證、Remix、Plasma、ETH2.0、Solidity、狀態通道、ZoKrates等細分研發工作進行了總結,原文發布在

以太坊基金會官網。

以下是譯文:

朋友們,

自上次發布報告以來,以太坊研發已取得了全面的進展。從改善網絡條件,到接下來的伊斯坦布爾硬分叉發布,以及Eth1.x和Eth2.0的開發,以太坊功能性和可持續性的所有核心領域都在進步。

本系列文章的重點,在于覆蓋以太坊基金會及更廣泛的以太坊生態系統的團隊及嘗試,這些團隊和嘗試正致力于改進以太坊,讓其作為一個整體發展。在這篇文章中,我們將介紹上一份報告中重點介紹的很多團隊的最新情況,以及以太坊生態系統的核心要素,如Eth2.0研究、Geth、Solidity以及其他生態系統工作。

Enjoy!

內容目錄

一、Aleth/C++以太坊

EVM&其它共識

?網絡

RPC

數據庫

?Testeth工具

二、生態支持項目

臺灣專項撥款

不斷增長的非財務支持

網站改進

三、Ewasm

Scout

執行環境

快速密碼學

速度、計量、大小

?工具

四、形式化驗證

五、Geth

六、Javascript團隊

Web3.js

?Ethers.js

EthereumJS

Grid

七、Python生態系統

Web3.py

Trinity

EthPM

八、Remix

九、研究

十、研究

十一、研究

十二、安全性

十三、Solidity

?Webassembly

?Solidity0.6.0

?SMTChecker

YulOptimizer

十四、狀態通道研究

狀態通道的下一步該怎么走?

十五、ZoKrates

一、Aleth/C++以太坊

作者:AndreiMaiboroda

Aleth團隊是在跟進伊斯坦布爾升級以及Eth1.x鏈開發的客戶端團隊之一。Aleth1.7.2版本客戶端對伊斯坦布爾升級是完全支持的。

1、1EVM&其它共識

evmone項目的重要里程碑:

在這個實驗性快速EVM項目的初始版本發布之后,我們集中精力從中壓榨出更多的性能。0.2.0版本要比前一版本快66%。隨后,0.3.0版本使evmone與伊斯坦布爾升級規范相兼容。對于那些對evmone試探索概念感興趣的人以及關于優化EVM的更多信息,請參閱Devcon5大會演講上提供的EVM實現的優化技術幻燈片以及關于EVM的高效gas計算算法的文章。

EVMC項目在伊斯坦布爾的支持下得到了所需的更新。它們都被打包到EVMC7.0.0當中。

在aleth解釋器中,開發人員也進行了一些優化,以消除某些操作碼實現中不必要的狀態訪問。由于evmone項目提供的EVM測試套件,這些無效訪問變得顯而易見。

債權市場OPNX單日交易額首次達到200萬美元:4月13日消息,三箭資本創始人Su Zhu等人創辦的加密債權交易市場Open Exchange(OPNX),過去24小時交易額首次超過100萬美元,達到199.5萬美元;其中現貨交易量38.6萬美元,永續合約交易量160.9萬美元。[2023/4/14 14:02:21]

aleth解釋器也從使用boost::multiprecision切換到intx庫。這是在不依賴于boost的情況下發布aleth解釋器的一個步驟,但也允許做一些有趣的基準測試,看看256位整數的boost實現對我們的需求而言是有多低效。

在伊斯坦布爾升級完成之后,我們為未來的硬分叉柏林選擇了幾個EIP:其中EIP-1380會降低自我調用的gas成本,EIP-2046則降低了預編譯靜態調用的gas成本。這些實現可在testeth工具中進行激活,參見下面的內容:

1、2網絡

我們實施了一個已被其它主網客戶端采用的優化措施:在PoW檢查之后立即將新區塊廣播至對等節點,而不是等待完全驗證及執行。我們還對交易池記住的先前丟棄交易數設置了上限。

devp2phandshake期間報告的客戶端版本已得到了修復,并允許在ethernodes上正確顯示Aleth的版本。

1、3RPC

為了更好地符合其他客戶端RPC接口中使用的輸入/輸出格式,我們做了很多修改。由于解決了不必要的區塊交易重新執行問題,很多方法獲得了顯著的性能提升。這在很多頻繁的RPC請求的用例中,可能會被注意到,例如在aleth中使用

retesteth時。

1、4數據庫

從現有區塊數據庫重建索引工作已經完成,并且得到了優化,這將允許我們在未來優化和修改索引數據庫的布局。

1、5Testeth工具

測試團隊對共識測試文件夾結構進行了重組織,現在Testeth工具已經支持了它,伊斯坦布爾升級之前所有涉及fork規則的測試都在LegacyTests套件中。

現在可以生成狀態測試,并使用“forkname+EIP_number”之類的字符串代替expect部分中的常規fork名稱來運行。這允許任何計劃在aleth中創建新EIP原型的人,在分叉接受EIP之前為它們生成測試。作為機制的一個例子,上面提到的兩個新EIP可以在testeth中激活,我們創建了兩個狀態測試來說明這個特性。

我們還修復并優化了testeth的特性,以運行任何自定義測試文件,并使其輸出更符合go-ethereum的evm工具。這使我們能夠將testeth集成到goevmlab項目中,現在aleth的EVM實現與其他三個主要客戶端的EVM一起參與了交叉模糊化工作。

其它的改進:

為那些從頭建造aleth的人提供了更好的構建過程;

docker圖像的改進;

二、生態支持項目

作者:ESP團隊

2、1臺灣專項撥款

最近,我們給CrosslinkTaipei項目發放了5筆2000-5000美元的補助金,這些是一系列旨在表彰世界各地社區貢獻的補助計劃的其中一個案例。

2、2不斷增長的非財務支持

我們正繼續擴展我們對項目“支持”的定義,在這些項目中,定期撥款并不合適。我們提供的一些非財務支持,包括專家顧問的反饋、連接正在進行類似工作的團隊、AWS信用、參加活動的邀請等等。

2、3網站的改進

三、Ewasm

作者:AlexBeregssaszi和PaulDworzanski

自上一次更新以來,Ewasm團隊的重點已經轉向了Eth2.0的研究,以及與其它團隊進行密切合作。

目前,Eth2.0的第2階段執行層開發工作正在積極進行,它是與第0階段和第1階段的開發工作并行的。關于第2階段,研發者已提出了多項提議,Ewasm團隊一直致力于將有原型和基準的設計,建立在Scout的最低基礎上。

0xScope:某地址將200萬枚SAND轉入Binance,過去數日已合計轉入800萬枚:12月28日消息,0xScope鏈上監測數據顯示,某地址在半小時前將200萬枚SAND(約82萬美元)轉入了Binance。據悉,這筆SAND是該地址在12天前收到的1000萬枚SAND中的一部分,該地址已將1000萬枚SAND中的800萬枚轉移到了Binance,地址內尚余有最后200萬枚SAND。

同期,SAND的價格從0.58美元跌到了0.41美元。[2022/12/28 22:12:50]

3、1Scout

Scout規范是執行環境的最小接口。這個最小的接口足以對無狀態EE進行原型化,而無狀態EE是驗證無狀態模型所必需的,并且可以為Ewasm和第2階段的設計提供信息。

Scout有三種實現方式:

用Rust語言寫的scout,專為快速原型開發和協作而設計;

用Typescript寫的scout.ts,用于快速原型開發和瀏覽器支持;

用C++寫的ScoutOne,為性能和生產使用而設計,可嵌入到Eth2.0客戶端;

3、2執行環境

與Eth1.0有狀態模型不同,Eth2.0的設計是無狀態的,因為狀態存儲在鏈外,而只有表示狀態的哈希存儲在鏈上,而驗證內容作為交易的一部分進行傳遞。

無狀態模型提出了新的挑戰,這需要原型和測量來驗證它的可行性。

Ewasm團隊在原型設計及測量無狀態EE方面付出了巨大努力,我們將其分類成:

1、必須與Eth1數據結構和執行兼容的執行環境;

SMPT使用RLP序列化驗證內容及交易數據,并使用Eth1簽名方案。

用Assemblyscript實現的EVM;

biturbo,使用多證明更有效地編碼驗證數據,還支持EVM執行;

2、不需要向后兼容的設計;

KMMTokenEE,針對驗證內容大小和執行時間進行了優化;

Groth16驗證程序實現,用于支持Eth2.0的zk-SNARKs;

STARK驗證程序實現;

值得注意的是對Eth1和Eth2鏈之間相互作用的積極研究。為了幫助評估“切換”方案,其中Eth1被移動到Eth2上的執行環境,上述Eth1EE會被原型化。團隊還在積極評估連接這兩個網絡的方案及其對EE設計的影響。

我們的最終目標,是為現有及新的DApp提供良好的開發體驗。

這項EE工作已反饋到Scout及Eth2.0的設計當中。

3、3快速密碼學

要想使Ewasm虛擬機成功,我們必須在鏈上執行昂貴的crypto。幸運的是,crypto在bigint算法中經常有runtime瓶頸。首先,我們對密碼學原語的各種實現進行了基準測試,以確定瓶頸。然后我們設計了一個快速的本地bigintAPI來解決這些瓶頸。最后,我們在其創建者的協作下,擴展了高度優化的

websnark庫,以調用這個bigintAPI。

結果是令人鼓舞的:通過在解釋器中實現這個bigintAPI,我們在橢圓曲線操作上接近了本機速度!我們現在可以接近本機速度執行配對,這是Ewasm研發工作中最近獲得的最大成功。

這項工作允許上述EE原型在Eth2的性能約束下運行。

3、4速度、計量和大小

Ewasm還有很多其它與速度、計量以及和字節碼大小有關的項目。從Wasm引擎優化,到計量分析,到字節碼轉換,Ewasm團隊正努力設計盡可能最佳的執行系統。

3、5工具

我們一直在為Ewasm的工具工作。

Eth2和bigintAPI的結合,是為Assemblyscript以及Rust提供的。

美聯儲柯林斯:關注加密貨幣領域,但沒有看到系統性威脅:金色財經報道,美聯儲柯林斯表示,隨著加息的進行,對利率“過高”的擔憂確實在升溫。關注加密貨幣領域,但沒有看到系統性威脅。[2022/11/19 13:23:39]

如果Wasm字節碼需要擴充,則開發一個名為chisel的可擴展工具來提供Ewasm和非Ewasm應用所需的各種轉換。

四、形式化驗證

作者:LeoAlt

新的形式化驗證團隊正在開發相關工具,為基金會的其他團隊提供正式的模型和證明,并與以太坊FV社區的成員共同努力。

最近的工作重點有:

Solidity的SMTChecker,這是一個用于Solidity智能合約的無限模型檢查器;

KYul,Yul語義在K.KYul中被進一步用于通過計算非優化和優化Yul代碼的互模擬證明來支持Solidity編譯器;

在FV社區各成員的支持下,領導智能合約規范語言的開發。規范語言用于描述合約屬性,旨在簡單化,并得到許多FV工具的支持;

在信標鏈驗證工作中,支持Eth2研究團隊以及Runtime驗證;

維護HEVM,這是一個完全兼容的HaskellEVM實現;

支持測試團隊利用在不同EVM實現中發現的分歧,來擴展以太坊測試的覆蓋范圍;

五、Geth

作者:PéterSzilágyi

Geth團隊在今年7月份發布v1.9.0版本客戶端后,我們一直在忙著迭代現有的代碼庫、修復發現的任何問題,以及為客戶端準備迎接伊斯坦布爾硬分叉。除了這些維護更改之外,Geth團隊還為將來的一些新事物打下了基礎。

我們已圍繞用于網絡和對等節點發現的ENR建立了一個由5個EIP組成的寶庫。

forkid工作已部署到以太坊協議之上,允許Geth節點在不兼容的機器之間干凈地劃分網絡。這些記錄還被一個新的通過DNS公開的發現服務索引,這使得日蝕攻擊變得更加困難,并將允許以太坊在UDP被鎖定的環境中運行。

性能方面,我們正在多個方面開展工作。在spectrum方面,我們試圖通過使交易更智能地傳播來減少網絡負載。另一方面,我們正在研究一個狀態捕捉器,它可以跟蹤活躍鏈,并作為EVM執行和狀態同步的加速結構。在此期間,我們正在為Geth開發各種配置選項,允許用戶丟棄數據庫中對他們沒有用處的部分,從而節省寶貴的SSD容量。這些都是有希望的前進路線,我們將在不久的將來分享一些數字。

我們在輕量級客戶端基礎設施上也投入了大量工作,允許服務器運營商通過RPCAPI分配和管理客戶端優先級和資源許可。雖然長期而言,輕客戶端的激勵,計劃通過點對點協議工作,但目前的功能集已允許運營商在Geth之外收取付款,并與Geth的內部會計同步。這將立即允許任何人創建付費的輕服務器服務。目前,我們正在為完全P2P支付層做開發工作。

六、Javascript團隊

作者:SamuelFurter、HolgerDrewes、MarcGarreau、EvertonFraga以及RichardMoore

你可能已經聽說過了,因為這并不是什么秘密,但我們還是要利用這次EFDev報告的機會,正式向大家宣布:EF已經組建了一只強大的新JavaScript團隊,將以下已建立的項目集合在一起:

Web3.js;

Ethers.js;

EthereumJS;

Grid;

來自這些不同團隊的人員,已開始跨項目線做出貢獻,并討論了

互操作性問題,我們預計在中期的未來將出現強大的協同效應。在明年的第一季度,我們將作為一個新的團隊共同成長,并建立起信任和必要的組織結構。期待在2020年的時候,我們將提出和執行一個連貫的戰略和愿景,以最大限度地發揮我們的影響,支持以太坊JavaScript/TypeScript開發者生態系統。這將超出以往單一項目的范圍。

加密交易所Kraken的NFT平臺上線測試版:金色財經報道,加密交易所Kraken的NFT平臺今天將進入私人測試版,并向所有注冊候補名單的用戶開放。Kraken NFT的候補名單于5月開放?。該市場預計將在夏季推出,但經歷了幾次延誤。

Kraken發言人表示,該市場將在測試版發布中為客戶提供跨以太坊和Solana生態系統的70多個NFT集合的訪問權限。[2022/11/4 12:15:12]

然而,目前的項目并不會被遺忘。我們非常清楚,我們必須關心并進一步開發在社區內被廣泛使用的工具。因此,以下內容是關于各子項目的更新,以揭示在上一季度中,這些項目都發生了什么。

6、1Web3.js

自上一篇EF博客文章發布以來,我們已經發布了多個

Web3.js補丁,并切換到語義化版本控制。這些修補程序添加了TypeScript的支持,擴展了交易簽名功能,添加了交易確認工作流屬性,添加了JSON-RPC方法

getChainId,將

connected事件添加到訂閱,使用方法

supportsSubscription和其他效用函數擴展提供者接口,以使用bloom過濾器。

關于新特性及改進的更多細節,你可以在GitHub上的發布公告中看到。

目前,我們的重點是減少bundle的大小,提高性能,為WebsocketProvider添加重連接,以及改進TypeScriptDX。

除了這些改進之外,我們還有幸目睹Chris加入EF-JS團隊,目前Chris在支持Web3.js開發,當然他也會參與所有其他EF-JS包的開發工作。

6、2Ethers.js

我們已經為公共使用做好了

v5準備,并且采用率一直在穩步增長。對于所有嘗試它并報告相關問題的人,我們表示非常感謝。

v5的重點是為框架開發人員添加可擴展性和改進API,包括一個新的框架ethers-app,重點是dapp開發人員。

由于新問題的數量已經減少,我們預計v5將很快投入應用,只需在管道中進行一些小的更改。

6、3EthereumJS

EthereumJS方面,最值得注意的是針對伊斯坦布爾升級的不同組件的發布:VM在9月份得到了一個更大的

v4.1.0更新,我們目前正在消除最后的bug,使VM完全符合官方測試套件。在伊斯坦布爾升級環境中要提到的其他更新,與交易、區塊和公共庫有關。

6、4Grid

自上次EF博客文章更新以來,開發者對

以太坊Grid進行了幾次重大升級。該應用程序現在位于你的操作系統任務欄中,并提供一個簡單的用戶界面來下載、配置和運行以太坊客戶端和工具。該插件系統將隨著每一個新的集成而不斷改進,但同樣令人興奮的是Grid應用。該應用已可用來測試RPC方法、通過Geth的GraphQL實現查詢區塊數據,用Clef簽署交易等等。團隊一直在忙著編寫使用Grid可做什么的教程,你可以在Medium上看到

這些教程。

七、Python生態系統

作者:PiperMerriam

7、1Web3.py

最近的工作是改善穩定性和文件記錄。當前的開發重點是添加對庫的異步支持。

7、2Trinity

開發者正開發一個Trinity客戶端的beta版本,其中包括新開發的“BeamSync”。我們還專注于和更廣泛的客戶端團隊生態系統的合作,以解決一些更大的問題,并找出Eth1.x向2.0世界的遷移路徑。

7、3EthPM

我們繼續在關注生態系統工具。

ethpm-cli開發工作繼續進行,允許安裝來自不同來源的包,以及構建和發布包。

Revolut 將在歐洲推出“BNPL產品:金色財經報道,Revolut 將在歐洲推出其分期付款產品:先買后付,本周將從愛爾蘭的一組精選客戶開始。根據 Revolut 的說法,Pay Later 將是愛爾蘭第一個使用批準的信用額度并考慮可負擔性的 BNPL 產品。除此之外,客戶將可以控制他們何時使用“先買后付”,而不是僅限于某些商家合作伙伴關系。

190 萬成年人在愛爾蘭擁有 Revolut 賬戶,該地區將首先推出稍后付款服務。然后,挑戰者銀行將尋求從 2022 年底開始在其他市場提供該產品,波蘭和羅馬尼亞將成為下一個獲得準入的市場。[2022/6/25 1:30:35]

八、Remix

作者:YannLevreau

關于Remix,我們有很多更新內容要和大家分享。近幾個月來,我們的團隊一直在工作:

改進Remix插件并以各種方式與社區合作-@GrandSchtroumpf;

為EdiSinovcic的github集成實現WebSocket插件;

幫助Quorum整合他們的Remix插件;

和Waffle合作開發他們的插件;

與VSCode以太坊團隊合作,將插件引擎集成為VSCode擴展;

使得加載插件資源實現完全去中心化;

Remix庫:@Aniket最近加入了團隊,負責改進、維護和推廣remix存儲庫https://github.com/ethereum/Remix。這包括remix調試、remix測試、remixsolidity以及remixanalyzer中的關鍵工作;

Remix庫:完成Remix模擬器并向Remixdebug@iurimatias添加更多測試;

改進IDE的文件資源管理器以支持文件夾及標準功能。與Ethworks合作開發新主題。使用Monaco編輯器。根據Soliditypragma設置編譯器版本-@Lianahus@ryestew@Aniket@GrandSchtroumpf;

我們在這里介紹了Remix桌面版https://medium.com/remix-ide/remix-desktop-8c1e9e946ee1,現在我們正在完成它。注意,很快就會正式發布!-@yann300@lianahus

RemixWorkshop是一個運行在Remix插件API中的插件;

它允許創建教程、注冊教程,并允許學生和學習者實際運行教程。正在制作的教程范圍非常廣泛。這取決于教程的創作者!第一個POC是成功的,我們現在正朝著在社區不同團隊的幫助下發布第一個版本,以獲得建議和反饋。-@granchtroumpf@ryestew

社區以外的研習會及外展活動:一方面,我們也是通過各種方式為教育工作作出貢獻。我們預計到2020年,這一點將變得更加重要。-@ryestew@Aniket@GrandSchtroumpf@team

組織研討會/會議;

與社區外的組織和人員會面。不一定是技術上的,但更多的是讓人了解什么是區塊鏈,什么是以太坊;

為它構建一個工具

九、研究

作者:AdityaAsgaonkar

CasperCBC研發團隊最近的工作重點是:

描述最小CBCCasper協議以及統一框架中的活躍性驗證策略。相關公共文檔WIP即將發布;

VLSM的形式化驗證;

使用CBCCasper元素改進Eth2.0設計,如https://ethresear.ch/t/cross-shard-messaging-system/6201;

社區推廣工作,如這次AMA:https://www.reddit.com/r/ethereum/comments/dsiz9j/ama_we_are_the_cbc_casper_research_team/

敬請期待新的進展!

十、研究

作者:PlasmaGroup

自五月份以來,我們一直在努力推動擴展性技術的進步。生態系統中有4個不同的團隊為多個區塊鏈構建通用的Plasma規范,包括OmiseGO、Matic、CryptoeconomicsLab以及Plasm。由于我們的許多同行都在支付方向進行努力開發,因此我們開始著手可擴展性研究較少的領域,比如應用開發和一般的可組合性。這方面的發展包括Optimistic虛擬機以及我們的UniswapDevcon5演示。這款游戲建立在一個optimisticrollup鏈上,這個設計是6月初時與BarryWhitehat以及Vitalik在以太坊擴容會議的對話中產生的。

在年底結束時,我們正準備為OVM推出一篇論文,并為OptimisticRollup編寫更深入的文檔。目前,那些有興趣了解它的人,可以在我們的博客上找到它的描述,在那里,我們描述了如何為任意智能合約構建它,以及一些概述從plasma到optimisticrollup的早期文檔:

我們的論壇:https://plasma.build/t/rollup-plasma-for-mass-exits-complex-disputes/90/1

Github:https://gist.github.com/karlfloersch/1bf6ab7871f41e3a5a921c0a007ad5c6

Plasma會議視頻:https://youtu.be/5RpYoU6xD_M?t=1136

十一

作者:EF團隊

在Devcon5之后,Danny和Eth2研究團隊開始了一個每周Eth2快速更新系列的工作,最近又開始了一個關注Eth2驗證的系列工作。由于我們正接近推出階段0,最新的新聞和進展會較多,例如下面的鏈接,也請保持對EF博客的關注!

總的來說,我們正朝著階段0測試網以及主網啟動的方向繼續前進。第一階段的規范和原型工作是并行的,而第二階段的研發工作也在積極進行當中。

驗證:以太坊2.0的Staking2019-11-27

Eth2快速更新#4-2019-11-21

Eth2快速更新#3-2019-11-08

Eth2快速更新#2-2019-10-31

Eth2快速更新#1-2019-10-23

十二安全性

作者:MartinHolstSwende

在安全性方面,關于伊斯坦布爾硬分叉已經有了很多行動。例如舊的基于python的fuzzer(Evmlab)已通過Go語言重寫,并被用于創建EIP目標fuzzer。這些fuzzer用于生成測試應用,并用于運行數百萬個比較Geth和Parity的測試用例——截至11月底,我們還讓Aleth和NethermindVM在同一fuzzer框架上運行。所以我們現在最多有四個EVM在做微分模糊測試。

同時,我們還在Geth和Parity上運行基于libfuzzer的fuzzer,這項工作是由@cryptomental領導的。

不久前,我們在懸賞頁面上宣布為EIP的安全審計撥款1.5萬美元。其中,我們向NevilleGretchcontract-library.com以及HubertRitzdorf分別授予了5000美元,理由是他們為EIP-1884的安全影響進行的評估工作。

其他幾項賞金也已經發放,其中大部分將很快公開分享。

十三、Solidity

作者:ChristianReitwiessner

Solidity語言和編譯器繼續維持穩定,并添加了社區請求的一些功能。其中包括輸出用于各種靈活格式、穩定性及安全性變化的Solidity代碼的選項。團隊正在開發一個新的0.6.0版本以及0.5.x分支更新。

13、1Webassembly

Solidity支持使用–ewasm開關進行webassembly代碼的實驗性預覽輸出。我們擴展了Yul優化器的大部分階段來處理eWasm代碼,目前正在研究將EVM型Yul轉換為eWasm型Yul的glue代碼,并擁有了一個用于生成部署合約所需的eWasm二進制代碼的工作原型。

13、2Solidity0.6.0

我們幾乎完成了突破性的更改,并有望在今年晚些時候發布Solidity0.6.0版本。一些新的變化包括:

需要顯式的“virtual”和“override”關鍵字來重寫函數;

ABIEncoderV2不再是實驗性的;

回滾函數被分為“接受以太幣”函數和一個實際“回滾”函數;

抽象合約必須標上“抽象”字樣;

結構和枚舉可以在文件級定義;

不允許任意設置存儲陣列的長度;

支持push將新的默認初始化元素添加到動態存儲陣列;

將“leave”語句添加到Yul/Inline程序集以從當前函數返回;

支持NatSpec中的多個返回值;

支持命令行更好的錯誤消息格式;

元數據哈希現在默認為IPFS,可切換到Swarm或刪除;

允許從二進制文件中刪除“revertreasonstrings”;

13、3SMTChecker

SMTChecker有了一個新的模型檢查引擎,它支持循環,并允許在考慮無限數量的交易時檢查斷言。請在這里閱讀有關更改的更多信息:https://medium.com/@leonardoalt/smtchecker-toward-completeness-1a99c02e0133;

我們目前正致力于在新引擎中支持函數調用,這將啟用多合約分析,即使調用的代碼是未知的。

13、4Yul優化器

Yul優化器現在可考慮用戶定義函數的無副作用性,從而在這些函數調用之間進行優化。它能夠刪除冗余的sload和mload調用,并且可以考慮變量的條件局部值。

編譯器接口:

如果使用標準json,則編譯器僅為所選合約生成字節碼,如果未請求字節碼,則在作句法分析后停止。

選項–errorrecovery可用于從大多數解析器錯誤中恢復,這樣你就可以為無效輸入創建類似AST的東西;

除了上面列出的更改之外,我們還實現了許多小錯誤修復以及特性。

十四、狀態通道

作者:LiamHorne

在過去的幾個月里,以太坊的狀態通道研發團隊取得了喜人的成果。

最令人興奮的是,狀態通道在以太坊主網上線了。Connext是一家建立在我們工作基礎上的小額支付服務公司,其自2019年9月開始就已投入應用。狀態通道帶來的可擴展性和UX增強不再是理論上的,它們現在正在惠及用戶。不妨去嘗試一下吧!

而在幕后,研發人員在過去的6個月里一直很忙。今年夏天,兩個主要的狀態通道研究小組Counterfactual和Magmo將他們的工作統一到一個單一的項目和協議中,并將其簡稱為“StateChannels”。這種統一使我們能夠以更快的速度移動,也為以太坊的應用開發人員提供了更輕松的體驗,他們不需要去考慮支持哪種通道標準了。

更具體地說,在過去幾個月里,我們進行了如下這些工作:

已完成合并CF和Magmo代碼庫;

在這里實現了一個客戶端API記錄,以及在這里對協議進行了文件解釋;

重新編寫了我們的Solidity合約代碼庫,以便為“happycase”(612K→165K)和“challengecase”節省大量gas;

用一種稱為TLA+的形式化規范語言編寫ForceMove協議。這使得我們可以找到許多有趣的協議優化,并識別非主動攻擊向量。你可以在我們的研究論壇上讀到更多的信息。

14、1狀態通道的下一步該怎么走?

我們正在開發兩個演示應用,它們完全基于客戶端API構建,并通過我們的參考中心在瀏覽器中運行。

開展新項目,招募新的貢獻者,并繼續使狀態通道對開發者友好。

十五、ZoKrates

作者:JacobEberhardt

我們很高興與大家分享ZoKrates的最新進展,其旨在成為以太坊平臺上的一個功能強大并對用戶友好的工具包。

針對ZoKrates開發者的好消息:瀏覽器內的ZoKrates代碼開發,現在在Remix中得到了支持。你可以通過左邊的插件管理器找到ZoKrates插件。

社區一直希望能有一個更豐富的類型系統,ZoKrates現在以結構和多維數組的形式支持復雜的用戶定義類型。為了使用這些來自外部世界的新類型實現與ZoKrates程序的無縫交互,我們添加了一個JSON-ABI,它允許輕松的編程訪問。

為了提高ZoKrates的可讀性,我們重構了模塊系統,并將ZoKrates源代碼文件的文件結尾改為.zok。在內部,基于正式DSL語法的解析器重新實現已經成功完成。

最后,我們對編譯后的程序進行了更多的優化,以減少執行和證明生成時間。為了科普工作,我們在大阪的DevconV大會上展示了這些結果以及使用ZoKrates的應用程序!

Tags:ETHASM以太坊ETH2YFTetherASM價格以太坊幣最新價格行情sETH2價格

屎幣
全球區塊鏈私募融資一夜入冬,11月環比下滑66.4%_MPL

本文來源:互鏈脈搏 作者:梁山花榮 未經授權,不得轉載! 2019年11月,全球區塊鏈私募融資市場急劇降溫,融資額降至今年最低點.

1900/1/1 0:00:00
騰訊研究院:6大核心解析加密資產與智能合約的合同法_加密貨幣

來源:騰訊研究院 作者|?袁俊騰訊研究院助理研究員 核心提要 1、法律上明確承認加密資產是可交易財產2、無權處分加密資產的效力并非無效3、合約自動執行會對合同強制履行與合同嚴守原則產生沖擊4、合.

1900/1/1 0:00:00
人民政協報:如何以區塊鏈技術推動數字中國發展_Chain

作者:王金晶 來源:人民政協報 區塊鏈技術被譽為第四次工業革命代表性成果之一,“最有潛力觸發第五輪顛覆性革命浪潮的核心技術”,代表著互聯網的未來,具有劃時代意義.

1900/1/1 0:00:00
1/3的區塊鏈落地應用,被這個萬億市場承包_加密貨幣

文:黃雪姣 出品:?Odaily星球日報“保定宏安包裝”是瑞幸咖啡“小藍杯”包裝的供應商。但和瑞幸咖啡這樣的大企業合作,回款周期長,供應商真正拿到錢要半年以上。這給中小企業的經營帶來不少煩惱.

1900/1/1 0:00:00
政策“催熟”區塊鏈應用,11月中國落地項目量環比大增110%_POW

來源:互鏈脈搏 作者:梁山花榮 “1024會議”全面激發了中國區塊鏈應用市場的活力。根據互鏈脈搏研究院不完全統計,2019年11月,全球共披露區塊鏈應用項目86個,其中中國披露區塊鏈應用項目57.

1900/1/1 0:00:00
觀點 | 到點就發車:以太坊 EIP 及升級流程改進提議_ETH

這篇文章是DannoFerrin和我在DevconV上的談話的粗略記錄。文章中討論了社區在過去一年中提出的一些EIP流程改進建議,并且將其納入到一個統一的框架中用來指導我們如何讓以太坊更順利地升.

1900/1/1 0:00:00
ads