撰文:TypusFinance
前言
當我們建立Typus時,我們經常被問到「為什么使用Move語言?」或「為什么選擇Sui?」。這篇深度探索希望向大家闡述Move語言和SuiMove語言的一些核心概念,從而解釋為何我們認為Sui是部屬DeFi的最佳選擇。我們希望這篇文章能提供開發人員或其他項目方一些洞見。
在我們正式談論SuiMove之前,先來了解原始的Diem-styleMove語言。
第一部分:為何在Move上建設DeFi?
Move語言是為DeFi而生
Move最初是由Facebook為Diem區塊鏈開發的,旨在打造一個全球金融基礎設施,以支援數十億用戶。
Move設計初衷是成為一種用于操作數位資產(digitalassets)的語言。它必須能夠以精確、易懂和可驗證的方式來闡述Libra貨幣和治理規則。
長遠來看,Move必須可以將各種資產及對應的商業邏輯代碼化,從而建立金融基礎設施。
Move的解決方案是「頭等資源(first-classresources)」——將資產視為程式語言界的頭等公民。用戶可以通過資源(resource)的四種不同能力來輕松定義和操作數位資產:
1.復制(copy)
2.索引(key)
3.丟棄(drop)
4.儲存(store)
為了打造強大且可拓展的DeFi生態系統,我們需要從程式語言的三個方面來提供支援:
1.數字資產的稀缺性
2.強制存取控制
3.資產安全性
江蘇銀行年報:將對區塊鏈等技術持續深入研究:4月20日消息,日前,江蘇銀行年報指出,江蘇銀行將不斷優化IT治理體系,加快重大創新項目建設,對5G、區塊鏈、人工智能等技術持續深入研究,在互聯網貸款、智能投顧、線上票據貼現、線上動產質押、跨境業務等領域落地的產品擴面成勢。(經濟參考網)[2020/4/20]
1.數字資產的稀缺性
稀缺性是有價值的實物資產的重要屬性,但數位資產本身沒有內建稀缺性的特質。因此,我們必須通過程式來強制為數位資產賦予稀缺性。
也就是說,資產供給量不應是無限的。程式設計上,必須可以防止人們復制資產,并且應該要把創建新資產設為一種特權。
為實現稀缺性,Move規定資產永遠不能被復制或丟棄,只能在不同的儲存場所之間移動。
Move如何實現這一點呢?
Move有一個類型系統(typesystem),由字節代碼驗證器來強制執行。當開發人員將Move字節代碼發布到區塊鏈時,該系統將可以用來防范資產價值整個失控。
重復使用——如果我編寫了一段以硬幣作為某函數的輸入項,然后再編寫另一段代碼,試圖復制該硬幣,那么類型系統將會糾錯,并回傳錯誤。
雙重支付——如果我擁有一枚硬幣,并嘗試將其傳遞給某個接受硬幣作為付款的函數,它會防止同一枚硬幣被重復傳遞。
銷毀——如果我有一些以硬幣作為輸入項的函數,那么我不應該有能力去重新指定該硬幣的存量,因為憑空讓硬幣的存量減少代表有硬幣被丟棄。
聲音 | 法中委員會秘書長林碧溪:中法兩國深入區塊鏈及人工智能合作:據人民網消息,2018年第五屆中法團隊合作創新獎即將在巴黎揭幕,法中委員會秘書長林碧溪表示,今年提交的候選項目中,區塊鏈、人工智能、數字化工具的項目明顯增加,且涉及領域非常廣泛,覆蓋核電站老化預測的解決方案、區塊鏈學歷認證及智慧城市能源管理等領域。林碧溪指出,中法兩國創新合作的多樣性,體現在創新合作的跨領域特征中。當今世界技術革新非常迅速,從區塊鏈、人工智能到數字應用,都需要中法合作團隊及時掌握并適應形勢,才能致力于開發未來的新技術。[2018/11/30]
上述設定都是為了讓數位資產的特性類似于實體資產。使用Move,開發人員可以通過上述設計來讓數位資產滿足資產該有的特性。
2.強制存取控制
在Solidity中,數據集中儲存在合約里。當合約中存在漏洞時,一旦駭客獲得合約權限,所有用戶數據都會受到攻擊。
Move開發團隊認為數據應該儲存在擁有者的賬戶中,而不是儲存在合約中。在Move中,有模組的概念,模組可以是一個程式庫,也可以是一個允許創建、儲存或轉移資產的程序。類似于以太坊中的合約,但更像是一間采用物件導向程式語言的銀行。
Move限定只有公共模組可以被其他模組調動。同樣,結構中的欄位只能在其模組內訪問和更改。每個資源都儲存在由所有者賬戶控制的模組中。
該功能讓所有權資訊和數位資產的特殊權限得以在智能合約下被維護。即使某個數位資產被發送到智能合約,該資產的所有權也不會改變。
更直白的例子是,如果駭客獲得了Move智能合約的訪問權限,他/她也無法將資產提取到自己的錢包中。
動態 | 北大光華成立金融科技聯合實驗室 向區塊鏈等五大領域深入研究:10月12日,北京大學光華管理學院與度小滿金融宣布合作成立金融科技聯合實驗室,并在北京大學為實驗室揭牌。聯合實驗室主任劉曉蕾表示實驗室將圍繞數字化資產配置、超大規模關聯網絡、在線機器人、監管科技、區塊鏈技術等五大領域深入研究,積極探索前沿技術在金融場景中的應用,同時推動跨學科人才的培養和輸出。[2018/10/12]
3.資產安全
DeFi的安全風險越來越令人擔憂,我們屢屢聽到造成超過1億美元損失的駭客攻擊。據SlowMist統計,2022年上半年就發生了約100起DeFi安全事件,損失超過16.3億美元,其中項目缺陷和合約漏洞是常見原因。
作為一種專注于金融場景的語言,Move從Solidity可能存在的安全漏洞中獲得了經驗教訓,并高度重視「智能合約安全和正確性」。
字節碼驗證器(bytecodeverifier)
Move的字節碼驗證器可以在執行每個字節碼程序之前檢查它們,防止許多常見的漏洞。安全預防措施由驗證器強制執行,開發者不能繞過編譯器,直接使用字節碼編寫代碼。它在代碼被發布到區塊鏈時直接強制執行。
先前提到的資產稀缺性功能是通過字節碼驗證器實現的,它可以預設強制執行稀缺性。開發者依賴語言的強大支援,確保代碼中的不變性,無論攻擊者嘗試什么都不會改變其代碼特性。
第二部分:為何在Sui上建設DeFi?
我們已經解釋完為何我們認為Move對DeFi而言是最佳的開發語言,接下來讓我們談談為什么我們優先選擇在Sui上部屬我們的項目。
這個決策背后的三大支柱是:
1.共識機制——釋放驗證者和共識資源,讓區塊鏈更有余裕處理DeFi交易。
Binance Labs主管Christy Choi:正與對區塊鏈和加密貨幣有深入見解的基金進行合作:今日Binance Labs主管Christy Choi在reddit的Ask Me Anything環節表示,幣安生態系統基金的目的是確定和支持對整個生態系統產生持久影響的項目。因此目前正在與關心整個行業、對投資負責、對區塊鏈和加密貨幣有深入見解的基金進行合作。只要關心生態系統并建立一個健康的產業,BNB最終會變得更好。[2018/6/7]
2.平行協議——沒有上限的橫向可擴展性,以滿足DeFi的需求。
3.存儲基金的代幣經濟學設計——為DeFi應用提供更具資本效率的模型,以將數據儲存在鏈上。
1.共識機制
Sui的共識機制和處理簡單/復合交易的能力被認為是其最有價值的創新,也是提供更穩定的DeFi交易環境的關鍵。Sui的共識取決于為兩種物件設定——自有物件和共享物件。
自有物件對應簡單交易
在Sui上,自有物件是由單個地址擁有的,例如代幣或NFT。這種場景包括像P2P代幣轉移、大量鑄造NFT、投票、在dApp上發送消息等簡單交易。
對于簡單交易,Sui使用了一種稱為拜占庭一致廣播的演算法,這是一種比傳統共識方法更簡單的演算法,可以消除過多的開銷。Sui指出,它「針對單寫物件進行優化,允許放棄共識的這種設計以處理簡單交易」。
因為驗證者不需要像傳統共識一樣相互溝通,所以這種演算法讓簡單交易只需消耗比較少的運算資源。
中國科技大學原黨委書記郭傳杰:要促進區塊鏈等技術在教育領域的深入應用:5月30日,第四屆“互聯網+教育”創新周在北京閉幕。中國科技大學原黨委書記郭傳杰表示,要促進人工智能、云計算、大數據、區塊鏈、物聯網等技術在基礎教育研究領域的深入應用,提升互聯網和教育的深度融合及創新。[2018/6/2]
共享物件對應復合交易
在Sui上,共享物件是沒有特定所有者的物件,任何人都可以讀取或寫入。這些場景主要包括像自動化造市、開放大眾競標的拍賣或接受任意交易的中央限價單簿等復雜的DeFi交易。
在復雜交易方面,Sui采用了Narwhal-Bullshark共識引擎。這個機制有兩個主要組件:Narwhal和Bullshark。
將Narwhal比喻成一個管家,它會將待處理的交易打包成一個無人領導的圖并標記為「集(collection)」。整個圖形結構允許系統在每一輪中插入交易。最后會生成證書,用以證明各輪次每個?集」當中的資料的可用性。
透過Narwhal,交易被建立成一個有向無環圖(directedacyclicgraph,DAG),就像一個檔案樹,其中活動的順序以圖形方式呈現。
Bullshark優化了Narwhal提供的DAG結構,著重于減少網絡驗證者之間的通訊開銷。
原始的Narwhal和Tusk論文指出,當Narwhal和Tusk一起使用時,它們可以實現「每秒160,000筆交易,延遲約3秒鐘」的效果。
當YugaLabs的OthersideNFT推出時,它曾一度使以太坊網路出現問題。它是史上最大的NFT發行之一,數量是其他NFT項目的好幾倍。根據用于進行此次發行的gas數據,需求遠遠超出了所有人的預期。這次發行的規模非常大,最終導致Etherscan網站無法正常運行。
在Solana上發生過更糟糕的情況,由于大量NFT的創建導致網絡斷線好幾次。
透過這種共識機制,Sui的驗證者不會像以太坊或Solana那樣面臨運算壓力。像NFT大量鑄造等交易被分離出來,把它們與DeFi活動相關的交易區隔開來,因此不需要共識,釋放了驗證者和共識資源,為DeFi提供了一個不那么擁擠、穩定的環境,以處理和部署DeFi交易。
2.平行協議
EVM的主要限制之一是交易必須依序執行——一次只能執行一筆交易,其他交易必須等待其完成執行。這個模型可能有潛在的有趣用途,但缺乏可擴展性和效率。
平行執行指的是識別獨立的交易,并同時執行它們。然后,按照執行順序來對相依交易進行排序并將其序列化。平行處理的概念很簡單,但其困難點通常在于識別交易之間的相依關系。
Sui利用Move的所有權類型和其自身的物件中心數據模型,明確識別交易之間的相依關系。由于Sui上的物件代表可共享的資產,因此可以通過檢查交易是否使用相同的物件來識別相依關系。
正如前面在共識機制段落中所解釋的,拜占庭一致廣播理論上允許Sui水平擴展以滿足應用需求,同時保持每筆交易極低的運營成本。
這種設計突破了現有區塊鏈的一個關鍵瓶頸——它消除了在一系列交易的總排序列表上達成全局共識的需求。
3.存儲基金的代幣經濟學設計
在區塊鏈上,寫入資料和讀取資料之間需要承擔財務成本,這是一個具有挑戰性的問題。以以太坊為例,寫入1MB的數據成本可能高達數萬至數十萬美元。區塊鏈存儲的市場機制還沒有成熟的解決方案,所以它急需一種可行的商業模式。驗證者需要儲存大量數據才能運營區塊鏈網路,通常這些成本將會被轉嫁給終端用戶。
存儲的問題在于時間,這是經濟學家所稱的外部性(externality)。在其他的一些區塊鏈上,舊用戶沒有將存儲成本內部化,導致新用戶間接要為舊用戶先前存放的數據買單。因此,Sui提出了存儲基金代幣經濟模型來解決這一問題。
舉例而言,Alice從Sui網絡剛開始使用時,鏈上儲存的數據量不大,她可以享受較低的gas費用。而Bob等到Sui網絡成熟后才開始使用,由于此時鏈上儲存的數據量較大,他被迫支付較高的gas費用。
Sui的代幣經濟模型旨在永久解決存儲成本的問題。當用戶在Sui上進行交易時,他們要提前支付計算和存儲的費用。存儲費用會存入一個存儲基金,用于調整未來獎勵給予驗證者和委托人的份額。
存儲基金是由過去的交易所資助的,并作為在不同時期轉移gas費用的工具。它包括刪除的這個選項——當用戶刪除先前儲存的鏈上數據時,用戶可以獲得退款。這鼓勵用戶不停思考自己在鏈上儲存的數據是否有必要繼續儲存。
租賃模型通過按期支付結構來讓用戶支付存儲費用,這種設計有利于那些打算在Sui上部署的項目。它引入了一個市場機制,讓用戶依照經濟效益去決定是否釋放存儲空間。具體來說,DeFi協議可以刪除過去已經結束的拍賣紀錄,NFT協議可以刪除不再使用的NFT元數據等。
總而言之
資產導向的程式設計使得Move語言很自然地成為部署DeFi項目的好選擇。技術邏輯方面的各種設計,如存取控制、形式驗證等,為去中心化資產的安全提供了多重保障。
資產和所有權是智能合約的基礎和DeFi的關鍵支柱,但現有的其他程式語言沒有辦法很好地描繪它們。Move是第一種解決這個問題的智能合約語言。
SuiMove不僅利用了Move的所有權/資產導向程式設計,其基于物件的資料模型設定也為其錦上添花。根據設計,Sui驗證者可以有效地無限擴展網路吞吐量,以滿足開發者的需求。Sui的可擴展性不僅限于交易處理。儲存也是低成本和水平可擴展的。
通過Move和SuiMove的組合,Typus相信我們選擇了一個出色的基礎設施來定義和建構一個鏈上DeFi原語,從而實現即時和低延遲的交易。
2023年4月7日21:00,「ChainBreakerPodcast」播客活動第四十六期拉開帷幕.
1900/1/1 0:00:00原文:《構建加密部落文化:模因、信仰、符號體系、圖騰及加密精神》 作者:0xShadow Web3的產品具有部落文化,meme是圖騰,理念是文化,資金和流動性是護城河,歸屬感和認同是信仰的來源.
1900/1/1 0:00:00頭條 ▌美SEC已正式向JustinSun發出電子傳票4月14日消息,據美國法庭文件顯示,美國證券交易委員會已正式向波場創始人、Huobi全球顧問委員會成員JustinSun發出電子傳票.
1900/1/1 0:00:003月下旬,英偉達在美國加州總部舉辦了面向軟件開發者的年度技術峰會GTC。會上,創始人黃仁勛發布了專用于大語言模型部署的GPU推理平臺——H100NVL,其或將在推理階段實現比現有最先進的A100.
1900/1/1 0:00:0021:00-7:00關鍵詞:Coinbase、OpenAI、Djed、ARB鯨魚1.CoinbaseCEO:銀行禁止向加密公司支付法幣的做法不可行;2.
1900/1/1 0:00:00加密社區期待已久的以太坊Shapella升級終于完成。 比推終端數據顯示,截至北京時間4月13日6:30AM,以太坊的交易價格為1,917美元,過去24小時波動率1.25%,在1,863.37美.
1900/1/1 0:00:00