在PolygonzkEVM的第一篇文章里,我們總結了PolygonzkEVM的整體框架以及交易執行流程,同時也分析了PolygonzkEVM是如何實現計算擴容的同時繼承了L1的安全性的;在這篇文章里,我們將依托上篇文章建立的框架,深入PolygonzkEVM關于Sequencer和Bridge更多的技術細節,同時也探討未來潛在的去中心化Sequencer架構的不同特點。
一、深入解析zkEVMBridge
在上一篇文章里,我們介紹PloygonzkEVM的過程中,實際上缺失了很重要的一個部分,就是PolygonzkEVM的原生橋。
1.跨鏈數據狀態管理
PolygonzkEVM在L1和L2分別維護了一棵ExitTree,名字分別為L1ExitMerkletree和L2ExitMerkletree。但是為了更好的管理這兩棵樹,PolygonzkEVM很聰明的將這兩棵樹結合在了一起,如下圖:
也就是用分別把L1ExitTreeRoot作為GlobalExitTree的左葉子節點,把L2ExitTreeRoot作為GlobalExitTree的右葉子節點。不過需要注意這里L1TreeRoot和L2TreeRoot是SparseMerkleTree(SMT),而GlobalExitTree是BinaryMerkleTree。
L1/L2ExitTree葉子節點的基本信息如下:
2.跨鏈流程
在PolygonzkEVM的合約設計中,還是盡可能的將Bridge和Consensus合約盡可能的解耦。目前其在L1部署的合約主要分為3個,如下圖所示:
需要注意的是他們之間不是繼承關系,都是獨立的合約,PolygonZkEVMBridge和PolygonZkEVM都會調用PolygonZkEVMGlobalExitRoot來更新或驗證GlobalExitTreeRoot。
1)?L1→L2的跨鏈流程
L1→L2的跨鏈流程對應上圖的橙色標識的三個步驟:
對應以下代碼中的BatchData的結構體中的globalExitRoot:
PolygonZkEVMBridge在L2的合約
https://testnet-zkevm.polygonscan.com/tx/0x2a742f2f8a7b8635a76cc70b4574bebb1a81b2c0c1a618188773a1f8f2283bb8https://testnet-zkevm.polygonscan.com/address/0x39e780d8800f7396e8b7530a8925b14025aedc77#code
奢侈手表經銷商WatchBox兩年內有1000萬美元線上交易來自加密貨幣結賬:金色財經報道,奢侈手表經銷商 WatchBox 首席運營官 David Kaplan 表示,我不是加密貨幣交易員,我不想讓加密貨幣出現在我的資產負債表上,但向客戶提供加密貨幣作為支付選項是值得的。在過去兩年中,WatchBox 的在線銷售額中有 1000 萬美元來自加密貨幣交易結賬,不過這只是 WatchBox 過去兩年約 5 億美元總銷售額中的一小部分。[2023/4/25 14:26:09]
2)L2→L1的跨鏈流程
用戶調用部署在L2的Bridge合約(PolygonZkEVMBridge.sol)中的Bridge()函數發送一筆L2-Bridge-Tx,這會更新添加一個新節點在L2ExitTree中,然后依次更新L2ExitTreeRoot和GlobalExitTreeRoot。
接下來當Sequencer會把這筆L2-Bridge-Tx放到某一個Batch中發送到L1的共識和DA合約(PolygonZkEVM.sol)中。
然后在之后Aggregator調用trustedVerifyBatches()往L1提交validityproof的時候,實際上也會把L2ExitRoot也一并作為Input進行上傳,也就是以下函數的中的NewLocalExitRoot,它代表了L2有新的BridgeToL1的交易,但是這些交易目前在L1還不能提款,需要等待這個新的NewLocalExitRoot被驗證成功。
接下來這個傳入的NewLocalExitRoot也會作為驗證電路的一部分,輸入這個驗證邏輯是我在L2發生的這些新的BridgeToL1的交易是不是導致L2ExitTreeRoot變成當前這個提交的NewLocalExitRoot。
如果這個這個ValidityProof驗證通過,那么L1的GlobalExitRootManager會更新L2ExittrreRoot和GlobalExitTreeRoot:
globalExitRootManager.updateExitRoot(newLocalExitRoot);
這個時候,用戶就可以調用部署在L1的Bridge合約(PolygonZkEVMBridge.sol)的ClaimAsset()函數并給出相應的MerklePath進行提款,跨鏈交易的也就完美結束。
二、PolygonzkEVM如何抗審查
在上篇文章,我們介紹了TrustedSequencer,由官方運行的SingleSequencer,基本上L2網絡的交易都會提交給這個TrustedSequencer,并且可以獲得一個及時SequencerFinality。
而實際上用戶還可以通過另一種方式直接提交交易到L1的合約中,而不需要通過TrustedSequencer,從而保證了整個網絡仍然具備一定的抗審查的特性。
1.執行流程
1)用戶調用L1合約中的ForceBatch函數,通過這個函數可以用戶可以把自己想要執行的L2交易直接送到L1的合約中的。
武漢元宇宙數字產業基地今日揭牌:金色財經報道,今天上午,武漢元宇宙數字產業基地在漢陽區正式揭牌,基地位于華中最大的國博會展中心、武漢國際博覽中心。揭牌儀式現場,漢陽區打造的虛擬形象代言人“知小音”發布了《漢陽區關于加快元宇宙創新發展扶持政策》,將從元宇宙底層支撐技術、元宇宙終端設備、元宇宙場景內容搭建和生產三個范圍,鼓勵產業集聚、加大金融支撐、推動應用場景落地。[2023/2/27 12:31:39]
2)合約中會將這些Transactions打包成一個Batch,并且記錄在合約中一個ForceBatches的Mapping中。
3)TrustedSequence監聽到ForceBatches中有新的ForceBatch的時候,會將其同步到本地的節點中,然后會在下次往L1提交Batches的時候包含這個ForceBatch。
4)不過這里還存在一種特殊情況,如果TrustedSequence如果宕機了,或者故意不提交某個用戶提交的ForceBatch,那么在五天之后用戶可以自己調用L1合約中的SequenceForceBatches()函數,讓這筆ForceBatch進入到L1合約中的SequencedBatches,也就意味著這筆ForceBatch在Rollup中的交易順序被L1合約最終確定,即便是TrustedSequence也無法再更改這個ForceBatch的交易順序。(實際上所有Rollup都會有這樣的特性來提供抗審查特性比如Arbitrum的SequenceInbox和Inbox)。
不過這里推薦大家盡可能不要通過ForceBatch的方式提交Rollup的交易,因為通過這種方式,你在調用ForceBatch往L1提交自己的交易的時候會暴露你的交易內容,而這個時候交易順序還沒被確認(需要等待Sequence同步ForceBatch并通過SequenceBatch()再一次提交到L1的時候交易順序才被真正確認)同時你已經沒辦法取消你的交易了,這個時候你有很大的可能被搶跑。
這似乎這并不能真正的抗審查,因為ForceBatch的方式存在被搶跑的風險,用戶真的會用這個功能嗎?
2.Sequencer的真正狀態
從上文我們可以得知,Sequence會從L1同步ForceBatch中的交易到本地節點進行執行,于是Sequence的真正狀態如下圖所示:
Bn表示用戶直接提交給Sequence的交易執行后得出的結果;FBn表示Sequence同步ForceBatch的交易進行執行后得出的結果。
https://zkevm.polygon.technology/
三、L2網絡存在的三種不同的Finality
接下來我們回顧下Ploygon的整體架構,為接下來的去中心化Sequencer思考做好鋪墊。
我們需要關注到。對于Sequencer和Aggregator來說,他們的狀態都是通過Syschronizer從一層合約中進行同步的,他們之間并不是直接通信的。
CoinShares將CoinShares Physical Ethereum ETP管理費用降至0:2月1日消息,CoinShares 即日起將 CoinShares Physical Ethereum ETP 的管理費用從 1.25% 降至 0。此外,在以太坊上海升級之后,CoinShares 將能夠為其 CoinShares Physical Ethereum ETP 的投資者提供流動性和質押獎勵。
CoinShares 是位于歐洲的數字資產管理公司,為包括企業、金融機構和個人在內的眾多客戶提供廣泛的金融服務,涵蓋投資管理、交易、證券和消費產品。該集團總部位于澤西島,在法國、瑞典、英國和美國設有分支機構。[2023/2/1 11:41:23]
1)三種Finality
因此我們可以認為目前整個網絡存在三種不同程度的Finality,我們給它命名成SequencerFinality,DAFinality和Verified?Finality。
a.第一種SequecerFinality,在有一些文章中也將這種Finality稱為SoftFinality,但是我覺得叫做SequenecerFinality更為合適,因為這個Finality其實是SingleSequencer給的狀態承諾。
Sequencer接受到用戶交易之后,執行后給出的狀態,這是最不安全的狀態;但是在目前官方SingleSequencer的場景下,卻可以在保證安全的同時帶來極致的用戶體驗。在目前單一Sequencer的Rollup網絡中,基本上都可以體驗到即時確認的快樂。不過,SingleSequencer最大的風險就是Sequencer宕機,這會導致整個L2網絡基本癱瘓,不過由于DA層是位于以太坊上的,依然可以在之后部分恢復L2網絡宕機前的狀態;不過那部分來不及發送到L1的L2交易將無法被恢復。
b.第二種DAFinality,代表這些交易已經被提交到L1的DA層合約上,此時交易順序也被確定了。
TrustedSequencer已經調用SequenceBatch將交易發送到L1上,在這種情況下,交易已經被DA層包含;在Polygon的設計中,由于單一TrustedSequencer的原因,所以可以確保上傳到L1合約上進行DA的交易都是有效交易。我們可以認為當一筆交易被TrustedSequencer上傳到L1合約中的時候,這個時候它已經被Rollup網絡承認了,并且在之后Aggregator會提供ValidityProof讓這筆交易真正無法被Revert(除非L1Reorg)。
c.第三種VerifiedFinality指的是這筆交易已經通過ValidityProof的驗證了,屬于真正的Finality;在一些文章中也把它叫做HardFinality。
當Aggregator為一批上傳到DA層的交易提供的ValidityProof被合約驗證通過的時候,這個時候我們認為這些交易已經無法被Revert了(除非L1Reorg)。我們在上一篇文章里提到過,目前提交到DA層的交易到驗證validityproof的通過的時間是30分鐘,同時Aggregator也可以通過提供ValidityProof從而獲得足夠的Matic報酬。
2)Aggregator同步狀態的取舍
假如我們這里假設提供ValidityProof是有利可圖的,那么對于Aggregator來說,最好的同步交易的方式,不是在L1的DA層合約中同步,而是直接跟TrustedSequencer建立rpc鏈接,直接從TrustedSequencer獲取最新的交易,這樣生成ValidityProof會更快,從而相比其他從DA合約中獲取交易的Aggregator更有競爭優勢,因為提供ValidityProof這件事情是先到先得,對于一批交易來說也僅僅需要一個聚合的validityproof,第一個提交ValidityProof的Aggregator可以拿走對應交易的Matic獎勵,其他Aggregator生成的ValidityProof也無法再獲得任何獎勵。
觀點:數字美元終會到來:金色財經報道,Digital Dollar Project政策研究主管Michael Greco表示,更多的問題是何時而不是是否會在美國建立中央銀行數字貨幣(CBDC)。
Greco表示,美國的數字美元“未來幾年有潛力”,但美聯儲正在等待國會頒布立法,然后才能向前推進。他預計國會明年不會通過這樣的法律,但表示他預計將會在2023年取得進展,尤其是在隱私方面”。[2022/12/29 22:13:46]
不過目前實際上Polygon跟TrustedSequencer角色一樣,也有一個TrustedAggregator,來處理生成和提交ValidityProof的工作。
https://zkevm.polygon.technology/
四、Sequencer的未來
接下來,我們繼續是關于去中心化Sequencer的思考。首先第一個問題是我們為什么需要去中心化的Sequencer?因為我們希望Rollup能在擴容以太坊的計算能力的同時,繼承以太坊的安全性和去中心化程度。而當前SingleSequencer的方案顯然達不到繼承以太坊的去中心化程度的目標。再繼續勾畫去中心化Sequencer的未來之前,我們先來回顧Sequencer的工作。以PolygonzkEVM為例,目前TrustedSequencer對交易的處理會遵循FCFS,先到的交易先進行處理,并行Mempool也是私有的,盡可能保護用戶的交易不被MEV。
當收集到一定量的交易之后,會把它們封裝成Batches上傳到L1合約中對應的DA的位置,并且在第一篇文章中我們也提到了這些了Sequencer上傳的Batch中實際上已經通過在后一個Batch包含前一個Batch的哈希的方式確定了交易的順序。因此我們認為Sequencer的工作類似L1Proposer的工作,提議了一批交易,并且確認了交易的順序。
因為我們是從PolygonzkEVM開始介紹去中心化Sequencer的,我們就先介紹PolygonzkEVM的去中心化Sequencer方案ProofOfEfficiency(效率證明)。
1.Proof-0f-Efficiency?
1)方案描述
在POE的設計中,允許任何人成為Sequencer并且向L1提交RollupBlock的,Rollup網絡的交易順序取決于交易被提交到L1的RollupDA合約的順序。
如下圖,用戶都可以自行選擇將交易發送給哪個Sequencer,甚至可以自己成為Sequencer,這些Sequencer在收到足夠的交易之后,會將這些交易打包成Batch,然后往L1上提交。
這些Sequencer需要考慮利潤問題:
Sequencer成本=L1gascost?+generatezkProoffeeSequencer收入=L2gasfee
所以Sequencer需要考量將至少多少筆交易打成一個Batch提交L1才是有利可圖的。但是Sequencer還需要考慮另外一個問題,時效性問題,如果一個Sequencer的提交交易速度過慢,那么它的用戶可能會流失到其他提供更快確認的Sequencer那里。
2)方案可行性
首先這個方案能運轉的核心原因是Polygon的DA部分沒有做任何狀態承諾,僅僅確定了交易順序;狀態承諾(Sequencer承諾交易執行后對應的新的世界狀態,但是這個狀態未被ValidityProof或者FraudProof驗證的狀態)是在提交ValidityProof的時候才會給出,這是這個方案能執行的核心原因。
英國《金融時報》推出加密金融板塊:7月22日消息,英國《金融時報》推出了Cryptofinance板塊,這是一個集合加密貨幣報道的新的數字中心和每周通訊,旨在揭示數字資產行業以及創新如何影響主流金融。(Finance Feeds)[2022/7/22 2:31:08]
實際上像Arbitrum在提交交易到DA合約中的時候也沒有做任何狀態承諾,但是Optimism在提交交易到DA層的時候是攜帶狀態承諾的,所以理論上Arbitrum也可以運用POE來實現去中心化Sequencer,但是Optimism則不行。
3)為什么攜帶狀態承諾就不能運用POE?
因為在多個Sequencer幾乎同時往L1提交Batch的時候,實際上沒有一個Sequencer可以保證最終在DA合約上L2的交易順序到底是怎樣,所以如果攜帶狀態承諾,大概率會導致整個Batch無法通過ValidityProof或者FraudProof的驗證。
4)如何處理無效交易?
無效交易指的是比如賬戶的Nonce過低,賬戶余額不足以支付Gas費用的交易,當這些交易在L1(Geth)是不會被放入到區塊的,因為如果一個區塊中包含一筆無效交易,都會導致整個區塊變成無效區塊,Validator不會給這種區塊投票,Propoer也不會提案這種區塊。
在當前SingleSequencer的情況下,L2網絡是有能力辨別這種無效區塊的,并且可以避免在L1DA合約中避免包含這種交易,這可以避免浪費L1的區塊空間。
但是采用POE之后,Sequencer實際上失去了辨別這種無效交易的能力,因此在L1的驗證交易帶來的狀態變更過程中,也需要將這種情況考慮進去,并且Sequencer提交無效交易是無法獲得用戶的手續費的。
5)PublicMempool(公共交易池)?
采用POE之后,如果這些去中心化的Sequencer之間會存在PublicMempool,那么會導致用戶一筆交易被不同的Sequencer提交多次,當然只有第一次提交的交易是有效交易,也只有這交易最終能獲得用戶的手續費。
6)Sequencer為何無法預測執行結果
在這種PermissonlessSequencer的模型下,一個Sequencer是無法給用戶提供及時的SequencerFinality,因為Sequencer預測的最終上鏈的的交易順序和實際的交易順序會有偏差,這個偏差是由于可能有多個Sequencer在幾乎同個時刻向L1的DA合約提交了交易Batch,在這種情況下很難保證這些交易Batch的實際順序是否跟預測順序相同。
因此Sequencer同步自身狀態的時候,也會從L1的DA合約上同步最新被提交的交易Batch并執行來獲得最新狀態,而不是其他Sequencer那里同步狀態。
7)?L2的MEV流失到L1
由于交易任何人都可以成為Sequencer提交Rollup網絡的交易,并且提交交易Batch的交易實際上跟L1的普通交易無異,因此它實際上還是會經過MEVBoost的整個流程,意味著L2網絡的MEV都會流失到MEVBoost模塊。
8)Aggregator的設計
在POE的設計上,Aggregator同樣也是Permissionless的,但是由于ValidityProof實際上只需要一個正確的交易,也就意味著只有第一個為交易提交正確的ValidityProof的Aggregator才能獲得獎勵。因此作為Aggregator,你需要權衡提交的ValidityProof的證明范圍,提交時間以及提交ValidityProof可以獲得的Matic獎勵之間的關系,最終找出一個最有競爭力的策略。
似乎,利用這種自由市場競爭策略,可以讓交易對應的ValidityProof的生成速度達到最快。
https://ethresear.ch/t/proof-of-efficiency-a-new-consensus-mechanism-for-zk-rollups/11988
8)總結
POE可以帶來完全PermissionLess的網絡,并且整個網絡可能也不會有宕機的風險,但是L1的DA合約中可能包含無效交易(比如相同Nonce的交易),MEV都被L1網絡獲取,并且只能提供DAFinality和VerifiedFinality。
2.BasedRollup
BasedRollup是期望將Rollup網絡的SingleSequencer的工作委托給以太坊的proposer去完成。它會要求每個Proposer提案L1的區塊需要包含一個有效的Rollup區塊。
因此L1網絡的BlockBuilder需要運行一個Rollup的全節點用來接受L2的交易,并且構建最大價值的RollupBlock。
這樣的方案的好處是可以最大程度的繼承了L1的安全性以及去中心化程度,但是也會導致只能提供SequencerFinality和VerifiedFinality,L2的MEV也會都流失到L1同時也需要對以太坊客戶端的代碼進行修改,這也可能會影響L1的安全性。
3.ShareSequencing
SharedRollup相比BasedRollup將構建和提交RollupBlock的工作交給以太坊的Propoer,則是將這個工作交給ShareSequencers中的委員會。
3.1.具體流程如下:
不同Rollup的用戶都可以直接向SharedSequencers所在的網絡直接發送Rollup的交易SharedSequencers會在內部運行一個BFT共識,在每一輪選出一個SequencerLeader來對交易進行排序并構建對應的RollupBlock.然后將這些RollupBlock提交到不同的Rollup網絡對應在L1上的DA合約不同的Rollup網絡再通過L1的DA合約同步網絡中的最新交易,然后進入到他們自身驗證ValidityProof或者FraudProof的流程。
3.2.SharedSequencer架構的潛在影響
1)多個Rollup網絡共用一個SharedSequencerCommittee
2)從單個Rollup的角度來看,只是把把官方運行的SingleSequencer委托給了這個SharedSequencerCommittee
3)在每一輪從SharedSequencerCommittee中會選出一個SequencerLeader,負責對接入這個SharedSequencers網絡的RollupBlock進行構建,并且依次將這些RollupBlock提交到對應Rollup在以太坊上的DA合約內。
a.比如A需要將Arbitrum上USDC跨鏈到Optimism上,那么正常流程是它會在Arbitrum上先進行Lock,等待Lock成功之后,再去Optimism上提交自己在Arbitrum的LockProof(e.g.MerkleTreePath+TreeRoot),然后在Optimism上Mint出來對應的USDC資產;
b.當用戶向SharedSequencers提交這樣一個交易的時候,每一輪的SeuqnecerLeader實際上可以將ArbitrumLock的操作+OptimismMint的操作放在同一時刻的RollupBlock進行執行,這樣可以帶來巨大的用戶體驗提升;
c.但是它依舊無法做到像同一個Rollup網絡的用戶體驗,比如Mint的時候你依然需要提供你的LockProof;
d.所以我們可以認為接入到這個SharedSequencers網絡中的Rollup們是一個接近于完全同步的系統;
e.接近完全同步的系統有什么作用呢?
f.可以提供原子跨鏈服務,因為每一輪選出的SequencerLeader擁有排序所有Rollup交易的權力,所以他有能力構建原子跨鏈的交易。
4)跨鏈MEV的角度
因為每一輪的LeaderSequencer擁有所有RollupBlock的排序權力,所以理論上可以捕獲所有的跨鏈MEV,感覺之后SharedSequencer也需要引入或者直接接入MEVBoost這種MEV架構,因為從目前看各個Rollup網絡的區塊間隔都會遠遠快于以太坊的區塊間隔,比如Optimism的2s每一塊,Arbitrum最快是0.25s出一塊。因此作為每一輪的SequencerLeader構造RollupBlock的計算量其實并不小,因此感覺生態成熟起來之后也會有相應的MEV架構來輔助構造最大價值的RollupBlock。
5)從Decentralization和Liveness的角度看SharedSequencers
因為SharedSequencerCommittee內部會用BFT共識來在每一輪選擇出一個SequencerLeader來提案所有的RollupBlock,所以Decentralization和Liveness都要比目前的SingleSequencer方案強大不少。
6)從生態的角度
a.對于不同的Rollup擁有了更好的共存的理由,因為用戶可以很方便的在各個Rollup的網絡中進行資產轉移,也可以更好的對實現以太坊生態的負載均衡。
b.對于不同的正在構造ShreadSequencer的項目而言,可能就是你死我活的競爭,因為從用戶角度和目前各個Rollup都是SignleSequencer的角度而言,似乎在SharedSequencer這條賽道會出現贏家通吃的問題。
7)Finality角度
因為本質上還是SingleSequencer,所以無論是SequencerFinality還是VerifiedFinality都跟原來是一樣的。
3.3.潛在風險
因為Rollup之間不一定是同構Rollup,比如Arbitrum和polygonzkEVM之間的跨鏈,那么意味著跨鏈交易對應在Arbitrum和polygonzkEVM之上交易的VerifiedFinality并不一致,比如我在PolygonzkEVM之上的mint交易已經獲得VerifiedFinality(提交了ValidityProof),但是此時我在Arbitrum上的Lock交易僅獲得了DAFinality(需要等待7天挑戰期),如果我在這個時候成功Revert了我在Arbiturm的交易,那么也就意味著:我實際上在PolygonzkEVM無成本鑄造了很多跨鏈資產。
3.4總結
優勢:
a.MEV可以被Rollup網絡獲取,并且還可以額外獲取更多的跨鏈MEV;
b.用戶跨Rollup體驗好,并且能讓Rollup之間由競爭關系轉為共生關系,每個Rollup都可以提供自己獨特的價值,然后與其他Rollup網絡組合成可以為用戶提供各種各樣定制化服務的網絡;
c.相比SignleSequencer,網絡的去中心化程度得到了大幅度增強,并且網絡的穩定性大大增強了,在某一個SequencerLeader不出塊的時候,會及時輪換一個新的SequencerLeader進行出塊;
d.網絡的三種Finality都跟原來SingleSequencer保持一致。
劣勢:
本質上還是SingleSequencer的模型,并且也引入了新的攻擊向量。
五、總結
在這篇文章我們詳細結構了PolygonzkEVM的bridge以及Sequencer更多的技術細節,在下篇文章也是最后一篇文章,會繼續解剖zkEVM的技術細節,敬請期待。
Tags:ENCNCESEQUENCEncointer NetworkBrickchain FInanceSequence
千呼萬喚始出來,5月3日晚,SuiNetwork如約上線主網,在之前的文章中,SuiWorld總結了關于SuiNetwork主網上線不得不關注的問題,感興趣的用戶可以點擊查看.
1900/1/1 0:00:00數據顯示,FreePeopleDao的流水已超過16億People,按現價計算約3200萬美金,有趣的是,FreePeopleDao僅僅在2023年2月份開啟.
1900/1/1 0:00:00有關Ordinals,區塊空間以及“BRC-20”,未被深思的問題。Ordinals引發的潮流,至今仍在引起爭議。一些人認為,向區塊空間寫入與任何一筆比特幣的密碼學安全都無關的數據,是有害的.
1900/1/1 0:00:00隨著ETH上海升級完成,LSD板塊熱度逐漸衰減,熱錢都被Meme幣的賺錢效應吸引。那這正是回顧LSD板塊的一個時機,上一次提到LSD還是在說鏈上國債和Pendle.
1900/1/1 0:00:00注:本文來自@DittoJoBrr推特,MarsBit整理如下:1.在上個周期熊市中發明出來的應用范式現在已經到了瓶頸,精疲力竭了。自從被發明以來沒有本質上的提升,但是局限卻越來越明顯.
1900/1/1 0:00:00Web3行業正往何處去?36氪獲悉,前騰訊區塊鏈業務負責人蔡弋戈,于今年年初從騰訊離開后,創立web3錢包PunkCode。過去,在區塊鏈應用層面,騰訊是互聯網大廠中的佼佼者.
1900/1/1 0:00:00