MoveBit 與 Aptos 共同推出 CTF MOVEment安全競賽
由 MoveBit 和 Aptos 等組織,Aptos 讚助的 CTF MOVEment 安全競賽將於12月11日10時到12月13日10時(UTC+8)舉行。此次競賽由Aptos、MoveBit、ChainFlag、Aptos Global 等共同主辦,Aptos 讚助。 本次 CTF MOVEment 安全競賽是 Move 生態上首個以 Aptos 生態安全為主題的賽事活動。作為引領 Move 生態的公鏈 Aptos,在共識、智能合約設計、係統安全、性能和去中心化方面進行了創新,已經吸引了全球大量開發者和創業者使用 Move 語言在 Aptos 生態上進行應用的開發和創造。 Aptos 生態蓬勃發展,但是目前 Move 的開發者的安全編程知識還非常欠缺,Aptos 生態開發者需要更多安全知識和提高安全意識。因此Aptos,MoveBit,ChainFlag 和 OtterSec 聯合Aptos Global 等眾多Apots生態方,Aptos作為獨家讚助方,共同舉辦首個Aptos生態安全為主題的競賽 CTF MOVEment 。 CTF MOVEment 安全比賽將在線上舉辦,比賽采取注冊即報名的方式,比賽時間共 48 小時。本場 CTF MOVEment 將設置 3-4 個 Move 相關的安全挑戰,賽題挑戰難度會有所區分,完成不同的挑戰會獲得相應的積分,每一個挑戰用時最短的前四名參賽者會獲得額外的積分獎勵。 積分獲得最高的前三名分別獲得 Aptos 準備的 1000 USD,500 USD 和 300 USD 的獎勵。另外,前三名將獲得神秘 NFT,同時對所有完成一個以上 Move 安全挑戰的參賽者鑄造CTF MOVEment POAP NFT。 目前 MoveCTF 比賽的注冊現已開放,想要注冊的團隊和個人開發者或了解有關該活動更多信息的 Move 生態項目方請訪問此鏈接: https://ctfmovement.movebit.xyz/ 此次對CTF MOVEment進行支持的合作方還包括: MoveFuns DAO、MSafe、Token Pocket、ChainBase、Aptos Project、OKX Web3、NFTScan、IMCODING 等。 此次對CTF MOVEment進行支持的媒體包括: PANews、鏈捕手ChainCatcher、Foresight News、深潮TechFlow等 關於 MoveBit MoveBit 是一家服務 Move 生態的安全公司,其願景是讓 Move 生態成為最安全的 Web3 生態係統。MoveBit 團隊由學術界安全大牛和企業界安全領軍人物組成 ,具有10年的安全經驗。MoveBit 團隊是 Move 生態最早期的貢獻者,與 Move 開發者共同製定安全 Move 應用的標準。
活動集 -
簡述當前區塊鏈各模塊的性能瓶頸和挑戰
注:本文來自@chenxingdotli推特,其簡述了決定區塊鏈各模塊的性能瓶頸和挑戰,看看那些漂亮數據背後的水分。 區塊鏈的性能優化是一個很熱的話題。然而,由於區塊鏈係統的複雜性,係統性理解性能優化門檻很高,這就為“性能虛標”提供了空間。前有 “百萬tps” 大躍進,後有 “80萬tps” 宕機鏈。 所以,我希望展開來講一下決定區塊鏈各模塊的性能瓶頸和挑戰,看看那些漂亮數據背後的水分。 1. 網絡模塊 作為一個去中心化的係統,網絡通信是整個係統的基礎,也有人將其稱為 Layer 0。 我將網絡模塊抽象為三層:網絡設施層、節點連結層、廣播協議層。每一層都是下一層的基礎,每一層的性能都是下一層性能的上限。 網絡模塊的帶寬和延遲構成了區塊鏈係統 tps 和 finality 延遲的基礎。 1.1 網絡設施層 帶寬:主要取決於網絡基礎設施的發展,以及區塊鏈節點的配置要求。前幾年公鏈的網絡配置要求一般在 20Mbps 到 100 Mbps. 到 2022 年,Aptos 已經要求 1 Gbps 網絡帶寬了。總之,帶寬要求越高,節點門檻越高,越中心化。 延遲:延遲有一個優化的極限,就是光速。互聯網中的傳輸延遲比光速延遲要更大一些。Conflux 曾經測得的洲際節點延遲可達 200-300ms。如果是那種所有節點都在一個數據中心的“機房鏈”,延遲可以忽略不計。 1.2 節點連結層 節點連結層主要通過鄰居節點間的通信實現網絡中的消息廣播。 帶寬:一般情況下,節點連結層可以獲得接近於網絡設施層的帶寬。也可以選擇犧牲帶寬來降低延遲:例如,當要廣播一條消息時,同時發給所有鄰居(帶寬要求翻幾倍),而不是發完一個再發下一個。 延遲:消息廣播延遲和節點數量有關,節點越多,延遲越高。 目前比特幣和以太坊大概有幾千個節點。根據我們的實驗,如果全網有一萬個世界各地的節點,廣播延遲中位數 3~6 秒,最大可至 15 秒。通過一些協議優化,最大延遲可以再降低一半。 而一些宣稱確認延遲 1~2 秒的公鏈,顯然隻能支撐更少的節點 1.3 廣播協議層 節點連結層隻負責轉發數據塊,而不管數據是什麼。而廣播協議層則定義具體的區塊、交易轉發規則。 帶寬:主要在於如何減少冗餘傳輸。試想,如果每個鄰居都給你發了同一筆交易,是不是很浪費?Conflux 設計的轉發協議 Shrec,就通過減少冗餘,在同等網絡帶寬下將廣播交易的 tps 提升了 6 倍。 不過,隻要網絡設施層帶寬足夠高(比如 1Gbps),即使不優化,這裡也不會成為瓶頸。 延遲:一些共識協議會將廣播協議層的延遲放大若乾倍,例如,比特幣的出塊間隔需要 5 倍於廣播協議層的延遲,而確認需要 6 個塊。因此,優化這裡的延遲至關重要。2016 年,比特幣通過緊湊區塊的設計,將區塊廣播延遲從 120 秒降低到了不到 10 秒。 緊湊區塊不包含完整交易,隻包含交易哈希前 6 字節,因為這些交易已經在網絡中被廣播過並被多數節點收到。這可以加速區塊廣播,使廣播協議層獲得接近節點連結層的延遲。2017年後,高性能公鏈基本都采取了這一設計。 2. 共識模塊 共識協議是區塊鏈係統中最複雜、最精巧的部分,它協調各個互不信任的節點,並為上層應用提供提供可信的去中心化服務。很長一段時間內,對共識模塊的性能優化都是熱點。 帶寬:中本聰共識自身的缺陷導致它的共識帶寬必須處於一個非常低的水平,否則會增加網絡分叉,降低係統安全性。 2017 年後的新協議基本都可以充分利用帶寬了,這不再是一個難題。 不過,有些項目混淆了共識模塊的 tps 和區塊鏈係統的 tps,把充分利用帶寬稱為“無限可擴展”,仿佛網絡帶寬是無限的。 延遲:共識的延遲指區塊從產生到 finalize 需要多久。中本聰共識的確認延遲很差,大概需要 30~60 倍廣播協議層延遲,後續 PoW 協議例如 Bitcoin-NG, OHIE 等也沒有優化這一延遲。Prism 將延遲優化到了 23 倍,Conflux 優化到了 3 倍。PoS 協議我了解得有限,估算大概需要 5 倍延遲。 不過 PoW 和 PoS 協議有一個很大的不同:PoW 參考最大延遲, PoS 參考中位數延遲,而最大延遲和中位數延遲可能有 3 倍差異,所以 PoS 共識普遍延遲表現更好一些。節點少的話,進入 10 秒也不是不可能。至於以太坊這種上了 PoS 共識反而更慢的,隻能說是一個奇葩吧。 共識模塊是“參數虛標”最嚴重的地方。比如,明明需要等 6 個區塊才能達到安全性要求,項目方告訴你 1 個區塊就行,反正沒人攻擊就不會露餡,沒資產就沒人攻擊。 還有一種叫分片的技術:給節點分組,把交易分給各組,每組隻處理自己的交易、相信其他小組。這種技術通過增加小組數量,容易獲得一個很高的 tps 用於吹噓,但相信其他小組會帶來安全風險。所以分片適用於對安全性要求不高的場景,如國產聯盟鏈。 3. 執行模塊 以太坊之所以能在比特幣外開辟一片天地,在於它創造了可編程的數字資產。因此交易執行模塊也是區塊鏈係統的重要的一環。也是在早期的性能優化中被忽視的一環。 執行不再區分帶寬和延遲,隻關心單位時間內處理的交易或計算任務數量。 執行模塊的效率受到計算機係統各個資源的限製。 3.1 CPU資源 在串行執行中,CPU 的性能瓶頸是非常明顯的。在過去 5 年內,CPU 單核性能提升了不到 1 倍。在 EVM 中,如果不考慮存儲訪問,最快的 CPU 大概 1 秒能執行 1 億 gas , 是現在以太坊性能的 80 倍(僅是量級的粗略估計)。 並行執行是利用 CPU 資源的關鍵一步。一些項目在嘗試提出更利於並行的語言模型,例如 Move。 在 Conflux 一項關於 EVM 並行化的研究表示,目前以太坊鏈上交易的並行化潛力是 9 倍 tps。 但是,並行化 VM 有很多的挑戰。比如,理想情形下,交易高度並行;最差情形下,交易相互依賴,隻能串行。那如何設計 gas 定價與 gas limit,使得理想情況可以充分利用並行優化,而最差情況又不至於跟不上執行? 3.2 存儲訪問資源 和網絡設施層一樣,這裡的性能主要取決於硬件的發展和區塊鏈節點的最低配置。除非數據被緩存在內存裡,執行交易時的讀寫性能不可能超越硬盤的讀寫性能。 還拿 Aptos 舉例,他們節點的存儲要求是 40K IOPS,而一筆交易可能涉及到發送者和接受者兩個賬戶的狀態修改,也就是最差情況下網絡隻能支持 2 萬 tps。 但他們的宣稱 tps 是 16 萬,可想而知這後面有多少不公開的前提條件了。 3.3 可驗證存儲結構 可驗證存儲結構是區塊鏈存儲的一個重要數據結構。它允許一個輕節點向一個它不信任的全節點查詢鏈上狀態,是區塊鏈 trustless 裡的最重要一環。在以太坊中,訪問可驗證存儲結構 MPT 比直接訪問數據庫慢 10 倍。所以,有些區塊鏈乾脆去除了可驗證存儲結構,以換取更好的性能。 最後做個總結,區塊鏈的性能優化不是一個追求極限的過程,而是在各種限製下對安全、效率、去中心化程度的取舍。 有些取舍是可以被優化的,比如中本聰共識中,共識帶寬與安全性的矛盾後來被解決了。 有些取舍是不可避免的,如果你要求每個節點配備 256 GB 的內存,就注定了獨立參與者的數量不會太多。 一味地去追求紙面上的高性能,隻會得到一個中心化的宕機鏈。隻有真正去面對和解決性能優化中的問題,才是性能提升的正途。 受篇幅所限,還有很多安全性相關的考量並沒有提到。不過以上內容足以點破很多大餅了。
PA薦讀 -
視頻丨解析Move語言及新公鏈雙子星 Aptos & Sui
10月25日晚上9點,PANews邀請到了Mysten開發者關係負責人—Henry、AptosGlobal Co-Founder—鄭鄭、WTF Academy Founder—0xAA、(3,3)DAO發起人—豐密、OKLink瀏覽器PM—蔡彥5位嘉賓做客Twitter Space,共同解析Move語言及新公鏈雙子星 Aptos & Sui。 以下為本期視頻的時間線目錄,需要的朋友可以直接跳轉: 00:00—7:30 開場白及嘉賓介紹 7:30—19:30 MOVE語言特點 19:30—34:29 Aptos&Sui技術創新 34:29—52:46 Aptos&Sui生態機會 52:46——67:57 MOVE公鏈與鏈遊 67:57—82:20 是否會有原生應用 82:20—94:58 MOVE公鏈定位 94:58—102:15 其他MOVE公鏈
PANews官方 -
倒計時2天,全球Move 核心開發者雲集於「2022 Move 開發者峰會」
2022年,雖然市場不斷降溫,在 Layer 1賽道白熱化、敘事漸弱的今天,Aptos、Sui 又掀起了一輪「Meta 係 Layer 1 」的浪潮,捕獲了大量的開發人才。圍繞著網絡規模的可擴展性、安全性和Move 語言的發展,開發人才們正在持續創新中,探索邊界,在此背景下,「2022 Move 開發者峰會」應運而生。 活動:2022 Move開發者峰會 方式:線上(騰訊會議直播+Blibli轉播) 時間:10 月 27日至 10 月 28日 (本周四、周五) 主辦方:MoveFunsDAO、MoveBit、AptosGlobal、SuiWorld、7UpDAO 點擊「閱讀原文」直擊報名鏈接,正確填寫信息,或者掃描下方二維碼進行報名 峰會介紹 10 月 27 日至 10 月 28 日,亞太地區首場、規模最大、嘉賓最重磅的Move開發者峰會將正式開幕,數十名 Move 開發者、研究人員和創業者將彙聚一堂,和大家一起探討Move 開發的主要特性、使用案例及最新進展。 參會嘉賓 此次峰會邀請了Move 創造者、新公鏈的核心開發者、共同設計者、學術界研究者等一起參會。目前,Move 語言的創造者、SUI 的聯合創始人Sam Blackshear, Aptos 的 Wolfgang Grieskamp、Starcoin 的 Jolestar、MoveBit 聯合創始人Xudong Wang、滑鐵盧大學徐萌教授、ZkMove 聯合創始人Greg Zhu 等數十位頂級Move 開發者、研究者將確定出席本次峰會,分別從不同維度分享 Move 的信息及動態,共同探討 Move 語言的未來發展。 峰會的主要內容和流程 本次峰會將分別從Move 語言的不同應用場景、Move 安全、Move 項目展示、Move 核心與生態、Move 開發者教程等多維度進行內容分享和交流,保證參會者可以掌握關於 Move 語言的最新行情和動態,對web3 應用發展有最新的整體認識和了解。峰會期間,除了乾貨滿滿的分享和演講環節,還有最全的Move 學習資料包。 開發者社區支持 MoveFunsDAO、Rust中文社區、高可用架構、NonceGeek、MoveMove、Rebase社區、BuilderDAO、7UpDAO、Rebase 社區、MoveChina、MoveDAO 支持機構 Westar Labs、Mysten Labs、Aptos Labs、亞馬遜雲科技、Huobi Ventures & Incubator、Bixin Ventures、Aveslair、BitKeep、A&TCapital 媒體支持 律動Beats、星球日報Odaily、鏈捕手ChainCatcher、Foresight News、PANews、深潮TechFlow 峰會亮點 在這裡,您將可以直接聽取Move 語言的創造者、SUI 的聯合創始人Sam Blackshear, Aptos 的 Wolfgang Grieskamp、Starcoin 的 Jolestar 等多位頂級Move開發者深入探討Move 語言的特性、安全設計等硬核內容; 在這裡,您將直擊基於Move 語言開發的Web3 項目的線上展示,和Move 創業者探討一些應用的可能性; 在這裡,您除了可以深入一些開發細節,比如「如何在瀏覽器編譯Move 合約?」「如何測試Move 合約?」還可以了解一些泛區塊鏈、技術愛好者感興趣的問題,比如「Aptos/Sui 的Move 的差異」; 在這裡,您還可以了解資本最感興趣的Move 發展方向,找到自己的投資興趣點,在市場低潮期找到極具潛力的未來新星。 報名方式 點擊「閱讀原文」直擊報名鏈接,正確填寫信息,或者掃描下方二維碼進行報名  
活動集 -
對話 Aptos 聯合創始人:Aptos主網上線後,將發展成世界上最大的鏈上遊戲世界
視頻鏈接:《Aptos' Mo Shaikh on the Move Moment - Messari Mainnet 2022》 受訪者:Mo Shaikh,Aptos 聯合創始人 撰文:Ryan Seliks 來源:《對話 Aptos 聯合創始人:主網上線後,Aptos 的下一步》by Colin,SevenUp DAO Facebook 的 Libra 嘗試失敗了,但它的智能合約語言仍然存在。包括 Aptos 在內的當下最熱鬨的新公鏈都在使用 Move。 它的聯合創始人 Mo Shaikh 做客 Messari 2022 年主網會議,告訴了我們 Aptos 的下一步。 停止 L1/2/3 的疊疊樂遊戲 Ryan Seliks:你為什麼要從世界上最大的科技公司中跳出來並加入加密行業 L1 的激烈戰鬥中? Mo Shaikh:我在布魯克林花了好一段時間來弄清以太坊到底是什麼。以太坊的願景是正確的,指明了加密貨幣未來發展的方向,但是問題也是很明顯的,即使已經經曆了多輪牛熊周期。 我們很高興有機會能夠在 Atpos 解決這個問題。以太坊在協議方面取得了巨大的成功,吸引了眾多的開發者,但與之俱來的是堵塞的網絡。你開始看到 L2 開始形成,對拓展進行了嘗試,儘最大努力搭建基礎設施,這導致了分散的開發人員。 我將這種問題帶到了 Facebook 中,並從不同的角度看待現有的 Web3 基礎設施,以及半年前、四年前的基礎設施。不管是比特幣還是以太坊,或是其他所有試圖到來的 L1 ,他們都沒有解決這個市場問題,能夠幫助數十億人進入加密行業。 這就是 Libra 和 Diem 最初的願景,我們從頭開始構建一些東西,我們希望保證智能合約開發人員能夠更加集中,為用戶提供可玩的安全資產。V 神前不久提到了 L3 ,之後可能還會出現 L4/5/6 ,我們想要的是停止這個疊疊樂遊戲,從 Aptos 開始從頭構建一個新的 L1 ,讓全球數十億用戶安全的進入 Web3 中。 Libra 的結束與 Aptos 的開始 Ryan Seliks:Facebook 的 Libra 嘗試是在哪裡結束的,而你新的 L1 又是從哪裡開始的? Mo Shaikh:在 Facebook 的旅程有點出人意料。他們的方法當然是進步的。Web3 是一個無需許可的環境,當他們進入 Web3 構建時,那麼你所構建的東西必須是開源的,並且要與社區進行合作。但這觸動了 Facebook 的利益相關者的蛋糕。像 Facebook 這樣受到監管的大型實體很難處理好這之間的平衡,無需許可的開放式 Web3 很難滿足以不同步伐行動的監管機構。 關於 Aptos 的開始,我們在這方面有著獨特的優勢。我的聯合創始人和首席技術官在 Facebook 工作了 10 多年,我們的團隊中有著 10 多位來自密碼學的博士,並且他們的論文經常被 V 神引用。我們的研究人員全部經過 Facebook 的認證,人才水平毋庸置疑。並且我們去除了官僚程序,不用與大型組織合作。我們的技術水平和我們所做的被頂級科技公司認證過的事讓我們與其他團隊相比有著得天獨厚的優勢。 競爭與未來 Ryan Seliks :即使你們團隊有著這種優勢,但是你們並不算加密行業 OG 級別的成員。在你們之前已經有以太坊、solana 這樣的 L1 ,你要怎麼與他們競爭? Mo Shaikh :嗯,僅次於比特幣或者以太坊是一個很好的願景。他們確實都是很好的協議,但是我想這不會絆倒我前進的步伐。 現有的 L1 生態係統已經完成了驚人的建築工作,讓我們能夠達到今天的位置。接下來我們專注於下一波十億級別的用戶。這讓我想到了約克市的地鐵係統,那是由三個不同的地鐵拚湊起來的係統,能夠支撐百萬級別的用戶。當我們考慮下一個級別的十億用戶時,我們必須考慮可以像這三個地鐵係統一起協同工作一樣的基礎設施係統。所以我們采取了可升級和可拓展的原則來解決問題,我們在我們的每一個測試網中升級我們的網絡。 很多創作者已經看到了 Web3 的潛力,但由於性能的限製,不同網絡的成本、不同網絡的結構,我們還無法發揮出這種潛力。如果我們每個人都使用以太坊網絡,那麼成本會上升,反而會造成負面的網絡效應。以太坊堵塞之後,人們可能會讓你使用 L2 解決方案,但這不是理想的用戶體驗,所以我希望設計具有成本效應的模型。 我們嘗試部署結構完美的智能合約,並在安全的環境中測試,並能夠在主網上線後直接應用。我們還開發了允許預先驗證交易狀態的程序,讓資產在結果被確定之前執行交易。我們對此非常有信心我認為我們已經接近解決了三難問題。 Ryan Selkis :接下來的 30、60 或者 180 天,你們有什麼打算? Mo Shaikh:我想這個會議(Mainnet)的名字恰好是我們下一步準備前往的地方,我們的主網會在秋天上線,並且會帶來一些非常酷的協議。比如有趣的 DeFi 協議和一些有趣的遊戲。我現在還不能透露它的名字,不過這將會帶來世界上最大的鏈上遊戲世界。想象一下 1000 萬人能夠在遊戲中賺取 NFT 並使用 NFT 進行租借來賺點小錢。就像一個可以為你帶來價值的堡壘之夜。我認為它的經濟模型就會很酷,具有破壞性,帶來新的革命。 Ryan Selkis:你們如何看待 Sui ? Mo Shaikh:我們共同為 Web3 的下一個時代努力,儘可能地吸引更多的參與者。我們將成為互相支持的生態係統,促進 MOVE 語言的大規模采用。 Aptos 的重點是成為 MOVE 語言開發者的家,同時也歡迎其他開發者。以太坊合並之後,敘事正在轉變,大量的 Web2 企業正在試圖在進入 Web3 的同時堅持他們原本的平台。我們希望 Atpos 和 MOVE 語言能夠參與到其中。 Ryan Selkis:除了你剛剛提到了還不能告訴我們的應用程序外,Aptos 還在關注什麼? Mo Shaikh:我認為主要有三件事。區塊鏈將成為下一代人的主要機會,而以太坊和合並為我們帶來了更大的主題,權益證明和安全可靠的網絡。這引出了第二點,如何讓 Web3 得到大規模采用。無論你是 Web3 公司還是 Web2 公司,你都應該注意到基礎設施正在積極升級,並走向能夠帶給用戶安全感和良好體驗的終點。第三點也是我認為可能最被低估的一部分,是 Web3 社區中的協作精神。我們不應該歧視 Web2 ,世界最終會走向 Web2 和 Web3 的收斂點,而不是相互鬥爭。我們將把 Web3 的願景帶入到 Web2 當中。
PA薦讀 -
7 O'Clock Capital:一文讀懂模塊化資本公鏈 Aptos
公鏈層出不窮,如何在當前區塊鏈世界中脫穎而出? 公鏈層出不窮,如何在當前區塊鏈世界中脫穎而出? 公鏈通過執行層、共識層、結算層,數據可用層來為用戶提供更好的安全性和數據主權。Aptos將可擴展性、安全性及去中心化的整體性能提高,採用模塊化的方式為Web3構建一個去中⼼化應用程序生態系統來解決物理世界的用戶問題。 從客觀角度來看,Aptos是一個去中心化的模塊化資本公鏈,致力將Web3帶入主流,並獲得市場和頂級一線資本的投資和認可,相對其他公鏈在同階段可屬Top1,並將公鏈賽道整體格局重新洗牌。 從商業角度來看,基於第一性原理Aptos可理解為Web2.5,其底層基礎架構利用Move語言的模塊和腳本可更好的接納Web2項目及應用程序,將幫助區塊鏈產業迎來新的發展面貌,為提高就業率和經濟水平貢獻力量。Move語言的優勢在於高效率、安全性、可升級性,其特點面向資源且對於開發者更加友好,但同時也對於項目在生態、造富效應等方面產生了一定的門檻,開發人員及相關Web3用戶也可趁此機會進行學習。 而從一級投資角度來看,需要在底層架構、生態場景、市場需求、用戶訴求等方面做出多維度考量與評估,7 O'Clock Capital也將在下文對Aptos進行多維度的研究與分析。   正文   Aptos是由Meta(原Facebook)將旗下穩定幣項目Diem出售後, 一些核心成員離開後,組團進行Aptos公鏈開發。隨後在今年3月份獲得了a16z、 Binance Labs、FTX Ventures 、Coinbase Ventures等頂級機構的投資, 豪華融資陣容及高融資金額,讓市場對此進入了一個全新的預期和探索階段,目前Aptos已經歷了多輪測試,吸引超過200+項目入駐,其主網預計於Q4上線。 Aptos其主網未上線的情況下,被譽為將是TPS最快且最親民的公鏈,也如《Aptos的起源》一文所述,使命是為數十億人創造普遍和公平地獲得分散資產的機會。從智能合約平台到開發人員基礎設施和工具、錢包和分布式的應用程序,Web3堆棧是巨大而豐富的。Aptos之旅開始於與一個分布式的社區合作,部署一個安全、可擴展和可升級的智能合約平台。   一、Aptos的介紹及叙事   Aptos是一個新的獨立項目,致力於提供世界上最安全和最適合生產的L1區塊鏈。該團隊由 Diem 的原創者、研究人員、設計師和建造者組成,Diem 是最初為此目的而建造的區塊鏈。其願景是為所有人構建更可靠和可擴展的區塊鏈。 (一)產品機制 語言系統:採用安全靈活的區塊鏈語言──Move語言;其專為在區塊鏈上進行安全資源管理和可驗證執行而設計。事務執行是確定性的、封閉的和計量的。確定性和封閉性意味着交易執行的輸出完全可預測,並且僅基於交易中包含的信息和當前分類帳狀態。 Proof-of-stake DiemBFT拜佔庭容錯共識機制:過去的三年進行了四次叠代,提升了交易確認速度和區塊鏈的穩定性,在三分之一的驗證結點故障時,仍能保證穩定運行。 安全性方面:支持任何帳戶輪換其私鑰的能力。驗證者可以定期輪換他們的共識密鑰,以提高安全性。多代理交易還可以實現更廣泛的可組合模式和用例。 可拓展性方面:通過並行賬戶交易,同時保留對交易排序的控制,考慮更靈活和可組合的並行性的替代實現,進行對輕量級、完整、歸檔和驗證節點的快速靈活的狀態管理支持。 可升級性方面:以驗證者的管理和配置通過鏈上狀態進行管理,方便社區投票和快速執行升級。強大的測試和部署實踐確保安全可靠的部署。 Gas費:支持多幣種來支付gas,避免錢包中只有一種非gas代幣而導致無法進行交易,原理為將其他代幣按鏈上彙率標準化兌換為Aptos代幣,然後根據標準化後的gas價格對所有交易進行排序並確認需執行的交易。 (二)融資情況 (三)團隊背景 創辦人莫·謝赫(Mo Shaikh)與程思聰(Avery Ching)更有名的身份是Facebook區塊鏈項目Diem的創始團隊成員,其中程思聰常被稱為底層技術規範的奠基者。 1、Mo Shaikh ──創辦人&CEO 2020 年 5 月 至 2021 年 12 月在 Meta 負責戰略合作夥伴關系,在此之前的 2017 年 10 月至 2020 年 5 月在 Meridio 擔任創辦人兼CEO,Meridio是一個基於區塊鏈的平台,用於投資和交易具有流動性的部分房地產 Linkedin:https://www.linkedin.com/in/moalishaikh/ 2、Avery Ching 程思聰──CTO 曾在Meta擔任首席軟件工程師超過10年,並且是原 Meta 旗下加密錢包 Novi 團隊的技術負責人;專注於區塊鏈技術的各個方面的開發,同時也負責維護 Diem 區塊鏈。2007 年 10 月至 2011 年 9 月在雅虎擔任首席軟件工程師。 Linkedin:https://www.linkedin.com/in/averyching/ 3、Josh Lind──創始工程師 從事 Layer1 區塊鏈技術的研究。在此之前,是一名研究學家,在 Novi 從事 Diem 區塊鏈的研究。曾在倫敦帝國學院的大規模數據和系統(LSDS)小組和加密貨幣研究和工程中心(IC3RE)完成了博士學位。博士學位專注於使用可信硬件改善大規模分布式系統的安全和隱私。 Linkedin:https://www.linkedin.com/in/joshdavidlind/ 4、Alin Tomescu──研究員 麻省理工學院授予計算機科學碩士學位以及哲學博士,在麻省理工學院擁有超過六年研究經驗,並專注於加密貨幣、公鑰、經過身份驗證的數據結構、安全通信和安全 Web 應用程序等方面。 Linkedin:https://www.linkedin.com/in/alinush/ 5、David Wolinsky──軟件工程師 曾是 Meta 的 Web3 的技術主管,在多個組織和團隊工作,以幫助制定許多戰略性技術和產品計劃。在此之前,曾在 Diem 區塊鏈上工作近兩年時間,包括設計治理和創世程序,建立安全基礎設施計劃和原則,以及定義與 Diem 的集成。在加入 Novi 之前,是 Facebook 的技術主管/經理,負責 Facebook 的廣告增長。是耶魯大學擔任研究學者。 Linkedin:https://www.linkedin.com/in/davidiw/ 6、Alden Hu──軟件工程師 2019 年 2 月至 2022 年 2 月在 Novi 擔任高級軟件工程師,此前曾就職於 Instagram 以及百度。 7、Rati Gelashvili──研究員 麻省理工博士,在並發、並行和分布式算法以及數據結構方面擁有豐富的專業知識,2020 年 5 月至 2022 年 1 月在Novi 擔任高級研究學家。 Linkedin:https://www.linkedin.com/in/rati-gelashvili/ (四)路線圖 (五)項目官方鏈接   二、Aptos白皮書細節解讀   在Aptos v1版白皮書中以安全、速度、可拓展和可升級性的 Web3 基礎設施為主體,主要闡述了願景使命、Move語言、邏輯數據模型、安全性創新、快速高效性能、狀態同步、社區所有權、性能等幾個方面,下面我們看一下其白皮書的具體細分和拆解。 (一)願景使命 願景:提供⼀個可以為 web3 帶入主流採用,並授權構建一個去中心化應用程序生態系統來解決現實世界的用戶問題。 使命:通過提供靈活的模塊化區塊鏈架構來提升區塊鏈可靠性、安全性和性能方面的最新技術⽔平。 驗證:在過去的三年中構建、推進、開發和部署Diem主網,2020年曾部署到十多個節點運營商和多個錢包提供商,在沒有停機的情況下進行兩次重大升級,對技術堆棧徹底的改進,將安全、透明和升級作為核心功能,並且強調了交易處理、去中心化和網絡治理的新方法。 (二)Move語言 Move 是⼀種新的智能合約編程語⾔,強調安全性和靈活性,受到 Rust 編程語言的啓發,通過線性類型等概念在語言中明確數據的所有權,並強調資源稀缺、保存和訪問控制,定義每個資源的生命周期、存儲和訪問模式。 利用字節碼驗證器(表示指令發表傳輸時需要經過字節碼的校驗,如有一條未通過將不給予加載)來保證類型和內存的安全。並建設一個Move驗證器,幫助不受信的代碼進行更可信的編譯。 Aptos的鏈上配置包括一組活動驗證器、標記屬性以及各種服務配置,支持對模塊的可升級性和可編程性的無縫配置更改,並支持Aptos本身升級。 (三)通輯數據模型 Aptos 的賬本狀態表示所有帳戶的狀態,任何人都可以向 Aptos 提交一個事務處理,以修改賬本狀態。 交易|已簽名的事務處理包含 發件人使用一個或多個簽名的事務身份驗證器來驗證事務是否經過身份驗證; 發件人賬戶地址 對於點對點交易,包含收件人的信息和轉帳金額 發送方為執行交易而按每單位 Gas 願意支付的金額 交易在中止前允許消耗的最大 Gas 單位 交易記錄的序號 事務停止有效的時間戳 標識此事務有效的區塊鏈 ID,以防止簽名錯誤 事件是指在Token轉移過程中,發送方和接收方的帳戶將分別發出發送事件和接收事件,這些數據存儲在賬本中,並通過一個Aptos節點進行查詢事件的詳細信息。 賬戶:用戶可通過生成多個密鑰來創建多個賬戶並由同一用戶管理。並不會將賬戶與現實世界的身份聯繫,同一用戶控制的帳戶彼此之間沒有內在的聯繫。但是一個用戶仍然可以在一個錢包中管理多個帳戶, 以便進行簡單的資產管理,這種靈活性為用戶提供了匿名性和多個帳戶以增加執行並發性。 Move模塊:其框架由 Aptos 的核心庫和配置組成,被定義為一個常規的可升級的模塊包。 資源:允許不同的實例共享項目功能的代碼,並且將修改、删除和發布指的規則編程為數據類型的模塊中。因此在安全性和驗證規則可組織其他代碼或實體創建、修改、删除等操作。需具備可使數據實例符合頂級值並具有相應能力以及存儲能力的數據類型。 賬本:由一個單一的賬本狀態來表示,隨着採用程度的增加和技術發展,Aptos將擴大碎片數量,增加吞吐量,支持跨碎片移動訪問資產等行為;每個賬本狀態維護特定碎片的所有鏈上資產,並提供相同的賬戶模型和細粒度的數據存儲來提供固定的存儲訪問成本。 (四)安全性創新 交易可行性保護:在簽署交易時簽名者將授權區塊鏈提交和交易;偶爾也會出現無意簽署事物行為出現,為了降低該風險,Aptos限制每筆交易的可行性保護簽名者。目前提出三種不同保護措施: 發送者的序列號:事務的序列號對於每個發送者只能提交一次。如果當前帳戶序列號是≥的事務t的序列號,那麼t已經提交或t將永遠不會提交(因為t使用的序列號已經被另一個事務消耗) 事務過期時間:如果區塊鏈時間超過了事務t的到期時間,那麼同樣地,t要麼已經提交,或者t將永遠不會提交 指定的鏈標識符:每個事務都有一個指定的鏈標識符,以防止惡意實體在不同的區塊鏈環境之間重複事務 基於Move的密鑰管理:Aptos帳戶支持密鑰輪換,可減少私鑰洩露、遠程攻擊和破壞現有密碼算法的相關的風險。Aptos的賬戶可以支持混合托管模式,用戶可將輪換帳戶的私鑰委托給一個或多個保管人和受信的實體,再通過Move模塊定義一個策略,授權受信的實體在特定情況下輪換密鑰來進行密鑰恢複服務 預簽名交易的透明度:錢包對簽署交易的透明度弱,導致用戶被騙簽署惡意交易而資產丢失;Aptos生態提供事務預簽名執行服務,向用戶提供在簽名之前的事務結果,將已知的攻擊歷史和惡意智能合約結合。另外還允許錢包在執行過程中規定對交易的限制,違反約束將導致事務中止來保護受到攻擊。 實用的輕型客戶端協議:防止API提供者的基於弱信任關系而產生的客戶端破壞,Aptos提供了狀態證明和輕客戶端驗證協議,錢包和客戶端可以使用這些協議來驗證第三方服務器提供的數據的有效性。 (五)快速高效性能 批量處理:利用每個驗證器將交易分組為批,在達成一致期間將批合併成塊。並允許高效的收費市場來確定交易的優先級,避免客戶的意外的拒絕服務攻擊。 持續的交易傳播:Aptos中的交易傳播與共識脫鈎。驗證器不斷地流傳輸可用的事務,同時利用所有可用的網絡資源 區塊元數據排序:Aptos 區塊鏈的關鍵創新之一 是將與非協議相關的任務從共識階段中分離出來,如交易傳播、交易執行 / 存儲和賬本認證;通過將事務傳播與共識階段分離,可以在非常低的帶寬下進行排序,從而實現高事務吞吐量和最小化延遲。 區塊鏈時間:對每個提議的區塊以及塊內相應的事務採用了一個時間戳(數字簽名技術產生的數據),時間戳具體的用例: 智能合約中的時間相關邏輯 開發商編碼 預言機發布鏈上數據 客戶端訪問賬戶狀態 審計 並行事務處理的執行:一旦對一致區塊元數據進行排序,事務就可以由任何驗證器、全節點或客戶端執行;任何區塊鏈都是盡可能的實現多的並行執行;Aptos從數據模型和執行引擎都向前推進了並行處理。 並行數據模型:在數據和帳戶中沒有重叠沖突的事務可以並行執行,Aptos的流水線設計使事務重新排序來減少沖突來提高並發性;在此,Aptos引入新概念增量寫入來對賬戶的修改而實現所有事務都可以並行處理。 並行執行引擎:Aptos集成Block-STM並行執行引擎檢測和管理一組有序事務的沖突以及良好的並發控制,以特定順序的情況下實現最大並行化。 批量存儲:批量處理減少了存儲操作的數量,並利用更高效、更大的1/0操作。 賬本認證:Aptos對賬本歷史和賬本狀態實施了賬本認證,而賬本認證不在交易處理的路徑上,甚至可以完全帶外運行。 (六)狀態同步 Aptos利用驗證節點、全節點和其他複制節點提供經過驗證的賬本歷史和認證的狀態證明,以提供靈活和可配置的同步協議。具體來說,參與者可以根據不同的同步策略來優化他們的用例和需求。例如,在全節點的情況下,Aptos允許多種同步策略,包括能夠處理從時間開始以來的所有事務,或者完全跳過區塊鏈歷史記錄,並使用路徑點只同步最新的區塊鏈狀態。 (七)社區所有權 Aptos由一個廣泛和多樣化的社區擁有、運營和管理。原生Aptos Token將用於交易和網絡費用、協議升級和鏈上/鏈外流程的治理投票,以及通過股權證明模型保護區塊鏈。 交易和網絡費用:所有的Aptos交易都有一個Gas單價,允許驗證者對網絡中價值最高的交易進行優先排序。此外,在流水線模型的每個階段,都有多種機會丢棄低價值事務。 網絡治理:Aptos上的每個特性更改和改進都將經過提議、實現、測試和部署幾個階段;而這種結構為相關方和利益相關者提供反饋、分享關注和建議的機會;因此與其他區塊鏈相比,Aptos對其在鏈上的配置進行了編碼。為了為支持過程提供靈活性和可配置性,Aptos將支持鏈上治理,即Token持有者可以根據他們所持有的Token權重進行投票;例如 Token持有者將投票決定過渡到新簽名方案 開發人員實現新簽名方案和創建新版本 驗證節點升級版本 POS共識機制:要參與Aptos上的交易驗證,驗證者必須擁有最低數量的Aptos Token;驗證者決定他們自己和各自的支架之間的獎勵分配;聲明者可以選擇任意數量的驗證者,將他們的Token進行預先商定的獎勵分割;任何擁有足夠份額的驗證節點運營商都可以加入Aptos (八)性能 Aptos通過其並行、批處理優化和模塊化的事務處理管道來實現最佳的吞吐量和硬件效率。其他的性能計劃,如一致升級、增量寫入、事務提示和關鍵路徑緩存,將隨着時間的推移繼續提高吞吐量和提高效率。對於吞吐量和延遲衡量方法,Aptos讓開發人員能夠無限制地構建,並根據真實用例而不是合成事務測量吞吐量和延遲, 從而衡量吞吐量和延遲;並繼續優化單個驗證節點的性能及試驗擴展技術,添加更多的驗證節點網絡。 均勻狀態分片:最初Aptos將以單一的賬本狀態啓動。隨着時間的推移,Aptos網絡將通過多個分片賬本狀態發生而提供一個同質的API 和分片作為一個概念來實現水平可擴展性和分散化;其Token將用於所有分片上的交易費用、質押和治理。數據可通過橋在分片之間傳輸;用戶和開發者可根據自己的需要選擇自己的分片方案。總體而言,同構狀態分片提供了橫向吞吐量可伸縮性的潛力,允許開發人員跨分片使用單一的通用狀態進行編程,並允許錢包輕松地為其用戶合併分片數據。   三、Aptos的生態現狀及重點項目分析   公鏈生態是其核心價值源,根據數據顯示(https://www.aptos.systems/aptos_project/?type=live),Aptos生態目前已有216個項目搭建,包括DeFi、基礎設施、Web3、NFT等一系列項目,7 O'Clock Capital對其中部分有望成為獨角獸的項目進行了深度參與測試並給予了相關評估。 (一)Pontem Network Pontem 是一家產品開發工作室,致力於通過區塊鏈實現全球金融包容性。Pontem 與 Aptos 合作,以構建基礎DAPP和其他基礎設施,如開發工具、EVMs、AMMs 等。Pontem 團隊開發了一個 Diem-Move 分叉虛擬機,可以很容易地部署到其他公鏈,如 Polkadot、Cosmos、Avalanche 等。Pontem 還使 Move VM 與 EVM 等傳統虛擬機兼容,以便使用Solidity或Vyper代碼庫輕松部署。 Pontem的關鍵垂直領域:協議、開發者工具、基礎設施 產品架構 Liquidswap DEX:利用 Move VM 構建的最高效、最可靠的 L1。(AMM機制) Move code playround:是 Move 的在線代碼編輯器,在與 Aptos 兼容的 Move 區塊鏈上構建、測試、運行 Move 包,只需一個Web瀏覽器。 移動 Intellij IDE:一個移動的Intellij IDE 插件,幫助開發者根據Move語言開發部署項目。 Pontem 錢包:給予Aptos的一個去中心化插件錢包,仿真於MetaMask錢包。 綜合評估 建立一個Aptos生態的基礎設施開發公司,並建設了錢包、Swap以及開發工具等,對於Aptos的友好性非常高,並且提供了Move的開發工具以及開發的Move VM,可實現跨鏈互操作,兼容 Polkadot 和 Cosmos 等區塊鏈。其商業模式和未來生態的價值地位有目共睹,並完成了由 Mechanism Capital 和 Kenetic Capital 領投的450萬美元的種子輪融資。 (二)Zaptos Finance 一個流動性質押平台,由微軟、Snapchat 和亞馬遜等科技巨頭的人才開發,目前支持Martian與Fewcha 等錢包進行鏈接,用戶可從中質押自己的資產來獲得每日質押獎勵,Zaptos支持用戶質押任意數量的 Token,不設最低限度。 Zaptos 中有 3 種主要 Token:ZAPTOS(簡稱 ZPT)、stAptos、zAptos。 ZPT 是協議治理 Token,協議 20% 的收入將歸 ZPT Token 持有者所有,Token 持有者通過質押ZPT Token 獲得獎勵。 stAptos 是質押 Aptos 的交換 Token,用戶質押 Aptos Token,則會以 1:1 的比例收到stAptos,具有短期的鎖定期,鎖定期後用戶贖回時,可獲得原本的 Token 與產生的利息,如在鎖定期內取消質押將扣除用戶 0.3% 的取消抵押費。 zAptos 是需要長期質押Aptos Token獲取,為期一年,贖回時可獲得更多獎勵。 (三)Vial 一種集合利率協議,允許用戶在 Aptos 鏈上借貸資產。用戶可以通過Martian 錢包登陸該協議並點擊水龍頭獲得WBTC 和 USDC。現在該協議支持APTOS,WBTC和USDC三種Token,存款利率8%,借款利率10%。項目已經可以實現存款借貸一系列操作但是並沒有實現算法利率平衡。 其借貸利率根據資金池利用率(借入資產與供應資產的比率)通過算法確定。Vial 目前已經在其官網上發布測試網,用戶可連接錢包申領測試幣進行體驗測試。(暫停測試維護中) 官網:https://www.vial.fi/ (四)Seam Money  建立在 Celo 與 Aptos 上的穩定幣收益平台。通過一鍵質押收獲多個協議的收益,現在該項目已經聚合了Aries, EMPO,names.aptos 等超10個協議並建設CELO/ETH/USDC等多個池子。 產品架構 Seam Staking - 將 APT 質押 DeFi原語(所謂原語,一般是指由若幹條指令組成的程序段,用來實現某個特定功能,在執行過程中不可被中斷) Seam Yield:多協議組合策略 Seam DAO:參與者激勵驗證者管理平台和工具 為Aptos提供的價值 在 Aptos 上支持 3-5 個DeFi協議,用於交換、流動池等。 支持Aptos生態上4個錢包 協議管理的質押機制 多Token/LP 池 交易 + Dapp 模塊瀏覽器 綜合評估 項目處於早期階段,從產品上來說,具備一定的操作門檻,核心以模塊化的技術風建設產品形態,對於開發者具備一定的友好性。 官網:https://www.seam.money/ (五)Topaz 一個NFT 市場,可進行 NFT 的創建、瀏覽與交易,專注於安全性和可擴展性。目前上線了測試版,據其頁面展示,當前用戶可進行瀏覽和鑄造。項目已與 Martian 和 Fewcha 等錢包合作,之後可通過其進行連接。 產品架構 產品提供購買、鑄造、出售等交易,並支持Launchpad及項目待Mint頁面展示,上線Launchpad項目需要通過填寫表單後等待平台審核處理。整體產品操作及展示類似於Opensea。 綜合評估 項目通過推出一系列的任務獲得NFT獎章活動,引進大量用戶交互參與,布局未來空投機會,獲取到不錯的流量數據,目前已是第四期的活動,用戶按照要求參與活動可以獲得獎章,已經有一些創作者開始在此平台創作一些NFT項目,以此陸續推進,未來Aptos主網正式上線後有望成為Aptos生態的Opensea。 官網:https://www.topaz.so/ (六)Souffl3 一個NFT聚合交易平台,提供幫助創作者和用戶一鍵式的完成查找地板價和鑄造等功能。 產品架構 整合NFT市場的所有數據,並提供精準的地板價 批量一鍵購買和掛單。可監控最新的NFT Mint,並可完成一鍵Mint和自動Mint以及定時Mint等 自定義儀表盤,設置自動購買,出售,通知,跟單,分析等 Launchpad:幫助項目首次發布NFT公開銷售。 創作者支持批量上傳NFT、合成NFT等 綜合評估 目前處於測試階段,支持Petra、Martian、Pontem、Fewcha等錢包,項目核心通過自建全節點的方式,於公鏈層面上直接掌握全部的市場數據,而非依賴於其他交易市場的 API 工具,從而為用戶提供全面、精準的報價,並實現跨平台的⼀鍵掃貨購買、⼀鍵掛單賣出的功能。 官網:https://souffl3.com/ (七)Martian  一個可用於管理數字資產和訪問 Aptos 鏈上Dapps的錢包,還支持在Aptos開發網上鑄造NFT。Martian 錢包目前提供 Chrome 插件版本。 產品架構 Token的儲存管理,接收和轉出 自定義NFT鑄造,支持創建NFT和創建NFT集合 聚合生態的Token 交易平台、NFT交易平台、Launch pad等應用,用戶可直接點擊跳轉到相應的產品 綜合評估 Martian目前屬於Aptos生態大部分項目共同兼容的一個錢包,並支持鑄造NFT,聚合多個兼容的交易平台,提升了便捷性並增加了用戶對其的友好態度。 官網:https://martianwallet.xyz/ (八)ONTO 一個集合了很多功能的移動端錢包,基於 DID 為用戶在 Web3 的世界中提供管理數字身份、數據和資產的一站式移動端服務。用戶可以使用 ONTO 管理自己的資產,主要有資產管理功能、身份功能、數據功能、鏈上交易功能等。 產品架構 去中心化身份:通過ID系統,可驗證登陸不同應用及網頁端操作等驗證。 APP和瀏覽器擴展程序:提供網頁端的插件錢包及APP下載錢包,多元化系統。 Anydrop:支持可批量空投資產、NFT等,也可以定制空投任務,讓用戶在完成任務後領取獎勵。通過選擇不同公鏈(目前支持ETH、Ploygon、OKC、BSC)上傳空投表格文件,可一鍵批量空投。 多鏈系統:支持資產在多條鏈支持的交互、轉移,使用一個密鑰管理多條鏈的資產。 鏈上聲譽系統:結合可信憑證打造去中心化鏈上身份體系。 綜合評價 ONTO基於DID打造一個便捷安全的身份驗證錢包,核心特色就是通過身份和數據所產生的周邊功能,並打通網頁端和移動端來提供高效體驗,目前已可下載測試體驗,整體設計質感較不錯,體驗感較強,整理來說具備了MetaMask的插件端,並具備了Bitkeep的移動端的雙向優勢,但DID概念較為早期且暫沒有相關項目和產品打開新路途,還需不斷的叠代與升級。 官網:https://onto.app/ (九)Hippo Labs 一個聚合協議,為 Aptos 生態開發人員提供了編譯器、SDK 和框架級別的工具,以顯著提高生產力。Hippo 描述為一種聚合機制──利用面向用戶的友好前端,讓用戶可以直接訪問跨多個指數和貨幣市場的最佳定價和貸款利率。 產品架構 目前正在開發建設交易聚合器,開源的 Swap 協議(包括常數乘積兌換、穩定曲線兌換、分段常數乘積兌換等不同方式)。在未來將推出幾種多功能的組件: Move to ts轉換器(自動獲取鏈上數據並使用轉換器代碼在前端為用戶生成準確的報價等更多的用途) 交易模擬API(可準確的提供交易gas估算、要求用戶確認交易時預覽錢包餘額變化) 錢包適配器(兼容多種錢包,如Fewcha、Martian等) 綜合評估 目前還在搭建中,支持連接錢包但不支持測試交互,從機制上來看,團隊具備較強的技術能力,但對於聚合協議來說,其安全性的要求相對非常高,目前暫未體現出在安全方面的措施方案。 官網:https://hippo.space/ (十)AptosLaunch 基於Aptos 上的去中心化啓動板,通過提供具有定制的啓動模型、時間段的戰略化Token啓動體驗,為Token和NFT賦能,將基於層級的分配和彩票分配相結合,以確保為所有Token持有者公平分配獎勵。 產品層級 1、白名單保障:根據用戶持有的平台Token數量來劃分等級,平台上的新項目用戶只需提交地址,平台將根據等級給予用戶可參與的額度。 2、層級系統:通過不同的層級可參與的標準也不一樣,如金卡會員可參與金卡會員及以下所有層級,銀卡會員可參與銀卡會員及以下所有層級。而如是獎券方式,將按持有的平台Token越多,可獲得的獎券越多,可參與的額度也就越多。 保險系統 通過用戶在購買Launchpad 項目的 IDO 輪次,用戶可以選擇添加X% 的投資資金來使用ALT購買保險。然後ALT將存在保險基金。保險基金將彌補未來 60 天內用戶本金的潛在損失──在 IDO 推出的第60天後,如果Token價格低於IDO價格,保險基金將彌補與用戶。保險費用根據不同的項目來定,風險越高的項目,保險費越高。(平台評估風險)如出現低於IDO價格,保險基金將補差價。 評估方式:通過預言機和投票機制 如出現惡意僞造用戶,經過評估員的審核後,如真實為僞造,評估員將有權銷毀其在池內的抵押Token。 綜合評估 打造Aptos的第一個去中心化的啓動板平台,以激勵用戶持有ALT平台Token的方式進行層級區分,並在增加保險基金,用戶在參與過程中並可自行選擇購買保險機制(60天內跌破發行價可申請賠償),提高的用戶資產的安全性和項目方獲取的精準用戶。目前正在開啓社區私募融資,填寫表單並完成相應等級任務獲取OG或白名單資格,準備先部署ETH主網,待Aptos主網上線之後進行遷移,項目致力成為Aptos上第一個Launchpad。 官網:https://aptoslaunch.io   四、競品分析與對比   Aptos的出場非常亮眼,市場情緒給予了較高的認可度及呼應,那麼在具體性能上的表現如何,7 O'ClockCapital將其與在擴展性、TPS方面具備優勢的老牌公鏈Solana進行了對比。 從區塊鏈的不可能三角來看,Solana將重心放在去中心化和可擴展性上,使其成為加密行業中TPS最高,交易最快的公鏈,而Aptos將重心放到了去中心化和安全性上。 Solana和Aptos分別具備的最大創新點: Solana的優勢和技術創新 高性能的運行速度 可擴展性 歷史證明機制:POH PoH,全稱Proof-of-History,直譯過來是「歷史證明」。PoH與PoS協同工作,可以確保交易順序有序無誤,引導驗證者按照正確的順序進行交易區塊判定。驗證者主要負責以下兩個工作:計算出塊時間、計算所選區塊的交易數量。而這一切都是通過VDF(可驗證延遲函數)實現的,VDF將每個驗證者接到任務、創建交易區塊的時間嚴格控制在五秒鍾左右。這個VDF,就是PoH;而Solana就是通過PoS和PoH運轉,大大提升了Solana的交易速度。 Aptos的優勢和技術創新 網絡正常運行的安全性 高性能的處理效率 新型編程語言:Move 以下三圖是通過可擴展性、安全性和去中心化三個方面將Aptos與Solana進行對比,看Aptos是否可成為最快且可擴展性非常強的公鏈:   五、總結   Aptos作為公鏈新貴,7 O'Clock Capital通過上述內容從產品架構、生態系統、白皮書技術拆分解讀以及競品的對比分析來看,Aptos以新型語言Move建設公鏈,而Move語言也經過多年的叠代測試升級,具備了一定的穩定性和效率、可拓展性等優勢,因此獲得了多方頂級一線投資機構的支持與投資,具備了充足的資金體系來完善生態和技術運維。 目前其生態有大量的項目蜂擁而至,已有180+項目完成搭建部署,其發展速度有目共睹,而最活躍的賽道還屬基礎設施、DeFi、NFT三類項目,通過早期的交互操作獲取早期權益憑證NFT和未來空投的機會,也吸引了大量用戶的參與,同時也有很多具備技術背景的開發人員和團隊參與測試搭建驗證節點獲取Aptos Token來捕獲主網上線後的價值回報。 因此,在具備超級豪華資本支持的同時還得到了市場的認可與熱度,主網上線的價值可期,我們一起拭目以待!   原文連結:https://www.chaincatcher.com/article/2081238          本文章挑選自鏈捕手 項目介紹與分析  本網站所有非原創(轉載)文章版權歸原作者所有  特別說明:轉載文章會進行二次編輯以符合文章寫作需求,望作者包涵     延伸閱讀:  【新手懶人包】區塊鏈是甚麼? 一文看懂區塊鏈演化、應用、常見術語  【新手懶人包】元宇宙是甚麼? 剖析元宇宙的構成、未來商機和應用  【新手懶人包】 NFT 是甚麼? 整合 NFT 科普、平台比較、製作方法  【新手懶人包】 GameFi 是甚麼? 一文認識 GameFi 原理、運作方式、熱門NFT遊戲
Allen -
每日精選 | Coinbase 獲新加坡數字資產執照 | Aptos 已集成互操作性協議 LayerZero
Aptos 已集成互操作性協議 LayerZero;DEX 聚合器 Paraswap 部署者的私鑰疑似洩露,但該地址在合約部署後已沒有權限。 精選新聞 1. Coinbase 獲新加坡數字資產執照 Coinbase 周二表示,新加坡金融管理局已根據《支付服務法》原則上批準Coinbase Singapore 在當地提供受監管的加密服務。自新加坡於2019年推出許可制度以來,約有15家公司獲得了此類許可,其中包括 Coinbase 的競爭對手 Crypto.com。(彭博社)   2. Huobi Global 已移除 BTC/HUSD 等 21 個 HUSD 相關交易對 Huobi Global 交易所已於 10 月 10 日  21:00  移除 21 個 HUSD 相關交易對,分別為 USDC/HUSD、BTC/HUSD、ETH/HUSD、HT/HUSD、DOT/HUSD、XRP/HUSD、LINK/HUSD、BCH/HUSD、LTC/HUSD、ADA/HUSD、EOS/HUSD、ETC/HUSD、TRX/HUSD、CRV/HUSD、UNI/HUSD、FIL/HUSD、ALGO/HUSD、OMG/HUSD、AAVE/HUSD、THETA/HUSD、DOGE/HUSD。(原文連結)   3. SushiSwap 新任 CEO 回應「加密詐騙」:否認所有毫無依據的指控,個人履歷絕無污點 SushiSwap 新任 CEO Jared Grey 在其社交平台發文再次否認全部指控,且接受公開質詢。他表示:「在 2019 年,我的商業夥伴在我忙於籌集資金以啓動 Bitfineon 交易平台時從社區中盜取資金。我和幾位投資者發現後便解雇了他,並償還了全部資金給受影響用戶。在此領域,我一直秉持誠信經營,大家可以聯繫任何合作夥伴進行求證。我承認部分推特 Thread 披露的商業失敗,但否認所有毫無依據的指控。」(原文連結)   4. DEX 聚合器 Paraswap 部署者的私鑰疑似洩露,該地址在合約部署後已沒有權限 安全團隊 Supremacy 在推特上表示,DEX 聚合器 Paraswap 部署者的錢包地址在多個鏈(ETH、BSC、FTM)上發起異常交易,將其地址中的全部餘額轉移至 0xf3587...07036。該地址為 Profanity 漏洞利用者地址,其歷史記錄中有竊取多個靓號地址資產的痕蹟。 據悉,ParaSwap 是一個鏈上聚合交易所,在自建的 ParaSwapPool 兌換池基礎上,還聚合了 Kyber、Bancor、Uniswap、Oasis、Curve、0x 等協議。目前只有 Paraswap 部署者的自身資產遭到盜竊,暫不影響 Paraswap 多簽金庫(簽名閾值為2)。隨後 Paraswap 官方表示正在調查被盜事件,私鑰洩漏地址在合約部署後已沒有權限。(原文連結)   5. Optimism:OP 代幣原定 2% 通脹率被錯誤設置為 20%,不會影響計劃代幣供應 據 Optimism Governance 官方推特表示,OP 代幣推出時總供應量宣布將以每年 2% 的速度膨脹,但當部署合約時該比率被錯誤地設置為 20%,今天晚些時候會將合約邏輯更新為預期的 2%。 由於 OP 的通貨膨脹要到明年才會開始,沒有新的代幣被鑄造或轉移,而未來對該比率的任何更改都必須通過治理進行,因此這一錯誤設置沒有產生實際影響。(原文連結)   6. Aptos 已集成互操作性協議 LayerZero 新公鏈 Aptos 已集成互操作性協議 LayerZero,Aptos 生態系統將使用 LayerZero 解鎖跨鏈機會,LayerZero 將使 Aptos 團隊能夠為整個 Move 生態系統及其他領域提供關鍵基礎設施、應用程序和高級工具。(原文連結)   7. BNB Chain 啓動為期三周的歐洲創新孵化器計劃 BNB Chain 宣布啓動歐洲創新孵化器計劃,這是為期三周的虛擬計劃,旨在幫助歐洲的創新 Web3 初創公司構建和擴展 DApp,申請於 2022 年 10 月 10 日開始。歐洲創新孵化器計劃將通過合作夥伴和社區專家為初創企業提供最好的 Web3 資源和培訓,為他們提供長期支持。 該計劃將為團隊提供技術、設計、Token 經濟學和 BNB Chain 專家以及孵化器合作夥伴的市場策略方面的實踐課程和指導。該孵化器計劃將在裏斯本、巴黎、倫敦、柏林、巴塞羅那和華沙為項目、合作夥伴和社區成員組織獨家線下聚會。(原文連結)   8. Messari :Avalanche 2022 年第三季度總收入下降 94.1%,網絡價值僅增長 3.3% 據 Messari 最新報告《 Avalanche 2022 年第三季度》數據,Avalanche 的網絡價值僅增長了 3.3%,而其總收入下降了 94.1% 。盡管該網絡與 Core、THORChain 和 Boba Network 等平台的集成顯示出更高的實際使用率,但 Avalanche 的每日交易量和交易費用分別下降了 65.5% 和 76.2%。 同樣,Avalanche DeFi 激勵計劃 Avalanche Rush 也一直在下滑,其 TVL 在美元和 AVAX 季度環比 (QoQ) 中損失了大約 27%。 除 DeFi 外,Avalanche NFT 市場狀況也不佳,其 NFT 銷量和獨立買家地址數分別下降了 88% 和 34% 以上。然而,根據 Messari 提供的數據,獨立賣家增加了 25%。每日活躍地址平均每天 38,000 個,低於第二季度的平均 63,000 個。(原文連結)   精選文章 1.《Coinbase 最新紀錄片《貨幣:創辦人的故事》都講了甚麼?》 這是一部關於 Coinbase IPO 之旅的紀錄片,故事追溯 Coinbase 的歷史,結尾落腳於其 2021 年 4 月 14 日在納斯達克的 IPO。該紀錄片內容詳實,富有見地,但該作品的高潮部分中,更值得關注的其實是那些未被回答的問題。   2.《Layerzero:常被誤認為跨鏈橋的協議層產品》 在一次次的黑客攻擊事件之後,跨鏈橋在使用體驗上的種種缺陷開始讓人們懷疑,僅僅解決資產跨鏈問題的跨鏈橋產品會不會是一個錯誤的方向?未來能夠承載原生跨鏈應用的底層協議又應該是甚麼樣子?本文將向讀者重新介紹一個可能已經有所耳聞,但依然沒有完全理解其全部潛力的協議級跨鏈項目:Layerzero。   3.《IOSG:Uniswap 治理代幣估值模型的最優解構》 對於一個去中心化的 AMM 交易協議,用甚麼樣的收入結構對協議的代幣進行估值目前市場上沒有一個普遍的共識。因為相比於傳統的商業實體,去中心化協議分配收入的利益相關方可能更多更複雜。為了優化 UNI 代幣的價值,治理者不應該把自己限制在二選一上。   原文連結:https://www.chaincatcher.com/article/2080914  本文章挑選自鏈捕手 鏈捕手精選   本網站所有非原創(轉載)文章版權歸原作者所有  特別說明:轉載文章會進行二次編輯以符合文章寫作需求,望作者包涵     延伸閱讀:  【新手懶人包】區塊鏈是甚麼? 一文看懂區塊鏈演化、應用、常見術語  【新手懶人包】元宇宙是甚麼? 剖析元宇宙的構成、未來商機和應用  【新手懶人包】 NFT 是甚麼? 整合 NFT 科普、平台比較、製作方法  【新手懶人包】 GameFi 是甚麼? 一文認識 GameFi 原理、運作方式、熱門NFT遊戲
Allen -
每日精選 | 香港地產大亨鄭志剛旗下基金計劃募資 5 億美元投資加密資產 | Wintermute 未償 DeFi 債務達 2 億美元
Aptos 宣布主網將於 9 月 23 日至 12 月 22 日間發布;MicroStrategy 宣布近期購買 301 枚比特幣,均價為 19,851 美元。 精選新聞 1. Aptos 主網將於 9 月 23 日至 12 月 22 日間發布 Aptos 官方 Mod 在 Discord 群發布消息,Aptos 主網將於 9 月 23 日至 12 月 22 日間發布,具體時間將另行通知。與此同時,開發者網絡也已經進行了更新。   2. 數字防欺詐解決方案 Sardine 完成 5150 萬美元 B 輪融資,a16z 領投 數字防欺詐解決方案 Sardine 完成 5150 萬美元 B 輪融資,a16z 領投,Visa、ConsenSys、ING Ventures、Cross River Digital 、Eric Sc​​hmidt 和 Google Ventures 等參投。 Sardine 首席執行官兼聯合創辦人 Soups Ranjan 曾擔任 Coinbase 風險負責人,並在2020年初創辦 Sardine 之前擔任 Revolut 的加密部門負責人。據 Soups Ranjan 稱,自成立以來,該公司已有超過 135 名客戶,包括 FTX、Blockchain.com 和 Brave 等。 此前在今年 2 月,Sardine 完成 1950 萬美元 A 輪融資,a16z 領投,XYZ、SweatEquity Ventures、11.2 Capital、Village GlobalNYCA 和 Experian Ventures 以及 30 多名在金融科技和加密領域的天使投資人參投。(原文連結)   3. MicroStrategy 宣布近期購買 301 枚比特幣,均價為 19,851 美元 MicroStrategy 宣布在 2022 年 8 月 2 日至 2022 年 9 月 19 日期間,以約 600 萬美元現金購買約 301 枚比特幣,單枚平均價格為 19,851 美元。 截至 2022 年 9 月 19 日,MicroStrategy 連同其子公司共持有約 13 萬枚比特幣,這些比特幣的總購買價格約為 39.8 億美元,平均購買價格約為每比特幣 30,639 美元。(原文連結)   4. Wintermute:若黑客返還 1.6 億美元被盜資產,將支付 10% 的賞金 加密做市商 Wintermute 創辦人 Evgeny Gaevoy 表示,黑客攻擊與 Wintermute 用於鏈上 DeFi 交易操作的以太坊保險庫有關,如果所有資金都被歸還,Wintermute 將向黑客發放 10% 的賞金,價值 1600 萬美元。 此外,1.6 億美元漏洞是由於內部人為錯誤造成,但 Wintermute 不會解雇任何員工、改變任何策略、籌集額外資金或停止其 DeFi 運營。 鏈捕手此前報道,Wintermute 在 DeFi 黑客攻擊中損失 1.6 億美元,其 CeFi 和 OTC 業務暫未受影響。Wintermute 的服務在今天和未來幾天可能會中斷,之後將重新恢複正常。(The Block)   5. Wintermute 有 2 億美元未償 DeFi 債務,CEO 稱雖被盜但公司仍有償付能力 根據鏈上數據,被黑客盜走1.6億美元的加密貨幣做市商 Wintermute 欠幾個交易對手 DeFi 債務超過 2 億美元。最大的債務為 TrueFi 發行的 9200 萬美元的 Tether (USDT) 貸款,該貸款將於 10 月 15 日到期。Wintermute 的貸款賬簿還包括欠 Maple Finance 的7500 萬美元債務、欠 Clearpool 的 2240 萬美元債務。 Wintermute 首席執行官 Evgeny Gaevoy 在推特上稱該公司仍有償付能力。(Coindesk)   6. 火幣科技發布通函,建議公司更名為「新火科技控股有限公司」 港股上市公司火幣科技發布董事會通函,董事會建議公司更名為「新火科技控股有限公司」(英文名改為「New Huo Technology Holdings Limited」),並表示此舉將賦予公司嶄新企業形象及身份,有利於集團未來業務發展。 此外,通函還建議重選獨立非執行董事等事項。上述建議將於股東特別大會上以投票表決方式批準後生效。(原文連結)   7. 香港地產大亨鄭志剛旗下基金 C Capital 計劃籌集 5 億美元用於投資加密資產 據彭博社報道,香港新世界集團執行副主席兼行政總裁鄭志剛(Adrian Cheng)旗下基金 C Capital 計劃在未來 18 個月內籌集 5 億美元用於投資加密資產、信貸和私募股權,押注私營公司和數字資產。(彭博社)   精選文章   1.《PandaDAO 解散提案背後:高效和民主只能二選其一麼?》 9月19日,PandaDAO 在Snatshot上發布了「社區退款和解散提案」,截至目前投票票數統計,已有超80%的社區成員支持該提案,雖然還未到投票的截止日期,但可以預測的是,這個由People DAO 孵化、募資達到1900ETH、曾是Dework上最大的DAO組織,在不到1年的時間裏最終將解散。Panda Dao即將解散的背後,折射着當下Dao組織的普遍的治理問題。   2.《A&T View:萬字解析跨鏈協議本質:Web3 的 TCP/IP,將改變公鏈競爭格局》 為甚麼一定會有多台世界共用的可信計算機?為甚麼這些計算機不能用真正的TCP/IP互聯,而需要用跨鏈通信協議?甚麼是信任層?Web3的TCP/IP價值有多大?以及我們最關心的:這麼多跨鏈協議項目,誰勝出的幾率更大?本文基於底層邏輯的分析與推演,將這些問題一一解答。   原文連結:https://www.chaincatcher.com/article/2079942 本文章挑選自鏈捕手 鏈捕手精選  本網站所有非原創(轉載)文章版權歸原作者所有 特別說明:轉載文章會進行二次編輯以符合文章寫作需求,望作者包涵   延伸閱讀: 【新手懶人包】區塊鏈是甚麼?一文看懂區塊鏈演化、應用、常見術語 【新手懶人包】元宇宙是甚麼?剖析元宇宙的構成、未來商機和應用 【新手懶人包】 NFT 是甚麼?整合 NFT 科普、平台比較、製作方法 【新手懶人包】 GameFi 是甚麼?一文認識 GameFi 原理、運作方式、熱門NFT遊戲
Allen -
每日精選 | 加密做市商 Wintermute 在黑客攻擊中損失 1.6 億美元 | 納斯達克計劃推出機構加密託管服務
精選新聞 1. 加密做市商 Wintermute 在黑客攻擊中損失 1.6 億美元,涉及 90 項資產 加密做市商 Wintermute 創辦人 Evgeny Gaevoy 發推表示,Wintermute 在 DeFi 黑客攻擊中損失 1.6 億美元,目前其 CeFi 和 OTC 業務不受影響。在被黑客入侵的 90 項資產中,只有兩項的名義價值超過 100 萬美元(不超過 250 萬美元)。 此外,Evgeny Gaevoy 表示 Wintermute 目前償付能力是剩餘股本的兩倍,Wintermute 的服務在今天和未來幾天可能會中斷,之後將重新恢複正常。(原文連結) 2. 萬向區塊鏈肖風:區塊鏈的應用層協議將迎來大爆發 在由萬向區塊鏈實驗室主辦的第八屆區塊鏈全球峰會上,中國萬向控股副董事長兼執行董事、萬向區塊鏈董事長兼總經理肖風發表《區塊鏈新階段 應用協議大爆發》主旨演講。他表示,不管是互聯網協議堆棧還是區塊鏈協議堆棧,所有的應用層協議百花齊放,未來區塊鏈在應用層協議也會大爆發。 同時,幾天前的以太坊合併事件是繼以太坊白皮書發布、主網上線之後,第三個重要的歷史性時刻,也是區塊鏈行業的重要時刻。它意味着全球區塊鏈的基礎設施建設階段接近尾聲,而區塊鏈的商業應用階段即將啓動。(原文連結) 3. Alameda 擬於 9 月 30 日前償還 Voyager 約 2 億美元貸款並收回 1.6 億美元抵押品 根據一份提交給美國破產法院紐約南部地區的文件顯示,Alameda Research 擬於紐約時間 9 月 30 日下午 5 點之前向 Voyager 償還約 2 億美元的未償還貸款,從而獲得約 1.6 億美元的抵押品返還,目前在等待法院批準。 據悉,貸款以比特幣和以太坊形式發放,抵押品則為 FTT 和 SRM。目前,Alameda Research 已支付款項包括:1972.60 VGX、319.55 LTC、3550.68 LINK、1301917.81 DOGE、45912.32 SAND、7939.72 LUNC、493150.68 USDC。(原文連結) 4. Aptos 公布 AIT3 獎勵變更情況,並啓動 Longevity 測試網 公鏈 Aptos 公布激勵測試網 3(AIT3)參與情況,測試網在不到 2 周的時間內完成了超過 8 億筆交易,實現超過 4000 TPS。 在測試獎勵方面,為參與者增加了 50% 的獎勵,將最多 800 枚代幣獎勵上調至 1200 枚。代幣獎勵將分階段評定,滿足 ≥ 50% 質押獎勵的將獲得 800 代幣,滿足 ≥ 9% 的質押獎勵或治理投票為零的人將獲得 500 枚代幣。 另外,Aptos 還表示,最近推出的測試網 NFT 系列 APTOS : ZERO 標志着其 Longevity 測試網的啓動,表示其對軟件和部署架構狀態的信心。Longevity 測試網 NFT 會保留很長時間,而非之前的每周清零。 Aptos 計劃不再對 Move、交易和 API 進行重大更改,將不再有數據清除,因 DApp 和其他實體之間可以有效地建立夥伴關系。Aptos 將繼續每周向 devnet 推出更改,並每周進行清除。(原文連結) 5. 納斯達克計劃推出機構加密托管服務 據 The Block 援引多位消息人士報道,納斯達克(Nasdaq)計劃推出機構加密托管服務,目前新產品正在等待監管部門的批準。納斯達克還將建立一個新加密部門。(原文連結) 6. BendDAO 社區提議出售 10 億枚代幣創建估值為 8000 萬美元的投資基金 據 The Block 報道,NFT 借貸平台 BendDAO 社區提交了一項提案,提議出售其 10 億枚代幣以融資約 800 萬美元,用來創建一個投後估值為 8000 萬美元的投資基金。如果獲得批準,該基金將作為 NFT 貸方的子庫。子庫將至少 50% 的資金投資於不良資產。 據悉,10 億枚代幣相當於 BendDAO (BEND) 代幣供應總量的 10%。其中 60% 將分配給風險資本投資者。剩餘的分配將平均分配給來自 DAO 的投資者和感興趣的藍籌 NFT 項目。每個 VC、NFT 或個人投資者最多只能擁有該基金出售的代幣的 2%。 BendDAO 正在考慮將代幣分配給投資者的兩種選擇。第一個選項沒有歸屬要求,但 DAO 會將代幣銷售產生的等量 ETH 存入其流動性池中以獲得質押獎勵。第二種選擇有六個月的歸屬時間表,然後是兩年半的線性解鎖。(The Block) 7. 幣安完成 ETHW 代幣分發,已啓用存款和取款功能 幣安發公告表示已完成向符合條件的 ETH 和 WETH 持有者分發以太坊工作量證明(ETHW)代幣。用戶可以通過交易歷史下的分發頁面確認收到這些代幣。此外,ETHW 的存款和取款功能也已啓用。 據悉,ETHW 快照是在ETH 主網區塊高度 15,537,393 (北京時間 9 月 15 日 14:42:42 )拍攝的。BETH 持有者沒有資格分發以太坊工作量證明 (ETHW) 代幣。(原文連結) 8. Coinbase 將於北京時間 9 月 21 日起實施新的費用結構,部分大客戶的交易費用將降低 Coinbase 今日宣布,將於2022 年 9 月 20 日(星期二)美國東部時間下午 5 點左右(北京時間 9 月 21 日 上午 5 點)起實施新的費用結構,以應對全球加密交易量和資產價格的變化,降低了收費表中獲得中上層費用資格所需的每月交易量。新的費用表將在 Coinbase Exchange、Pro 和 Advanced Trade 上實施。 另據彭博社分析,此次收費結構調整,可能會增加一些用戶的成本,一些月交易量為 1500 萬至 2.5 億美元的 Coinbase 客戶最終可能支付的費用比當前計劃高出多達 2 個基點。同時,此舉降低一些最高交易量客戶的成本,每月交易量超過 2.5 億美元的大客戶,可能會看到略低的費用。(原文連結) 9. 工信部:中國區塊鏈專利申請數量佔全球總量的 84% 據工業和信息化部舉辦的「大力發展新一代信息技術產業」新聞發布會的數據顯示,今年 1-7 月信息技術服務業實現收入 3.03 萬億元,同比增長 12%。在軟件業全行業收入佔比 65.5%。 從細分領域來看,雲計算產業平均增速超過 30%,全球市場佔比 14.6%。雲計算、大數據、區塊鏈等新興技術加速創新,國際專利申請數量穩步增加,區塊鏈專利申請數量全球佔比超過 84%。企業上雲步伐不斷加快,全國累計上雲用雲企業超過 360 萬家。(財聯社) 10. BitConnect 高管因加密貨幣欺詐被判 38 個月監禁,並罰沒共計 8000 萬美元 在一場龐氏騙局中,加密貨幣公司 BitConnect 席卷全球超 20 億美元資金,使近百個國家的超 4 千名散戶投資者深陷其中。近日,美國聯邦法院公布了一則加密貨幣欺詐案判決書。因參與一項大規模欺詐性加密貨幣投資計劃,加密貨幣公司 BitConnect 高管阿卡羅(Glenn Arcaro)被美國聯邦法院判處 38 個月監禁,並罰沒共計 8 千萬美元。 今年 2 月,美國司法部已向 BitConnect 創辦人 Satish Kumbhani 提起訴訟,指控後者策劃涉案價值 24 億美元的旁氏騙局。Kumbhani 被控串謀進行電彙欺詐、串謀操縱商品價格、無牌經營彙款業務以及串謀國際洗錢。如果所有罪名成立,他將面臨最高 70 年的監禁。(原文連結) 精選文章 1.《Vitalik :DAO不是公司,自治組織中的去中心化十分重要》 DAO的理想主義者天真地認為平均主義的去中心化理想可以表現更好,然而在傳統企業部門中的如此嘗試,其實至多只獲得些許成功。這篇文章將論證為甚麼這種立場往往是錯誤的,並詳細從去中心化是為了在凹的環境中做出更好的決定,抗審查性和可信的公平性這 3 個角度討論其重要性。 2.《Web3 3A 遊戲賣樓花,槓桿化的研發模式會降低高成本?》 霍英東發明了樓花的玩法,剛剛拿下地皮就開始賣房,購房者都是根據圖紙來買房子的。方案一出,地產界直指他是畫大餅賣空氣的騙子。Web3 3A 鏈遊與房地產有着某種程度的類似,建設耗時耗錢,牽涉的利益相關方眾多。怎麼讓各方的利益都能被滿足,都能被 incentivized,提高資金的周轉效率,或許 Web3 有對這一許多從業者懷抱理想的領域有自己的解決方案。 原文連結:https://www.chaincatcher.com/article/2079861本文章挑選自鏈捕手鏈捕手精選 本網站所有非原創(轉載)文章版權歸原作者所有 特別說明:轉載文章會進行二次編輯以符合文章寫作需求,望作者包涵 延伸閱讀: 【新手懶人包】區塊鏈是甚麼?一文看懂區塊鏈演化、應用、常見術語 【新手懶人包】元宇宙是甚麼?剖析元宇宙的構成、未來商機和應用 【新手懶人包】 NFT 是甚麼?整合 NFT 科普、平台比較、製作方法 【新手懶人包】 GameFi 是甚麼?一文認識 GameFi 原理、運作方式、熱門NFT遊戲
Allen -
智能合約發展:Move 與 Rust 對比研究
深度研究新興智能合約編程語言Move,與現有Solana上以Rust為基礎的模式進行比較。 1. 介紹 最近,關於 Aptos 和 Sui 的討論如火如荼,兩者是新興的高性能 L1 公鏈,Move 智能合約編程語言是這些新鏈必不可缺的組成部分。一些開發人員正在積極轉向Move,宣稱它是智能合約發展的未來。其他人更加謹慎,認為 Move 與現有編程語言相比,不能提供更多太新的東西。 加密投資者也在好奇這些 L1 公鏈的獨特之處,如何能與 Solana 抗衡,後者是目前高性能 L1 的主要玩家,以使用 Rust 作為智能合約編程而著稱。 但目前我們看到的討論並沒有達到一定深度,能夠真正參透這些新科技對我們的影響。這在討論的兩極都適用──Move 的質疑者將 Move 貶低得一無是處,無法欣賞到它更細微(但十分重要)的一面,但 Move 的支持者,過度鼓吹 Move,也沒有能看透究竟是甚麼使其偉大。這就帶來巨大的中間地帶與模糊不清,致使外界看客、加密開發人員、投資人員,關注此話題,但又無法對自己的觀點確信。 在這篇文章中,我將對 Move、其新穎的編程模型、Sui 區塊鏈和它如何利用 Move 的功能,以及它與 Solana 及其編程模型的比較進行深入的技術挖掘。為了突出 Move 的特點,我將把 Solana/Rust 與 Sui/Move 進行比較。因為當你把一個東西與另一個你已熟悉的東西進行比較時,理解就會更容易。 Move 還有其他變種,如 Aptos Move,它們在某些方面略有不同。本文的重點不是討論 Move 不同變體之間的細微差別,而是展示 Move 的普遍優勢,以及它與 Solana 編程模型的比較。因此為了簡單起見,我在本文中只使用一個變體(Sui Move)。因此,我在本文中介紹的某些Move概念(即對象和相關功能)只適用於 Move 的 Sui 變體,而不適用於其他變體。雖然 Move 的其他變體不一定有這些概念,但它們使用不同的機制(例如全局存儲)能夠實現同樣功能。但即便如此,本文所討論的所有Move的主要優點都適用於所有Move集成(原生設定上支持Move字節碼 Move bytecode),包括Aptos。我選擇Sui,只是因為我對它更熟悉,且我覺得它更直觀一些,更容易以文章的形式呈現。 2. Solana編程模型 在Solana上,程序(智能合約)是無狀態的,它們自己不能訪問(讀或寫)任何在整個交易中持續存在的狀態。為了訪問或保持狀態,程序需要使用賬戶。每個賬戶都有一個唯一的地址(Ed25519密鑰對的公鑰),可以存儲任意的數據。 我們可以把Solana的賬戶空間看作是一個全球鍵值存儲,其中鍵是賬戶地址(pubkey),值是賬戶數據。程序通過讀取和修改其值在該鍵值存儲上進行操作。 賬戶有一個所有權的概念。每個賬戶由一個(且只有一個)程序擁有。當一個賬戶被一個程序擁有時,該程序被允許修改其數據。程序不能修改所不擁有的賬戶(但允許讀取這些賬戶)。運行期間,比較程序執行前後的賬戶狀態,就能夠進行這種動態檢查,若有非法改動,則交易失敗。 每個賬戶也有一個與之相關的私鑰(相應的公鑰是它的地址),能夠訪問這個私鑰的用戶可以用它來簽署交易。利用這種機制,我們在Solana智能合約中實現了權限和所有權的功能--例如,為了獲取某些資金,智能合約可以要求用戶提供必要的簽名。 在其他做程序調用時,客戶需要指定這個程序在調用時將訪問哪些賬戶。這樣一來,交易處理運行時間就可以安排不重叠的交易並行執行,同時保證數據一致性。這是Solana的設計特點之一,使其具有高吞吐量。 程序可以通過CPI調用來調用其他程序。這些調用的工作原理與來自客戶端的調用基本相同──調用者程序需要指定被調用者程序將訪問的賬戶,被調用者程序將進行輸入檢查,就和從客戶端調用是一樣的(因為它不信任調用者程序)。 PDA賬戶是一種特殊賬戶,使程序能在不擁有或儲存私鑰的情況下提供賬戶簽名。PDA保證只有為其生成PDA的程序可以為其創建一個簽名(而其他用戶和程序不行)。當一個程序需要通過CPI調用與另一個程序進行交互並提供授權時,這是很有用的(例如,實施一個金庫)。PDA保證除了程序之外沒有人可以直接訪問程序資源。PDA也可用於在確定地址創建賬戶。 這些是Solana上安全智能合約編程的基本構件。在某種程度上,你可以把Solana程序看作是操作系統中的程序,而賬戶則是文件,任何人都可以自由執行任何程序,甚至部署自己的程序。當程序(智能合約)運行時,它們將讀取和寫入文件(賬戶)。所有文件都可被所有程序讀取,但只有對文件有所有權權限的程序才可以對其進行改寫。程序也可以執行其他程序,但它們彼此之間沒有任何信任──無論誰執行程序,它都需要假設輸入是潛在惡意的。由於該操作系統是任何人在全球範圍內都訪問的,所以在程序中加入了原生簽名驗證支持,以便為用戶實現權限和所有權功能......這不是一個完美的比喻,但還是挺有趣的。 3. Move的編程模型 在Move中,智能合約是以模塊形式發布的。模塊由函數和自定義類型(結構/struct)組成。結構由字段組成,可以是原始類型(u8,u64,bool...)或其他結構。函數可以調用其他函數──可以是同一模塊,也可以是其他公開的模塊。 在Solana中,這就相當於所有智能合約都作為模塊發布在一個程序中。這意味着所有的智能合約(模塊)都包含在同一類系統中,可以直接相互調用,而不需要通過中間的API或接口。這一點非常重要,其影響將在本文中徹底討論。 3.1. 對象 要注意的是,下面的對象概念針對於Move的Sui變體。而在Move的其他集成中(例如Aptos或Diem/core Move),情況可能略有不同。不過,在其他Move變體中也有類似的解決方案,可以實現同樣的事情(狀態的持久性),這些解決方案並沒有太大區別。 這裏介紹Sui變體的主要原因是,文章後面的代碼樣本都基於Move的Sui變體,同時其對象比如core Move中的全局存儲機制更直觀易懂一點。重要的是,本文所討論的Move的所有主要優點都適用於所有Move集成(原生支持Move字節碼),包括Aptos。 對象是由運行時存儲的結構實例(struct instance),並在事務中持續保持狀態。 有三種不同類型的對象(在Sui中): 自有對象(owned objects) 共享對象(shared objects) 不可變對象(immutable objects) 自有對象是屬於用戶的對象。只有擁有該對象的用戶才能在交易中使用它。所有權元數據是完全透明的,由運行處理。它使用公鑰加密技術實現──每個自有對象都與一個公鑰關聯(運行時存儲在對象元數據中),任何時候你想在交易中使用對象,你都需要提供相應簽名(現在支持Ed25519,即將支持ECDSA和K-of-N多簽名)。 共享對象類似於自有對象,但它們沒有一個與之相關的所有者。因此,你不需要擁有任何私鑰就可以在交易中使用它們(任何人都可以使用它們)。任何自有對象都可以被共享(由其所有者),一旦一個對象被共享,它將永遠保持共享──永遠不能被轉移或再次成為自有對象。 不可變對象是不能被改動的對象。一旦一個對象被標記為不可變,它的字段就不能再被修改。與共享對象類似,這些對象沒有所有者,可以被任何人使用。 Move編程模型非常直觀和簡單。每個智能合約是一個模塊,由函數和結構定義組成。結構在函數中被實例化,並可以通過函數調用傳遞到其他模塊。為了使一個結構能夠在跨交易中保持持久,我們把它變成一個可以被擁有、共享或不可改變的對象(僅限於Sui,在其他Move變體中略有不同)。 4. Move的安全性 我們已經看到,在Move: 你可以將你擁有(或共享)的任何對象傳遞給任何模塊中的任何函數 任何人都可以發布一個(潛在的敵對)模塊 不存在模塊擁有結構的概念,這將使所有者模塊擁有改變結構的唯一權力,就像Solana賬戶的情況一樣──結構可以流入其他模塊,也可以嵌入其他結構中。 問題是,這種做法為甚麼是安全的?是甚麼阻止了人們發布惡意模塊,獲取共享對象(如AMM池),並將其發送到惡意模塊中,然後繼續耗盡其資金? 在Solana中,有一個賬戶所有權的概念,也就是說只有擁有賬戶的程序才被允許對其進行改動。但是在Move中,沒有模塊擁有對象的概念,你可以將對象發送到任意的模塊中──不僅可以引用對象、整個對象,也可以引用其本身價值。而且,運行時也沒有具體檢查,以確保這個對象在通過不受信模塊時沒有被非法修改。那麼,是甚麼在保護這個對象的安全?如何保證這個對象不被不可信的代碼濫用? 這就是Move的新穎之處......讓我們來談談資源。 4.1. 結構 定義一個結構(struct)類型和你所期望的差不多: 到目前為止還不錯──這也是你在Rust中定義一個結構的方式。但在Move中,結構有其獨特之處與傳統編程語言相比,Move模塊在如何使用類型上擁有更多空間。在上面的代碼片斷中定義的結構將受以下限制: 它只能在定義該結構的模塊中被實例化(「打包」)和銷毀(「解包」)──也就是說,你不能從任何其他模塊的任何函數中實例化或銷毀一個結構實例。 結構實例的字段只能在其模塊中被訪問(因此也可以被改動)。 不能在其模塊之外克隆或複制結構實例 不能將一個結構實例存儲在其他結構實例的字段中 這意味着,如果在其他模塊的函數中處理這個結構的實例,我們將無法改動其字段、克隆它、將其存儲在其他結構的字段中,或將其丢棄(必須通過函數調用將其傳遞到其他地方)。情況是這樣的:該結構的模塊實施了能從我們模塊中調用的函數,來完成這些事情。但除此之外,我們無法直接為外部類型做這些事情。這使模塊可以完全控制如何使用和不使用其類型。 由於這些限制,我們似乎失去很多靈活性。這也是事實──在傳統編程中,處理這樣的結構會非常麻煩,但事實上,這正是我們在智能合約中想要的。智能合約開發畢竟是關於數字資產(資源)的編程。如果你看一下上面描述的結構,這正是它的本質──它是一種資源。它不能隨意被憑空創造,不能被複制,也不能被意外地銷毀。因此,我們確實在這裏失去了一些靈活性,但我們失去的靈活性正是我們所希望的,因為這使對資源的操作變得直觀而安全。 此外,Move允許我們通過向結構添加能力(capability)來放寬其中一些限制。有四種能力:鍵、存儲、複制和删除。你可以將這些能力的任何組合添加到一個結構中。 下面是它們的作用: 鍵 - 允許一個結構成為一個對象(專屬Sui,core Move情況略有不同)。如前所述,對象是持久化的,如果是自有對象,需要用戶簽名才能在智能合約調用中使用。當使用鍵能力時,結構的第一個字段必須是具有UID類型的對象ID。這將給它一個全球唯一的ID,能夠用它進行引用。 存儲 - 允許將該結構作為一個字段嵌入另一個結構中 複制 - 允許從任何地方任意複制/克隆該結構 删除 - 允許從任何地方任意銷毀該結構 從本質上講,Move中的每個結構都是默認的資源。能力給了我們權力,可以精細地放寬這些限制,使其表現得更像傳統結構。 4.2. 幣(Coin) 幣在Sui中實現了類似ERC20/SPL代幣的功能,是Sui Move Library的一部分。它的定義是這樣的: 你可以在Sui代碼庫中找到完整的模塊實現(鏈接)。 幣類型具有鍵和存儲的功能。鍵意味着它可以作為一個對象使用。這允許用戶直接擁有幣(作為一個頂層對象)。當你擁有一個幣時,除你之外,其他人甚至不能在交易中引用它(更不用說使用它)。存儲意味着,幣可以作為一個字段嵌入到另一個結構中,這對於可組合性很有用。 由於沒有丢棄功能,幣不能在函數中被意外丢棄(銷毀)。這是一個非常好的特性──它意味着你不會意外地丢失一個幣。如果你正在實現以接收硬幣為參數的函數,在函數結束時,你需要明確地對它做一些事情──把它轉移給用戶,把它嵌入另一個對象,或者通過調用把它送入另一個函數(同樣需要對它做一些事情)。當然,通過調用幣模塊中的coin::burn函數來銷毀一個幣是可能的,但你需要有目的地這樣做(你不會這樣意外操作的)。 沒有克隆能力意味着沒有人可以複制幣,從而憑空創造新的供應。創造新的供應可以通過coin::mint函數來完成,而且只能由該幣的國庫能力對象(treasury capability)的所有者調用。 另外,由於泛型(generics)的存在,每個不同的硬幣都是獨特類型。由於兩個幣只能通過coin::join函數加在一起(而不是直接訪問它們的字段),這意味着不可能把不同類型的幣值加在一起(幣A+幣B)──因為沒有這種簽名的函數。類型系統能夠保護我們免受壞賬影響。 在Move中,資源的安全性由其類型定義。考慮到Move有全局類型系統,這使編程模型更自然和更安全,資源可以直接傳入和傳出不受信任的代碼。 4.3. 字節碼驗證 如前所述,移動智能合約是作為模塊發布的。任何人都被允許創建並上傳任何任意模塊到區塊鏈上,由任何人執行。我們也已經看到,Move對結構體的使用方式有一定規則。 那麼,是甚麼保證了這些規則被任意模塊所遵守?是甚麼阻止了人們上傳具有特殊制作字節碼的模塊,例如接收一個幣對象,然後直接改變其內部字段來繞過這些規則?通過這樣做,可以非法地增加所有幣的數量。光是字節碼的語法就肯定允許這樣做。 字節碼驗證可有防止這種類型的濫用。Move驗證器是一個靜態分析工具,它分析Move字節碼並確定它是否遵守所需的類型、內存和資源安全規則。所有上傳到鏈上的代碼都需要通過驗證器。當你試圖上傳一個Move模塊到鏈上時,節點和驗證器將首先通過驗證器運行,然後才允許提交。如果任何模塊試圖繞過Move的安全規則,它將被驗證器拒絕,並且不會被發布。 Move字節碼和驗證器是Move的核心創新之處。它實現了一個以資源為中心的直觀編程模型,在其他處是無法實現的。最關鍵的是,它允許結構化類型跨越信任邊界而不失去其完整性。 在Solana上,智能合約是程序,而在Move中,它們是模塊。這似乎只是一個語義上的差異,但事實並非如此,具有重大意義。區別在於,在Solana上,跨程序邊界是沒有類型安全的──每個程序通過手動從原始賬戶數據解碼來加載實例,這需要手動進行關鍵的安全檢查,也沒有本地資源安全。相反,資源安全必須由每個智能合約單獨實現。這確實能夠實現足夠的可編程性,但與Move的模式相比,它在很大程度上阻礙了可組合性和人機工程學,因為Move的模式對資源有原生支持,它們可以安全地流入和流出不信的代碼。 在Move中,類型確實存在於各個模塊中──類型系統是全局的。這意味着不需要CPI調用,賬戶編碼/解碼,賬戶所有權檢查等──你只需直接調用另一個模塊中的函數與參數。整個智能合約的類型和資源安全由編譯/發布時的字節碼驗證來保證,不需要像Solana那樣在智能合約層面上實現,然後在運行時檢查。 5. Solana與Move 現在我們已經看到了Move編程如何工作,根本安全的原因。那麼讓我們從可組合性、人機工程學和安全性的角度深入了解一下這對智能合約編程有甚麼樣的影響。在這裏,我將把Move/Sui的開發與EVM和Rust/Solana/Anchor進行比較,以幫助理解Move的編程模型所帶來的好處。 5.1. 閃電貸 閃電貸是DeFi中的一種貸款類型,貸款金額必須在借入的同一交易中償還。這樣做的主要好處是,由於交易是原子性的,貸款可以完全沒有抵押。這可以用來在資產之間進行套利,而不需要有本金。 實現這一目標的主要困難是──你如何從閃電貸智能合約中,保證貸款金額將在同一交易中得到償還?為了使貸款無需抵押,交易需要是原子性的──也就是說,如果貸款金額沒有在同一交易中被償還,整個交易需要失敗。 EVM有動態調度,所以可以使用重入性(reentrancy)來實現這一點,如下所示: 閃電貸用戶創建並上傳自定義智能合約,當調用該合約時,將通過調用將控制權傳遞給閃電貸智能合約 然後,閃電貸智能合約將向自定義智能合約發送請求的貸款金額,並調用自定義智能合約中的executeOperation()回調函數。 然後,自定義智能合約將使用收到的貸款金額來執行它所需要的操作(如套利)。 在自定義智能合約完成其操作後,它需要將借出的金額返回給閃電貸智能合約。 這樣,自定義智能合約的executionOperation()就完成了,控制權將返回給閃電貸智能合約,它將檢查貸款金額是否已經正確返回。 如果自定義智能合約沒有正確返回貸款金額,整個交易將失敗。 這很好地實現了所需的功能,但問題是,它依賴於可重入性,我們非常希望它不要出現在在智能合約編程中。因為可重入性本質上非常危險,是許多漏洞的根本原因,包括臭名昭著的DAO黑客襲擊。 Solana在這方面做得更好,因為它不允許重入。但是,如果沒有可重入性,如果閃電貸款智能合約無法回調到自定義智能合約,如該何在Solana上實現閃電貸款?多虧了指令自省( instruction introspection)。在Solana上,每個交易由多個指令(智能合約調用)組成,從任何指令中你都可以檢查同一交易中存在的其他指令(它們的程序ID、指令數據和賬戶)。這使得實現閃存貸款成為可能,具體如下: 閃電貸款智能合約實現借款(borrow)和還款(repay)指令 用戶通過在同一交易中把借款和還款指令的調用堆叠在一起,創建一個閃電貸交易。借款指令在執行時,將使用指令自省檢查償還指令是否安排在同一交易的後期。如果償還指令的調用不存在或無效,交易將在這個階段失敗。 在借款和還款的調用之間,借來的資金可以被任何其他處於兩者之間的指令任意使用。 在交易結束時,還款指令調用將把資金返還給閃電放款人智能合約 (該指令的存在將在借款指令的反思中進行檢查) 這個解決方案足夠好,但仍不理想。指令自省在某種程度上是一個特例,在Solana中並不常用,它的使用要求開發者掌握大量概念,其實現本身也有很大技術要求,因為有一些細微差別需要適當考慮。還有一個技術上的限──-償還指令需要靜態地存在於交易中,因此不可能在交易執行期間通過CPI調用動態地調用償還。這並不是甚麼大問題,但在與其他智能合約整合時,它在一定程度上限制了代碼的靈活性,也將更多複雜性推向客戶端。 Move也禁止動態調度和重入,但與Solana不同的是,它有一個非常簡單和自然的閃電貸解決方案。Move的線性類型系統允許創建結構,保證在交易執行過程中正好被消耗一次。這就是所謂的 「燙手山芋」(Hot Potato)模式──一個沒有鍵、存儲、删除或克隆功能的結構。實現這種模式的模塊通常會有一個實例化結構的函數和一個銷毀結構的函數。由於」燙手山芋」結構沒有丢棄、鍵或存儲功能,因此可以保證它的銷毀(destroy)函數能被調用,以此來消耗它。盡管我們可以將其傳遞給任何模塊中的任何其他函數,但最終它還是需要在銷毀函數結束。因為沒有其他方法來處理它,而且驗證器要求在交易結束時對它進行處理(它不能被任意丢棄,因為沒有丢棄功能)。 讓我們看看如何利用這一點來實現閃電貸。 閃電貸智能合約實現了一個「燙手山芋」的收據(Receipt)結構 當通過調用貸款函數進行貸款時,它將向調用者發送兩個對象──請求的資金(一個幣)和一個收據,是需要償還貸款金額的記錄。 然後,借款人可以將收到的資金用於其需要的操作(如套利)。 在借款人完成其預期的操作後,它需要調用還款函數,該函數將收到借款資金和收據作為參數。這個函數被保證在同一個交易中被調用,因為調用者沒有其他辦法擺脫收據實例(它不允許被丢棄或嵌入到另一個對象中,這是驗證器所要求的)。 還款函數通過讀取嵌入在收據中的貸款信息來檢查是否已返回正確的金額。 Move的資源安全特性使Move中的閃電貸成為可能,而無需使用重入或自省。它們保證了收據不能被不受信任的代碼所修改,並且它需要在交易結束時被返回給還款函數。這樣,我們可以保證在同一個交易中返回正確的資金數額。 該功能完全使用基本的語言原語實現,Move的實現不會像Solana的實現那樣受到集成問題的影響,因為後者需要交易是精心設置的。沒有任何複雜性被推到客戶端。 閃電貸很好展示Move的線性類型系統和資源安全保障如何使我們以其他編程語言無法實現的方式去表達功能。 5.2. 鑄幣權限鎖(Mint Authority Lock) 「鑄幣權限鎖」智能合約擴展了代幣鑄造的功能,允許多個白名單方(authority)鑄造代幣。該智能合約的所需功能如下(同時適用於Solana和Sui的實現): 原始的代幣鑄幣權限方創建一個「鑄幣鎖」,這將使我們的智能合約能夠監管鑄幣。調用者成為該鑄幣鎖的管理員。 管理員可以為該鎖創建額外的鑄幣授權,可以授權給其他各方,並允許他隨時使用該鎖來鑄造代幣。 每個鑄幣授權都有 每日可以鑄造的代幣數量限制。 管理員可以在任何時候禁止(和解除)任何鑄幣權限方。 管理員的能力可以轉讓給另一方。 這個智能合約可用於,例如將代幣的鑄幣能力交給其他用戶或智能合約,而原來的鑄幣權限方(管理員)仍然保留對鑄幣的控制權。不然,我們將不得不把鑄幣的全部控制權交給另一方,這並不理想,因為我們只得相信它不會濫用該權力。而且給多方提供許可也是不可能的。 這些智能合約的完整實現可以在這裏(Solana)和這裏(Sui)找到。 注意:請不要在生產中使用這段代碼! 這是示例代碼,僅用於教育目的。雖然我已經測試了它的功能,但我還沒有做徹底的審計或安全測試。 現在讓我們來看看這些代碼,看看實現方式有甚麼不同。下面是這個智能合約的完整Solana和Sui實現的並排代碼截圖。 可以注意到的是,對於相同的功能,Solana的實現的規模是Sui的兩倍多(230 LOC vs 104)。這是一個大問題,因為更少代碼通常意味着更少錯誤和更短開發時間。 那麼,Solana的這些額外行數是怎麼來的呢?如果我們仔細看Solana的代碼,我們可以把它分為兩個部分──指令實現(智能合約邏輯)和賬戶檢查。指令實現與我們在Sui上的情況比較接近-──Solana136行,Sui上104行。額外的行數源於兩個CPI調用的引用(每個大約10個LOC)。最重要的差異是在賬戶檢查(在上面的截圖中標為紅色的部分),這在Solana上是必須的(事實上是關鍵的),但在Move中不是。帳戶檢查佔這個智能合約的大約40%(91 LOC)。 Move不需要賬戶檢查。LOC的減少能夠帶來利處,但同時去除做賬戶檢查也十分必要。因為事實證明,正確實施這些檢查是非常棘手的,如果你在犯了哪怕一個錯誤,往往會導致重大漏洞和用戶資金的損失。事實上,一些最大的(就用戶資金損失而言)Solana智能合約漏洞就是由不當的賬戶檢查引起的賬戶替換攻擊。 -Wormhole(3.36億美元) - https://rekt.news/wormhole-rekt/-Cashio (4800萬美元) - https://rekt.news/cashio-rekt/-Crema Finance (880萬美元) - https://rekt.news/crema-finance-rekt/ 那麼,Move是如何做到沒有這些檢查又同樣安全的呢?讓我們仔細看看這些檢查的實際作用。這裏是mint_to指令所需的賬戶檢查(權限持有人通過調用這個指令來鑄造代幣): 有6個檢查(用紅色標出): 1. 檢查所提供的鎖賬戶是否為該智能合約所擁有,並且是MintLock類型的。需要傳入鎖,因為要用於CPI調用,到代幣程序進行鑄幣(它存儲了權限)。 2.檢查所提供的鑄幣權限賬戶是否屬於所提供的鎖。鑄幣權限賬戶持有權限狀態(它的公鑰,它是否被禁止,等等)。 3.檢查指令調用者是否擁有該權限的所需密鑰(所需權威簽署了該交易)。 4.需要傳入代幣目標賬戶,因為代幣程序將在CPI調用中更改它(增加餘額)。鑄幣檢查在此處並不是嚴格必要的,因為如果傳入了錯誤賬戶,CPI調用就會失敗,但這個檢查還是很好的做法。 5.與4類似。 6.檢查代幣程序賬戶是否被正確傳入。 我們可以看到,賬戶檢查(在這個例子中)分為這五類: 帳戶所有權檢查(1,2,4,5) 帳戶類型檢查(1、2、4、5) 帳戶實例檢查 (某一賬戶類型的正確實例是否被傳入)(2,5) 賬戶簽名檢查 (3) 程序賬戶地址檢查 (6) 但在Move中,沒有賬戶檢查或類似的東西,只有功能簽名: mint_balance函數只需要四個參數。在這四個參數中,只有lock和cap代表對象(有點類似於賬戶)。 在Solana中,我們需要聲明6個賬戶,並手動實現對它們的各種檢查,而在Move中,我們只需要傳入2個對象,而且不需要明確的檢查,這是如何實現的? 在Move中,這些檢查有些是由運行透明地完成的,有些是由驗證器在編譯時靜態地完成的,而有些則是在構造上根本不需要的。 賬戶所有權檢查──Move有類型系統,因此這種設計不必要。一個Move結構只能通過其模塊中定義的函數進行改動,而不能直接改動。字節碼驗證保證了結構實例可以自由地流入不受信任的代碼(其他模塊)而不被非法改動。 賬戶類型檢查──沒有必要,因為Move類型存在於整個智能合約中。類型定義被嵌入到模塊二進制文件中(在區塊鏈上發布並由虛擬機執行)。驗證器將檢查,編譯/發布期間,我們的函數被調用時,正確的類型是否被傳遞。 賬戶實例檢查──在Move中(有時在Solana上也是如此),你會在函數主體中做這件事。在這個特例中,這是沒有必要的,因為鎖和cap參數類型的通用類型參數T強制要求對cap(鑄幣能力/權限)對象的傳入要正確匹配其鎖(每個幣類型T只能有一個鎖)。 帳戶簽名檢查──我們在Sui中不直接處理簽名。對象可以由用戶擁有。造幣權限由造幣權限能力對象的所有權授予(由管理員創建)。在mint_balance函數中傳遞對該對象的引用將允許我們進行鑄幣。自有對象只能由其所有者在交易中使用。換句話說,對象的簽名檢查是由運行透明地完成的。 從本質上講,Move利用字節碼驗證,以使數字資產的編程模型更加自然。Solana的模型圍繞賬戶所有權、簽名、CPI調用、PDA等。但我們退一步想一想,就會發現,我們並不想處理這些問題。它們與數字資產本身沒有任何關系──相反,我們不得不使用它們,因為這使我們能夠在Solana的編程模型中實現所需功能。 在Solana上,沒有字節碼驗證來保證更細化的類型或資源安全,你不能允許任何程序改動任何賬戶,所以引入賬戶所有權的概念是必要的。由於類似原因(沒有跨程序調用的類型/資源安全),也沒有可以進出程序的用戶所有對象的概念,相反,我們用賬戶簽名來證明權限。由於有時程序也需要能夠提供賬戶簽名,所以我們有PDA...... 雖然你可以在Solana上擁有與Move相同的跨程序類型和資源安全,但你必須使用低級別的構建模塊(賬戶簽名、PDA...)手動實現它。歸根結底,我們正在用低級別的基元來構建可編程的資源(線性類型)。而這就是賬戶檢查的作用──它們是實現類型安全和手動建模資源需進行的開支。 Move對資源進行原生的抽象,允許我們直接處理資源,而不需要引入任何低級的構建塊,如PDA。跨越智能合約邊界的類型和資源安全保障是由驗證者確保的,不需要手動實現。 5.3 Solana可組合性的局限性 我想再舉一個例子,強調Solana上智能合約可合成性的一些痛點。 我們在鑄幣權限鎖的例子中看到,與Sui相比,我們需要在Solana上聲明更多的輸入(Solana上的6個賬戶 vs. Sui上的2個對象的mint_to調用)。顯然,處理6個賬戶比處理2個對象更麻煩,特別是如果考慮到還需要為賬戶實現賬戶檢查。理論上來說這部分是可控的,但當我們開始在單一的調用中把多個不同智能合約組合在一起時會發生甚麼? 假設我們想創建一個智能合約,能夠做以下事情: 它從鑄幣權限鎖程序中擁有某個代幣的鑄幣權,可以進行鑄幣 當它被調用時,它將使用其權限來鑄造用戶指定數量的代幣,使用AMM將其交換為不同的代幣,並在同一指令中將其發送給用戶 這個例子的重點是為說明鑄幣權限鎖智能合約和AMM智能合約將如何被組合在一起。指令調用的賬戶檢查可能看起來像這樣: 17個賬戶。每個CPI調用(鑄幣和交換)5-6程序,加上程序賬戶。 在Sui上,一個相當的函數的簽名是這樣的: 只有3個對象。 為甚麼我們在Sui上傳遞的對象與Solana上的賬戶相比要少得多(3比17)?從根本上說,是因為在Move中我們能夠嵌入(包裹)它們。類型系統的安全保障使我們能夠做到這一點。 下面是一個Solana賬戶和Sui對象之間的比較,它們持有一個AMM池的狀態。 我們可以看到,在Solana上我們存儲了其他賬戶的地址(Pubkeys),它們就像指針一樣,並不存儲實際的數據。為了訪問這些賬戶,它們需要被單獨傳入,我們還需手動檢查正確的賬戶是否被傳入。在Move中,我們能夠將結構相互嵌入並直接訪問其值。我們可以混合和匹配來自任何模塊的類型,同時它們保留其資源和類型的安全保證,這都得益於Move的全局類型系統和資源安全,它們都由字節碼驗證所驅動。 但是,在組成多個智能合約時,不得不傳遞(並因此檢查)許多賬戶,這造成了相當大的實施複雜性,並具有安全影響。這些賬戶之間的關系可能相當錯綜複雜,在某種程度上,難以跟蹤所有必要的賬戶檢查及其是否正確實施。 其實,這就是我認為在Cashio漏洞中發生的情況(4800萬美元)。下面是該(不充分)賬戶檢查的分解,也由此導致了該漏洞。如你所見,這些賬戶檢查變得有些複雜。開發者充滿好的意圖進行正確檢查,但在某某程度上,精神壓力變得太大,就會非常容易出錯。賬戶越多,越容易出現錯誤。 Move的全局類型系統和更自然的編程模型,意味着我們可以在達到心理承受壓力的極限之前,以更大的安全性推動智能合約的構成。 附帶說明一下,Move的TCB(可信計算基礎)要比Rust/Anchor小得多。較小的TCB意味着需要進入智能合約編譯執行、被信任的的組件較少。這就減少了可能影響智能合約的漏洞表面積──TCB之外的漏洞不會影響智能合約的安全。 Move的設計考慮到了減少TCB──為盡可能減少TCB,Move做了許多決定。字節碼驗證器將許多由Move編譯器執行的檢查從TCB中移除,而在Rust/Anchor中,有更多的組件需要被信任,因此致命安全錯誤的表面積要更大。 6. Solana上的Move 我們能否在Solana上擁有Move,以及如何擁有? 6.1. 有全局類型安全的Anchor? 在我們開始研究之前,讓我們簡單看看Anchor,並做個小的思想實驗。也許我們可以以某種方式升級Anchor,來提供我們從Move中得到的一些好處?也許我們可以獲得對跨程序調用的類型安全的本地支持?畢竟,Anchor指令已經類似於Move的入口函數: 也許我們可以延伸Anchor,使賬戶能直接被傳入指令參數。 我們可以避免賬戶檢查? 在這種情況下,我們希望類型檢查由運行而不是程序來完成──運行將讀取Anchor賬戶判別器(或其等價物),並能夠檢查賬戶傳入是否符合所需的判別器(Anchor賬戶的前8個字節)。 Solana不對同一程序的不同指令調用進行區分,這是由程序手動實現的(在這種情況下,繁重的工作由Anchor完成)。因此,為了做到這一點,運行必須以某種方式了解不同指令、它們的簽名、類型信息。 Solana程序編譯為SBF(Solana Bytecode Format,eBPF的一種變體),並以這種方式上傳到鏈上(和執行)。SBF本身並沒有嵌入任何可以幫助我們的類型或函數信息。但也許我們可以修改SBF,以允許指令和類型信息被嵌入二進制文件中?這樣所需的指令和簽名信息就可以由運行從二進制文件中讀取。我們確實可以這樣做。這將要求相當大的工程量,特別是考慮到我們需要保持與舊程序的向後兼容,但這是我們能獲得的好處: -賬戶所有權和類型檢查由運行而不是程序完成 -對於在編譯時已知地址的賬戶(例如程序賬戶),我們可以避免從客戶端傳入它們,現在可以由運行傳入。 -如果我們設法將賬戶約束嵌入到二進制文件中,我們可以進一步減少必須由客戶端傳入的賬戶數量,用運行對其進行動態遞歸在加載(基於嵌入的約束信息)。 我們仍然沒有得到: -嵌入的賬戶。我們仍然必須使用Pubkeys來引用其他賬戶,而不能夠直接嵌入它們。這意味着我們沒有擺脫第5.3節中描述的賬戶臃腫的問題。 -當進行跨程序調用時,賬戶類型檢查仍然需要在運行時動態進行,而不是像Move中那樣在編譯時靜態進行。 注意:這只是一個思想實驗。並不說明其可以安全完成,也不是代表其實現困難,更不標榜這些好處值得付出工程量般的努力。 這些好處確實不錯,但從智能合約開發的角度來看,它們並沒有從根本上改變甚麼。在運行時而不是程序中做類型檢查可能能帶來一些性能上的好處,而且不必在編譯時從客戶端手動傳遞地址賬戶,在一定程度上提升工效(這也可以通過工具化來緩解)。但我們最終仍然在處理Solana的編程模型,它本身在處理數字資產上提供更多幫助──我們仍然沒有原生的資源安全,我們不能嵌入賬戶,所以仍然有賬戶膨脹問題,我們仍然在處理賬戶簽名和PDA...... 理想情況下,我們希望所有的智能合約都生活在一個單一的類型系統中,並且能夠像Move那樣自由地將對象傳入傳出。但由於其他智能合約不能被信任,我們不能直接這樣做。為了繞過這一點,Solana設有程序分離和賬戶所有權──每個程序管理自己的賬戶,它們通過CPI調用進行互動。這很安全,並允許足夠的可編程性,但由此產生的編程模型並不理想──沒有全局類型系統,也就沒有有實質意義的資源安全。 我們希望有一個自然的編程模型,但與此同時,我們也在處理不受信任的代碼。雖然在Solana上我們可以安全地處理不受信代碼,但在編程模型上上做出妥協。字節碼驗證使我們有可能同時擁有兩者。沒有它,我們似乎真的無法改善編程模型。 6.2 Solana字節碼格式 如前所述,SBF(Solana字節碼格式),即Solana智能合約的編譯和鏈上存儲格式,是基於eBPF的。在Solana上使用eBPF而不是任何其他字節碼格式(如WASM),主要是因為Solana對安全和高性能智能合約執行的要求,與eBPF設計的內核沙盒程序執行要求一致(它也需要安全和高性能) 從表面上看,eBPF確實是一個可靠的選擇。高性能、圍繞安全設計,程序的大小和指令的數量是有限的,有一個字節碼驗證器......看起來很有不錯。 但讓我們看看這在實踐中意味着甚麼。也許我們可以以某種方式利用eBPF驗證器來提高我們智能合約的安全性?以下是eBPF驗證器所做的一些事情: -不允許無限循環 -檢查程序是否是一個DAG(有向無環圖) -不允許越界跳轉(out-of-bounds jump) -在進行各種輔助(helper)函數調用時檢查參數類型(輔助函數在內核中進行定義,例如用於修改網絡數據包)。 好吧,禁止越界跳轉似乎很有用,但其他作用有限。事實上,強制要求程序必須是一個DAG並且沒有無限循環是有問題的,因為它大大限制了程序的可操作性(我們沒有圖靈完備性)。在eBPF程序中需要這樣做的原因是,驗證器需要確定程序在一定數量的指令內終止(這樣程序就不會使內核終止;這就是著名的停機問題),而氣體計量(gas metering)不是一個選項,因為它將太過影響性能。 雖然這種取舍對實現高性能的防火牆來說是很好的,但對於智能合約的開發來說就不那麼好了。eBPF驗證器的絕大部分都不能被重用在Solana程序上。事實上,Solana根本就沒有使用原始的eBPF驗證器,它使用的是一個(更基本的)自定義驗證器,主要是檢查指令是否正確和是否有越界跳轉。 同時,eBPF在設計上最多允許5個參數被傳遞給一個函數進行調用。這意味着Rust標準庫不能直接編譯到eBPF。或棧的大小被限制在512字節,這減少了我們可以傳遞給一個函數的參數的大小而不需要堆分配(heap allocation)。 因此,即使Rust編譯到LLVM,有LLVM的eBPF後端,甚至支持Rust編譯器針對eBPF使用,你仍然無法使Solana智能合約以其本來的樣子編譯到eBPF上。這就是為甚麼Solana團隊不得不對Rust代碼庫和eBPF LLVM後端(例如,通過棧傳遞參數)進行多次修改。 由於其中一些修改本身是支持上遊(無論是Rust還是LLVM),所以Solana團隊目前在維護Rust和LLVM的分叉時都做了這些修改。當你執行cargo build-bpf(構建Solana智能合約的典型命令)時,Cargo會拉出這個Solana特定版本的rustc(Rust編程語言的編譯器)來進行智能合約的編譯(原來的rustc不起作用)。 這就是SBF的誕生過程──Solana需要的一些要求與eBPF不兼容。Solana團隊目前正在努力將SBF作為一個獨立的LLVM後端上流,並將其作為一個Rust目標加入,以避免維護單獨分叉。 因此,雖然eBPF可以作為智能合約的一種格式,但它並不像表上看起來那麼理想。它需要進行一些修改,而且原來的驗證器也沒有很大的用處。 在關於Move和Solana/SBF的討論中,一個誤解就是,一些人認為Move的主要思想應該適用於SBF,因為它是基於eBPF的,也許可以利用其驗證器做靜態的賬戶改動檢查,而不是在運行時做動態檢查。 在我看來,這是一個令人懷疑的說法。即使有可能證明,程序不會在eBPF中改動他們不擁有的賬戶,這也確實是Move在做的事情,但這肯定不是Move的主要想法。 Move的主要思想是創造一個以資源為中心的編程模型,能夠自然地與不可信代碼互動。 在實踐中,這意味着: 全局類型安全 資源安全(鍵、克隆、存儲、丢棄) 可嵌入的資源 資源安全地流入和流出不受信任的代碼 ... 將主要的Move思想引入eBPF/SBF非常難。如果不對eBPF進行重大修改,強制執行一些特性比如「這個不受信任的代碼不能丢棄一個T」是不可能的。這需要大量修改,以至於你最終會得到一個新的字節碼,它看起來更像Move而不是eBPF。 事實上,類似的思路是導致Move誕生的首要原因。Move團隊(當時在Diem)最初考慮從其他格式出發,如WASM、JVM或CLR,但事後添加這個實在是太難了──線性/能力是非常規的。所以Move是從頭開始設計的,其想法是通過輕量級的驗證器通道來有效執行這些檢查。 如果你仔細想想,這其實並不令人驚訝。畢竟最終,智能合約編程不是系統編程,後端編程,或任何一種其他傳統編程,它是一種完全不同的編程類型。所以現有字節碼和指令格式的功能不能被利用也就不足為奇了,因為它們在設計時考慮的是完全不同的使用情況。 我不是在批評Solana使用eBPF。事實上,我認為這是一個非常可靠的選擇,也是團隊考慮到背景的良好判斷。事後來看,團隊可能會選擇WASM而不是eBPF,這樣就可以避免前面提到的將智能合約編譯成eBPF的問題,因為WASM在Rust中有一流的支持(不過WASM可能會有其他問題),但可以看到,考慮到對性能的強調,團隊可能覺得eBPF是一個更安全的選擇。另外,在做出這些設計選擇的時候,Move甚至還沒有進行宣布,對於一個初創公司來說,從頭開始創建一種新語言肯定不是一個合理的選擇。最終,Solana設法提供了一個成功的高性能L1,這才是最重要的。 有三種方法可以在Solana上獲得Move: 將Move虛擬機作為一個本地加載器添加(與SBF虛擬機一起) 將Move虛擬機作為一個程序運行(如Neon) 將Move編譯為SBF(像Solang) 讓我們先來討論(3)。這裏的想法是為Move建立一個LLVM前端,以便將其編譯為SBF。編譯成SBF的Move智能合約被透明地執行,就像用Rust(或其他任何可以編譯成SBF的語言)構建的智能合約一樣,而且運行時不需要對Move有任何區分或了解。從運行角度來看,這將是一個非常優雅的解決方案,因為它不需要改變它或它的安全假設。 但我認為以這種方式開發智能合約會比直接使用Anchor更糟。你通過(3)得到的是Solana編程模型中的Move語法。這意味着第五章中討論的Move的所有重要優勢(全局類型安全、全局資源安全、可嵌入對象......)將不複存在。相反,我們仍將不得不處理賬戶檢查、CPI調用、PDA等問題,就像在Rust中一樣。而且,由於Move不支持宏(macro),因此使用eDSL實現一個像Anchor這樣的框架,來簡化其中的一些工作是不可能的,所以代碼將與原始Rust相似(但可能更糟糕)。Rust標準庫和生態系統也是不可用的,所以像賬戶序列化和反序列化這樣的事情必須在Move中重新實現。 Move不是很適合與其他編程模型一起使用。這是因為它被特別設計為能夠編譯成Move字節碼,並通過驗證器。考慮到圍繞能力和借貸檢查器的自定義規則,這是必要的。其字節碼驗證十分特殊具體,以至於其他語言幾乎沒有機會編譯成Move字節碼並通過驗證器。因為Move圍繞這種非常特殊的字節碼驗證而設,所以它不像Rust等語言那樣靈活。 剝離字節碼就放棄了Move的所有主要優勢。雖然Move的類型、資源和內存安全特性會在程序級別上被保留,但它們不會被全局保留。而程序級的安全並沒有帶來多少新的結果──通過Rust我們已經實現了這些結果。 Move的智能合約生態系統也不能在Solana上使用──編程模型不同,以至於智能合約的重要部分必須被重寫。考慮到所有這些,我預計用(3)實現Move的做法不會被接受。 至於(1),這裏的想法是(與SBF加載器一起)在運行時添加對Move加載器的支持。Move智能合約將被存儲為鏈上的Move字節碼,並由Move VM執行(就像在Sui中一樣)。這意味着我們將有一個SBF智能合約的生態系統和一個Move智能合約的生態系統,前者將在當前的Solana編程模型上運行,而後者則在一個(可以說是更高級的)Move模型上運行。 有了這種方法,就有可能保持Move智能合約之間相互作用的所有好處,但這裏的一個挑戰是讓Move智能合約能夠與SBF智能合約進行互動,反之亦然──你需要一個對Move和Solana有深刻理解的人,驗證器也必須進行調整。 還有一個缺點是需要在運行時維護兩個不同的加載器。這會對安全有影響,因為它意味着攻擊面會翻倍──任何一個加載器的錯誤都可能意味着整個鏈被利用。實際上早在2019年,Solana就加入了對MoveVM的早期支持(#5150),但後來由於安全問題而被移除(#11184)。 至於(2),想法是將整個Move VM作為一個Solana程序(智能合約)運行。Move VM是用Rust實現的,所以可能會把它編譯成SBF(除非它使用線程或其他不支持的API)。雖然這聽起來很瘋狂,但Neon已經實現了類似的方法,將EVM作為一個Solana程序來運行。這種方法的好處是,不需要對運行進行修改,而且可以保持相同的安全假設。 我不熟悉Move VM的技術細節,所以我不能對這種做法的可行性以及它的局限性做太多評論。我的第一個反應是,驗證器也必須作為一個程序運行,這意味着在計算預算內。這種方法也會像(1)一樣,受到SBF和Move智能合約之間互操作性問題的影響。 沒有直接的方法可以將Move的主要功能帶到Solana。雖然有可能建立一個LLVM前端,並將Move編譯為SBF,但這不會起太多作用,因為編程模型將保持不變。正如第6.1節中的思想實驗所說明的那樣,如果沒有某種字節碼驗證,就無法改善編程模型。改變eBPF/SBF以支持字節碼驗證將是非常困難的。似乎唯一合理的選擇就是以某種方式讓MoveVM運行。但這意味着將有兩個生態系統在不同的編程模型上運行,而讓它們正確地互操作是極具挑戰性。 6.4. Move的性能 Move的字節碼不是一種通用的字節碼語言。它有一個非常有「主見」的類型系統,為允許所有必要驗證,它是相當高級的。這意味着與其他字節碼格式(如eBPF/SBF)相比,其性能較低,因為後者更接近於本地代碼,人們可能會認為這對於其在高性能L1中的使用是一個問題。 但是,到目前為止,智能合約的執行在Solana(在寫這篇文章的時候,平均有3k TPS)和Sui(基於團隊所做的最初e2e基準)上都還未成為瓶頸。提高交易處理性能的主要方式就是並行執行。Solana和Sui都實現了這一點,它們要求事先聲明依賴關系,並對依賴不同對象/賬戶集的事務執行進行並行調度。 此外,一旦TX執行出現在關鍵路徑上,沒有任何東西可以阻止Move被AOT編譯或JIT化以提高性能。這就是為Move構建一個LLVM前端的好處所在。另外,由於Move本身對靜態分析的適應性,Move也可能取得特有的進一步優化。 考慮到所有這些,我希望Move的性能在可預見的未來不會成為一個重要的障礙。 7. Move其他功能 7.1. 驗證器 Move有一個用於智能合約的形式化驗證工具,叫做Move Prover。通過這個工具,你能夠判斷不同的不變量對你的智能合約是否成立。在幕後,驗證條件被翻譯成SMT公式,然後使用SMT求解器進行檢查。這與模糊測試有很大不同,例如,模糊測試是通過走查輸入空間來試錯。例如,如果模糊測試和單元/集成測試未能測試出特定的輸入或輸入組合,顯示程序有誤,那麼它們仍然可以提供一個假陽性。另一方面,驗證器本質上提供了形式上的證明,即指定的不變量對所提供的程序成立。這就像針對所有可能的輸入檢查程序一樣,但不需要這樣做。 移動驗證器的速度非常快,使它可以像類型檢查器或linter那樣被整合到常規開發工作流程中。 下面是一個驗證器的例子(摘自《用Move Prover對智能合約進行快速可靠的形式驗證白皮書》)。 7.2. 錢包安全 由於Sui要求所有交易將訪問的對象都在函數參數中傳遞(不從全局狀態中動態加載),並且移動函數簽名連同類型信息都存儲在字節碼本身中,我們可以讓錢包在用戶簽名之前向用戶提供更有意義的信息,說明交易的內容。 例如,如果我們有一個具有以下簽名的函數: 我們可以從函數的簽名中看出,這個交易將訪問用戶的3個資產(資產類型)。不僅如此,根據&和&mut關鍵字(或沒有關鍵字),我們還可以知道資產1可以被讀取,資產2可以被改動(但不能轉移或銷毀),而資產3有可能被改動、轉移或銷毀。 錢包可以向用戶顯示這些信息,然後用戶可以更加了解交易可能對資產做出甚麼動作。如果有甚麼異樣,例如,來自Web3應用程序的交易調用正在接觸一些不應接觸的資產或幣,用戶可以觀察到這一點,決定不繼續進行交易。 錢包也可以另外模擬交易,這將給用戶提供更多關於其結果的信息。Sui編程模型以對象為中心,類型信息對運行原生,這意味無需對智能合約有任何具體的應用級知識,就能解釋對象的變化。 這在Solana上是不可能的,因為從運行的角度來看,賬戶包含任意數據。你需要賬戶的外部描述(特定於應用程序)才能對其進行解釋,而智能合約發布者未必提供這些信息。另外,Solana運行時中不存在資產所有權的概念,每個智能合約都需要手動實現這一語義(通常使用賬戶簽名和PDA),這意味着沒有通用方法來對此進行追蹤。 7.3 簡單交易和複雜交易 具體到Sui,在共識層面上有一個有趣的優化,允許某些類型的交易放棄完全的共識,轉而使用基於拜佔庭一致廣播(Byzantine Consistent Broadcast)的更簡單算法。這樣的好處是,這些交易可以在共識層面上並行,消除隊頭阻塞(head-of-line blocking),達成幾近即時的最終性──基本上實現了web2的可擴展性。 這是由於Sui對自有和共享對象的區分(見3.1節)。只涉及自有對象的交易(被稱為簡單交易)不需要在Sui上達成完全共識。由於自有對象除了發送者外不能在交易中使用,且發送者一次只能發送一個交易,這本身就意味着這些交易不需參照其他交易進行排序(總排序與因果排序)──我們知道交易中引用的對象不能被其他交易影響,且該交易也不能影響其他對象。因此,我們並不關心該事務相對於鏈上平行發生的其他事務的排序──這實際上是不相關的。Sui能夠利用這一事實,大大優化簡單事務的處理,在幾百毫秒內實現最終性。但缺點是,發送者一次只能發送一個交易。另一方面,涉及任何數量共享對象的交易(被稱為複雜交易),總是需要完全共識。 考慮到自有對象的創建、轉移和修改可以完全通過簡單事務完成,某些類型的應用可以很好地利用簡單事務。很好的例子是NFT(包括大規模造幣)和web3遊戲。這些用例從低延遲的最終性和消除對頭阻塞中獲益良多,實現了更好的用戶體驗和可擴展性。 但其他類型的應用程序必須依賴複雜交易。這包括大多數DeFi應用程序。例如,AMM流動性池需要成為一個共享對象,因為任何種類的交易所訂單執行都需完全共識和總排序。因為從根本上說,如果多個訂單同時來自不同用戶,我們需要就先執行誰的訂單達成一致,這就決定了每個用戶會得到甚麼樣的執行價格。 還有一些應用程序可以混合使用簡單和複雜交易。這些應用需要複雜交易才能實現它們所需功能,但在某些操作上可以利用簡單交易來獲得更好效率。例如,一個價格預言機就可以如此設計。我們可以讓多個發布者使用簡單交易,為市場提交價格數據,然後由一個權威機構使用複雜交易對價格進行彙總(例如,股權加權中值)。在某些時候不依靠複雜交易是不可能實現價格預言機的(根本原因是在其他交易中使用發布價格需要就排序達成一致,從而達成完全共識),但至少我們可以用簡單交易優化發布者的寫入。 Sui文檔有關於簡單和複雜交易的更多細節。 https://docs.sui.io/devnet/learn/sui-compared https://docs.sui.io/devnet/learn/how-sui-works#system-overview 8. 結束語 本文深入探討並比較Solana和Sui的編程模型,也對Move編程語言進行探討, 第二章是對Solana編程模型的總結,而第三章則介紹了Sui Move及其編程模型。第4章接着解釋了Move中的類型和資源安全如何運作。Move功能對智能合約開發的意義無法立竿見影,所以在第5章中,我利用現實生活中的例子對Solana和SuiMove進行了更徹底的比較。第6章討論了eBPF/SBF,表明讓Move功能或Move本身在Solana上工作並不容易。第7章討論了Sui的一些Move相關功能。 智能合約編程是關於數字資產的編程。可以說這是一種新的編程類型,與我們目前看到的其他類型編程(如系統、後台......)截然不同。正因如此,現有編程語言和編程模型自然不能很好適應這種用例。 問題的關鍵在於,我們希望有一個編程模型,能夠自然地與資源打交道,但同時又與不受信的代碼互動。Solana在這裏做了妥協,它使智能合約在一個不信任環境中具備了必要的可編程性,但其編程模型對於用資源編程來說並不自然。字節碼驗證使其有可能同時擁有這兩種特性。在某種程度上,它把不受信代碼變成了受信代碼。 Move是一種用於智能合約開發的新型編程語言。它的核心創新之處在於它的字節碼,被特意設計為可被驗證。雖然字節碼驗證本身並不是一個新概念,但Move所做的驗證確實是一種創新。通過其字節碼和驗證,Move實現了一個智能合約編程模型,對資源能夠有一流支持,並能保證在一個不受信任的環境中安全編程。 我認為Move對智能合約開發的作用就像React對前端開發的作用一樣。說「用Move做的事能用Rust做」就像說「用React做的事能用jQuery做」一樣。當然有可能實現基於jQuery的應用,能夠與React應用相當,但這並不實際。React引入了虛擬DOM的概念,這對開發者來說是完全易懂的的,但使前台的開發速度更快、可擴展、更簡單。同樣,Move的字節碼驗證是一種底層技術,對開發者來說也易於理解,但它提供了一個更符合人體工效學、可組合、更安全的智能合約開發。由於其安全性和更直觀的編程模型,Move也大大降低了智能合約開發者的準入門檻。 如果Move能設法獲得影響(有早期蹟象表明它會的),它可能對Solana構成極大威脅。有兩點原因。 首先Move智能合約的開發時間要快得多。在Move中從頭開始開發一個智能合約可能比在Rust中快2-5倍。因此,Move生態系統的發展可以超過Solana。由於區塊鏈的開放性和無許可性,不存在嚴重的鎖定效應,流動性可以輕松移動。Solana的開發者可能純粹因為經濟考量而被迫採用Move──要麼轉到Move,要麼被Move的開發者超越,因為他們能更快開發出更安全的智能合約。如果你要雇傭一個智能合約開發者,你可以雇傭一個Rust開發者,能建立一個智能合約,或者雇傭一個Move開發者,能在同樣時間內建立兩個更安全的智能合約。這類似於React對前端開發的影響。 第二,Move的入門門檻比Rust或Solidity低得多。因為Move語法更簡單,編程模型更直觀。一些開發人員無法用Rust或Solidity進行智能合約開發,但在Move中可能能夠進行。由於需要學習的概念較少,非智能合約開發者進入Move,要比進入Rust(Rust本身就是一種複雜的語言,再加上Solana的概念,如PDA,會給初學者帶來很多困惑)或Solidity(你需要熟悉語言中非常精細的細節,如重入,以便能夠開發安全的智能合約)容易得多。即使現有Solana和Solidity開發者不轉向Move,尚未進入該領域的開發者市場也比該領域現有的開發者數量多出好幾個量級。由於Move的準入門檻較低,且開發速度更快,它比Rust或Solidity有更好的產品市場適應性,可以從這塊蛋糕中分得更大一杯羹。如果新的開發者開始大量湧入,我希望他們從Move開始,而不是Rust或Solidity。這也類似於React在網絡行業的情況。 正因如此,我完全可以預料,在中長期內,Solana會加入對Move進行一流支持。但這並容易。為了獲得Move的主要好處,Move字節碼需要得到本地支持,這意味着簡單地將Move編譯成eBPF/SBF是不可能的(見第6.3節)。為了保持現有生態系統,兩種運行都需要得到支持。主要的技術挑戰是如何在運行之間實現適當的互操。這需要對Move和Solana的深入了解,所以我希望Solana團隊能在Move團隊的支持下對此進行直接推動。 Move起源於Meta(née Facebook)的Diem項目。Move團隊由Sam Blackshear領導,其任務是弄清楚如何處理智能合約。在仔細研究了這個問題後,他們發現智能合約的編程都是關於數字資產(資源),但現有語言都不支持該用例,於是決定從頭開始建立一種新的編程語言。 我想強調的是,創建一門新語言並不是突然做出的決定,它需要多年的努力才能落地,因為在大多數情況下,使用現有解決方案會更好。Move團隊正確預見到,一種安全、對資源有一流支持、同時又足夠靈活的智能合約語言是可以建立的,僅此一點就顯示出他們高度的專業性。這是團隊和支持該項目的Novi/Meta領導層的一個大膽舉動(會有一些董事和副總裁參與)。Meta後來停止了他們在Diem上的努力,並最終沒能夠收獲其在Move上的投資成果。但它為更廣泛加密貨幣社區做出了偉大貢獻。 總而言之,Move是一項了不起的技術,我相信它會對我們如何開發智能合約產生巨大影響。 轉載文章連結:https://www.chaincatcher.com/article/2079280本文章挑選自鏈捕手公鏈挑戰者原文標題:《Smart Contract Development—Move vs.Rust》作者:Krešimir Klas、Move 語言創辦人編譯:郭倩雯、鏈捕手 本網站所有非原創(轉載)文章版權歸原作者所有 特別說明:轉載文章會進行二次編輯以符合文章寫作需求,望作者包涵 延伸閱讀: 【新手懶人包】區塊鏈是甚麼?一文看懂區塊鏈演化、應用、常見術語 【新手懶人包】元宇宙是甚麼?剖析元宇宙的構成、未來商機和應用 【新手懶人包】 NFT 是甚麼?整合 NFT 科普、平台比較、製作方法 【新手懶人包】 GameFi 是甚麼?一文認識 GameFi 原理、運作方式、熱門NFT遊戲
Allen -
GameFi 每週回顧 | 2022 年 11 月 14 日至 11 月 20 日
GameFi 每週回顧 | 2022 年 11 月 14 日至 11 月 20 日
02
簡述當前區塊鏈各模塊的性能瓶頸和挑戰
03
NFT 一週回顧 丨2022 年 11 月 14 日至 11 月 20 日⁠
04
BlockPulse 新用戶註冊優惠 註冊就送Early adopters NFT 靈魂綁定代幣(SBT)
快訊