Ethereum devcon4: part2
Swarm
在Devcon4的前一天去參加了Swarm的一個專場,他們和Ethereum magicians共同在Smichov的National House組織的一個mini-summit,在大會之前的這些暖場活動都是Status贊助或組織的,Status也在那幾天組織過一個黑客馬拉松。
Swarm是以太坊生態重要的基礎服務。在Gavin和Vitalik早先構想的Web3的技術棧底層: 由以太坊的智慧合約實現去中心化的執行邏輯;Swarm提供去中心化的儲存;Whisper則提供去中心化的訊息服務。但這幾年的發展進度不那麼樂觀,IPFS的勢頭也蓋過了Swarm。
《Data Structures on Swarm》
《Deep SQL and NoSQL Blockchains for Provable Database Storage》
這個是 Wolk 的演講,Wolk 是基於SWARM的去中心資料庫服務平臺。他們屬於Layer3,錨定的Layer2 是Plasma Cash並提供Provable Storage。
另外的幾個分享有《Cooperative protocol evolution with virtualization layers》《Privacy & Access Control 》《Observability in Swarm》 這個相對簡單,主要是講swarm的tracing機制,同一般網際網路公司的分散式鏈路跟蹤系統。
《Building Unstoppable Chat》
這個是 mainframe的CTO做的一個演講,他為了增加大家對他的記憶,穿了一個獨角獸的衣服,帶著Vitalik的面具來做的演講,博得了不少眼球。利用 Swarm 的 Mutable Resource (swarm feeds) 的能力,實現了一個區中心化的不可阻擋的(unstoppable)聊天工具。但跟現實中的IM比起來,聊天的過程還是明顯偏慢。
《Swarm feeds》這是一個非常有趣的演講,feeds在之前被稱為 "Mutable Resource Updates" (可變資源更新) 它可以當作一個 KV store甚至microblogging platform,可以對某個話題發帖,訂閱其他人的更新。
有這種基礎設定之後,可以創造出各種不同的應用。甚至可以跟IoT結合,現場演示了一個氣溫檢測的例子。
在第二天Devcon的第一天大會上Swarm團隊也去做了狀態彙報,專案負責人 ofollow,noindex" target="_blank">Viktor Tron 在最後彙報了一下整體情況和後續工作。他似乎受過很重的腰傷,走路有明顯的問題,站著的時候身體也有些發抖。
Whisper
Whisper在最近一年釋出了v6,後續還有很多事情要做。
Ethereum 2.0
Vitalik的分享ethfans已經做過翻譯,參考 OA" rel="nofollow,noindex" target="_blank">Devcon4 | ETH 2.0 in 30 minutes,Part-1:回顧 和 Devcon4 | ETH 2.0 in 30 minutes,Part-2:展望
Prysmatic Labs 分享了sharding的一些實現過程。 Prysm 是他們用go實現的Ethereum 2.0 client,使用的技術棧提到了bazel, grpc, libp2p, boltdb等
Ethereum 2.0沒有給出具體的日期,VDF晶片的開發可能就要18個月;Sharding有7個階段,現在還處於phase0或phase1階段?
- Phase 0: PoS beacon chain without shards
- Phase 1: Basic sharding without EVM
- Phase 2: EVM state transition function
- Phase 3: Light client state protocol
- Phase 4: Cross-shard transactions: see here and more.
- Phase 5: Tight coupling with main chain security: here and more.
- Phase 6: Super-quadratic or exponential sharding
Vlad 對2.0裡的PoS共識 Casper CBC 做了分享,很難理解。
Libp2p也有分享,可以參考ethfans的這篇: Serenity 中的 P2P 網路
客戶端&庫
ConsenSys下的PegaSys推出了企業級的 Pantheon客戶端 ,用Java實現,後續將增加iBFT共識(i是istanbul的縮寫,BFT的一個變種,企業私有鏈採用的一種共識)。
Slock.it的incubed客戶端,用於Slock.it的物聯網裝置的伺服器節點網路
Turbo-Geth 對 Geth的優化。
web3j 4.0 的一些特性,大會演講ppt的時候還未釋出,這幾天剛剛釋出。
ethereumjs也演示了 ethereumjs-client
基礎設施&運維
AirSwap 講了他們在亞馬遜上節點運維的一些經驗,雲硬碟有支援Burst特性
- Magnetic / spinning disk drives don't work – you are I/O bound
- provisioned IOPS doesn't work due over allocation of IOPS – costs too much
- Burst-based IOPS requires 3TB drives and cap at 10000 IOPS
- EFS network overhead is too slow
- NVMe drives WORK PERFECTLY
還有一個workshop是基於k8s搭建基礎設定的。
其他
這是一個關於避免交易被 front-running 的技巧,是基於這篇 To Sink Frontrunners, Send in the Submarines ,它基於EIP-86裡的CREATE2操作碼,目前還未被採用。
AvalancheLabs的 Emin Gün Sirer (Emin是康奈爾大學的教授,Avalanche字面意思是雪崩的意思,可以參考 Snowflake to Avalanche:一種新型的亞穩態共識協議族 )分享了Pos的例子。他提到硬體也是一種特殊的權益(hardware is just a specialized kind of stake),在指出pow的各種問題時還調侃了一下JihanWu。
大會也有一個專門討論安全的topic,裡面有不少關於隱私、零知識證明方面的討論。