寫在前面:本文由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測試套件,這些無效訪問變得顯而易見。
數據:ETH、TRON及BTC位列鏈上手續費用貢獻前三:8月13日消息,Token Terminal數據顯示,今年迄今為止 (YTD) 鏈上手續費用一直呈上升趨勢,每月總費用在5月份達到6.92億美元的峰值;從貢獻占比來看,以太坊、波場(TRON)以及比特幣位列前三;過去7天數據顯示,以太坊總費用為3470萬美元,TRON是1810萬美元,比特幣是480萬美元。此外,波場以148萬日活位列第一,比特幣以65.4萬日活位列第二,以太坊日活33.8萬排名第三。[2023/8/13 16:22:44]
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
HashKey:生態積分HSK不會有任何售賣行為:金色財經報道,數字資產金融服務提供商HashKey Group發布公告稱,HSK是HashKey EcoPoints,僅用于贈送給生態貢獻者,不會有任何售賣行為。[2023/4/14 14:02:19]
自上一次更新以來,Ewasm團隊的重點已經轉向了Eth2.0的研究,以及與其它團隊進行密切合作。
目前,Eth2.0的第2階段執行層開發工作正在積極進行,它是與第0階段和第1階段的開發工作并行的。關于第2階段,研發者已提出了多項提議,Ewasm團隊一直致力于將有原型和基準的設計,建立在Scout的最低基礎上。
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的工具工作。
鏈間流動性協議White Whale宣布已上線Injective:12月22日消息,鏈間流動性協議White Whale宣布已上線Injective,為Injective用戶帶來新的閃貸和套利池。[2022/12/22 21:59:48]
Eth2和bigintAPI的結合,是為Assemblyscript以及Rust提供的。
如果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開發者生態系統。這將超出以往單一項目的范圍。
數據:Optimism上DeFi鎖倉額單日激增80%達到9.9億美元,已超越Arbitrum:8月5日消息,據Defi Llama數據,Optimism上DeFi鎖倉額(TVL)在8月5日單日增加近80%,達到9.9億美元,超過Arbitrum的8.65億美元。另據L2BEAT數據顯示,目前Arbitrum上的鎖倉額為24.8億美元(存入Rollup的總資產價值),Optimism上為15.1億美元。
DefiLlama數據顯示,Optimism上AaveV3的鎖倉額占比達到45.59%。根據Aave官網,目前AaveV3在Optimism上的總市場規模突破17億美元,總借款量近12.6億美元。8月5日,AaveV3在Optimism上啟動流動性挖礦,流動性挖礦將持續90天時間,共將發放500萬枚OP代幣獎勵。[2022/8/6 12:06:24]
然而,目前的項目并不會被遺忘。我們非常清楚,我們必須關心并進一步開發在社區內被廣泛使用的工具。因此,以下內容是關于各子項目的更新,以揭示在上一季度中,這些項目都發生了什么。
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世界的遷移路徑。
寧波首輪發放2萬個數幣消費紅包助力推廣數字人民幣:6月30日消息,“潮甬金六月·數幣消費新體驗”數字人民幣消費紅包發放活動于今日正式啟動。首輪將面向手機定位在寧波的個人用戶發放2萬個數幣紅包,每個金額100元。(上證報)[2022/6/30 1:40:38]
7、3EthPM
我們繼續在關注生態系統工具。
ethpm-cli開發工作繼續進行,允許安裝來自不同來源的包,以及構建和發布包。
八、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以太坊ETH2pSTAKE Staked ETHjasmy幣為什么一直在跌怎么得到以太坊幣的錢sETH2
紐約證券交易所母公司洲際交易所旗下的Bakkt比特幣期貨交易所的首席執行官KellyLoeffler已經獲得美國佐治亞州州長BrianKemp的認可,下周將在該州參議院獲得席位.
1900/1/1 0:00:00MakerDao新增BAT抵押資產事件,又一次把去中心化穩定幣和中心化穩定幣之爭卷入塵囂。中心化穩定幣一般由交易所與機構共同發行,例如Bitfinex與Tether合作發行USDT、Binanc.
1900/1/1 0:00:00根據Pitchbook的數據,盤點2019年在加密貨幣及區塊鏈領域最活躍的10支基金。 作者:RYANTODD https://www.theblockcrypto.com/genesis/48.
1900/1/1 0:00:0012月5日,海南自貿港數字經濟和區塊鏈國際合作論壇在海口正式開幕。在兩場主題圓桌“部長圓桌:數字經濟下的國際交流與合作”以及“一帶一路的數字經濟新機會”上,來自俄羅斯、哈薩克斯坦、印度尼西亞、馬.
1900/1/1 0:00:00作者:潘致雄,鏈聞研究總監細數以太坊8次升級歷史與未來規劃,以及每次升級帶來的影響。以太坊在歷史上已經進行過了8次的網絡升級.
1900/1/1 0:00:00文:貌貌狼 來源:財經郎眼Daily編者注:原標題為《郎咸平&黃生:中國央行為什么在這個時候提出法定數字貨幣?》 王牧笛:生活無處不經濟,郎眼看來不尋常.
1900/1/1 0:00:00