買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > 火必APP > Info

TOKEN:謝晗劍:DeFi 智能合約風險與 Nervos DAO 對策_TOKE

Author:

Time:1900/1/1 0:00:00

以太坊DeFi智能合約有何風險?公鏈Nervos首席架構師謝晗劍對此進行分析,并講解Nervos首個DeFi應用NervosDAO的對策。

原文標題:《DeFi中的智能合約風險》作者:謝晗劍,Nervos首席架構師,秘猿科技首席執行官,前以太坊核心研發團隊成員

金融是風險管理的藝術。無論資產本身還是操作過程都可能存在風險。資產具有價格,而價格是其內在價值和綜合風險的反映。對資產進行評估時,對風險的評估也必不可少。操作風險主要來自于易出錯且可被收買的「人」。因此,無論是對于基于傳統資產的傳統金融,還是對于運行在原生加密資產上的新興去中心化金融來說,對資產和操作風險的評估都是金融的核心。

風險控制是關鍵

加密資產的風險既包括政策變化等外部風險,也包括設計缺陷和實施錯誤等內部風險。在以太坊上,原生代幣就是ETH,而非原生代幣就是我們所謂的ERCtoken。ERCtoken是指符合ERC20標準及其衍生標準中任何一種的token。原生資產的風險會低于非原生資產的風險,因為后者除了受到以太坊客戶端漏洞的影響外,還會受到智能合約漏洞的影響。對于ERCtoken和DeFi,智能合約中的漏洞是最受關注的,因為DeFi作為一個系統,是由來自世界各地的不同的開發者們創建的無數智能合約交織在一起的復雜網絡。我們把由智能合約漏洞引起的風險稱為智能合約風險。

針對智能合約的漏洞,人們做了大量研究,我們也發現了很多防御的方法。如果您有興趣,這里有一份不錯的調查報告。然而,眾所周知,找到并修復所有較重要的智能合約中的漏洞是不可能的。我們生活在一個充滿通信錯誤和隨機的世界中,每一步都可能會導致「失真」:我們無法將頭腦中的想法寫成精確的說明書,同樣地,我們也無法將這份說明書毫無瑕疵地呈現出來。

澳洲國民銀行在以太坊上發行穩定幣:金色財經報道,澳洲國民銀行(National Australia Bank)表示已經通過以太坊使用自己的穩定幣完成了第一筆銀行內跨境交易。該交易是澳洲國民銀行對澳元支持的穩定幣試點的一部分。澳洲國民銀行打算發行代碼為“AUDN”的穩定幣,這將作為其賬簿上的一項負債進行管理。該公司計劃進一步支持澳元、新西蘭元、新加坡元和美元以及歐元、日元和英鎊的交易。

數字資產基礎設施提供商 Fireblocks 和金融科技平臺 Blockfold 將協助進行智能合約事宜,直接托管代幣以及鑄造和銷毀。[2023/3/14 13:03:38]

如果這就是殘酷的現實,那么我們在加密資產的實現中,不僅要考慮到主動防御和被動防御,同時還應該考慮到風險控制,這樣當一些不好的情況發生時,能夠將損失降到最低,避免一個微小的錯誤最終演變為黑天鵝事件。智能合約可以通過多種設計模式來實現風險控制,最重要的一種是應用程序狀態的去中心化,因為應用程序狀態的中心化會放大由智能合約漏洞造成的破壞。我將在接下來的文章中進一步闡明這一點。

ERCtoken的風險

ERCtoken的幾種標準從表面上看可能有所不同,但都具有一些共同的特征。ERCtoken的基本模式是使用token合約來管理token帳本,用戶通過與token合約的交互來實現發行、轉移或銷毀token。token賬本的所有記錄都存儲在token合約中,而合約本身則只是以太坊上的一個賬戶。

例如,假設有一種ERCtoken叫「cup」,Alice擁有100個cup,Bob擁有50個cup。該token的帳本位于地址/帳戶為0x1234的以太坊智能合約上。這個token合約0x1234會維護一個內部數據庫,并在其中儲存諸如「Alice擁有100個cup」和「Bob擁有50個cup」之類的記錄。當Alice想轉30個cup給Bob時,她就向合約0x1234發送了一條帶有簽名的消息,內容為「請轉30個cup給Bob」,然后合約0x1234將會驗證該消息是否確實來自于Alice,然后修改其內部數據庫,更新為「Alice擁有70個cup」和「Bob擁有80個cup」的相關記錄。

新加坡要求已注冊的加密公司提供其詳細信息:8月27日消息,新加坡金融管理局(MAS)正在要求獲得許可的加密貨幣公司和一些申請人提供詳細信息。新加坡Reed Smith LLP公司法律合伙人Hagen Rooke表示,鑒于最近困擾加密貨幣行業的各種破產和交易對手違約,MAS可能正在評估是否需要采取額外的監管措施來減輕導致這些不良情景的風險。

MAS發言人表示,被許可人和申請人應將任何嚴重阻礙或損害實體運營的事件通知MAS,包括任何可能影響其償付能力或滿足其要求的能力的事項,財務、法定、合同或其他義務。(The Block)[2022/8/27 12:52:51]

這里存在的問題是,所有的邏輯和狀態都保存在這一個合約0x1234中。Alice和Bob無法直接訪問他們自己的記錄,因為這些記錄由合約0x1234保管。持有該token的所有用戶都需要與該合約進行交互,而管理其token的唯一方法就是通過向合約0x1234發送消息。

換句話說,token合約是一切的中心。任何系統的中心都是攻擊者最有利可圖的攻擊對象。中心的任何問題都會影響所有用戶,因為所有token/記錄都由中心保管,并且每個人都必須與之交互。比如,由于整數溢出導致的「transferFlaw」/「allowAnyone」漏洞,或由不謹慎的授權導致的「ItchySwap」漏洞,攻擊者可以在所有者并未與合約交互的情況下,竊取他人的token。通過「ownerAnyone」漏洞,攻擊者可以通過控制token合約來鎖定所有人的token。在這些例子中,一旦token合約被破壞,每個人都將陷入困境。

ERCtoken是由token合約而非個人用戶持有的,這與以太坊的原生tokenETH有很大的不同。ETH的余額并不是由任何智能合約存儲的,而是由用戶直接控制。每個ETH所有者都擁有自己的帳戶和余額記錄。例如,如果在以太坊主鏈上,Alice有100個ETH,Bob有50個ETH,那么Alice在自己的賬戶中記錄為「余額=100」,Bob在自己的賬戶中記錄為「余額=50」。Alice的余額只會隨著帶有她簽名的轉出而減少,Bob的帳戶也是如此。ETH的所有權記錄分散在多個帳戶中,而非集中在單個帳戶中。只要他們的私鑰是安全的,就沒人能從他們那里竊取ETH。相反,ERCtoken的攻擊范圍則更大,因為攻擊者完全可以嘗試破壞token合約,這比破壞協議本身要容易的多。

Coinbase首席政策官:美國對加密貨幣的監管不確定性會傷害處在下一個大事件風口的新興項目和創始人:金色財經報道,Coinbase首席政策官Faryar Shirzad在社交媒體上稱,Coinbase在向美國商務部的評論信中發送了關于制定一個關于數字資產技術競爭力的框架。即:引領加密貨幣是美國全球科技領先和競爭力的核心。Shirzad表示,加密貨幣不再是簡單的購買和出售比特幣,用例正在迅速發展。不幸的是,美國目前在這方面以及其他一些全球領先指標上都落后了。

加密貨幣提出了新的問題和需求,世界各國政府歐盟、英國、澳大利亞、巴西、新加坡等正在推進制定可行的監管框架。 那么美國能做什么呢?建立監管明確性。監管的不確定性不僅會阻礙像Coinbase這樣的中心化交易所提供許多資產、服務和產品,還會傷害處于下一個大事件風口浪尖的新興項目和創始人。美國還可以通過支持針對非法活動的解決方案、在國內培養人才以及保護通向Web3的入口來保持競爭力。[2022/7/6 1:55:41]

不同的內生風險使得ERCtoken和ETH成為兩種不同類型的資產。在去中心化網絡上運行的智能合約與去中心化網絡是不同的。中心化的問題是由于ERCtoken在應用層而引起的,這會放大智能合約漏洞的潛在危害,不幸的是,我們知道人類總是會犯錯誤,所以總是會有漏洞。網絡/共識層的去中心化無法解決應用層的中心化問題。

如何降低風險

中心化的現象出現在ERC系列的token中,是因為它們的狀態并非是以太坊編程模型中的一等公民。在以太坊中,狀態是代碼的附件,不能直接引用和比較。當然將具有相同驗證規則的狀態放在同一個合約中是很自然的事情,但是,這就會導致該合約在某種程度上變成中心化的合約。這就是在以太坊編程模型中出現的結果。

Ronin網絡硬分叉升級完成,將發布新版Ronin移動端錢包:據官方消息,Ronin升級完成,要求所有驗證者更新軟件的Ronin硬分叉已經成功完成。Ronin Bridge將按計劃于今天開放。

此外,Axie Infinity開發者將發布新版Ronin移動端錢包。用戶將收到ERC20代幣余額變化的通知,并且可以查看ERC721網絡代幣。

據此前報道,Ronin Network表示,將于6月28日重啟Ronin Bridge并退還所有用戶資金。重啟Ronin Bridge需要Ronin Network進行硬分叉,目前已告知驗證者對驗證節點進行升級。[2022/6/28 1:36:37]

但是在CKB上,由于狀態是一等公民,因此正好相反。狀態是用戶可以直接把玩的對象,而代碼只是狀態的附件。我們可以自然地將使用相同驗證規則的狀態進行比較和分組,即使這些狀態由不同的用戶直接持有。

在CKB上,我們將非原生代幣稱為「用戶自定義token」或者是UDT。對于給定的UDT,資產定義和資產記錄是分開的,不同用戶的記錄也是分開的。資產定義描述了token的邏輯,比如」發行上限是1百萬「或者」Bob可以發行新的token「,而資產記錄則為」Alice擁有100個token「之類的信息。

資產定義是一個合約,由token發行者創建,并存儲在發行者所擁有的Cell中,而資產記錄則保存在用戶自己的cell中,并且所有的資產記錄均使用相同的「類型腳本」。

每個用戶都使用他/她自己的Cell來存儲他/她自己的token記錄。這些token記錄共享資產定義Cell中定義的相同驗證規則。通過這種結構,資產記錄都以去中心化的形式存儲著。

如上圖所示,Alice持有的token存儲在Alice自己的cell中,并且由她自己的「鎖腳本」保護著,目前默認采用的是Secp256k1。即使資產定義存在問題,攻擊者也無法修改Alice的資產記錄,因為這樣做需要Alice的私鑰。因為token是由Alice直接持有的,因此攻擊者無法繞開Alice設定的鎖。通過token狀態的去中心化,我們可以有效控制由資產定義的漏洞所造成的損失。

加密總市值重返1萬億美元:金色財經報道,據 Coingecko 數據顯示,加密總市值已重返 1 萬億美元,本文撰寫時為 1,003,446,060,813 美元,過去 24 小時漲幅達到 2.4%。當前 BTC 市值為 408,424,207,811 美元,24 小時漲幅為 2.0%;以太坊市值為 148,859,106,895 美元,24 小時漲幅 6.3%。[2022/6/25 1:31:10]

但是這里仍然有可能存在影響每個人的漏洞:比如,資產定義中可能存在一個漏洞,這個漏洞允許任何人發行比預期更多的token。UDT的好處是,首先,消除了大部分的漏洞;其次,資產定義Cell受到鎖的保護,該鎖自然也可以是token發行中身份驗證邏輯的一部分。通過協議設置身份驗證機制是非常容易的。這種對于授權和業務邏輯的解耦是一種非常棒的工程實踐,也是CKB中默認的做法。UDT會比ERCtoken有更好的去中心化屬性,因此UDT的智能合約風險要低于ERCtoken,當然還是高于原生代幣。

如果您也對UDT感興趣,在NervosTalk上已經有了一些討論,歡迎參與。

安全的NervosDAO

應用程序狀態的去中心化也有助于DeFi程序的設計。NervosDAO是CKB上第一個DeFi應用。它是一個智能合約,用戶可以用相同的方式與CKB上任意一個智能合約進行交互。NervosDAO的其中一個功能是為CKByte的持有者提供一個抗稀釋的對策。通過將CKByte存入NervosDAO,CKByte持有者將獲得相應的二級發行獎勵,這保證了他們持有CKByte的占比只會受到基礎發行硬頂的影響,就像比特幣一樣。在撰寫本文時,DAO中已經存入了超過10億個CKByte,并且這一數字還在不斷上升,這不就是攻擊者苦苦尋找的攻擊對象嗎?對此,我們需要擔心嗎?

大可不必!因為NervosDAO中鎖定的CKByte并沒有匯聚在同一個智能合約內,它仍然由不同的用戶持有!當用戶想要將CKByte存入NervosDAO時,他/她通過選擇cell,然后將這些cell的typescript的引用設置為0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e,這串數字會指向NervosDAO腳本。這些cell的lockscript將保持不變。因為NervosDAO的typescript和lockscript是分離的,因此攻擊者在沒有用戶允許的情況下,永遠不可能使用這些存儲中的CKByte。

如果要提取已鎖定的CKByte,則必須要提供lockscript對應的證明。這個驗證過程不是通過任何智能合約,而是由CKB網絡來保證的,并且沒有其他替代方案。這里,NervosDAO的腳本是為了保證用戶退出DAO時,能夠通過計算得到正確的補償,而并非是為了持有資金。

對DeFi的影響

目前很難定量分析智能合約風險對于DeFi的影響,但是我們可以從NexusMutual提供的保險產品中獲取一些線索,這是一種去中心化的替代保險。它的第一個產品SmartContractCover可以讓用戶購買任何一個智能合約的保險,這樣一來,如果該智能合約被黑客攻擊,那么用戶就可以獲得對應的賠償。Smartcontractcover的保費由市場決定,并與保險期限和保額呈正相關。根據此文,Nuo中1000個DAI對應90天的保險費用為6.41個DAI,而Uniswap中1個ETH對應365天的保險費用為0.013個ETH。基于這些數據,我們可以大致估計出,目前智能合約的年化風險成本約為2%。

這2%的成本是由于智能合約風險所導致的市場效率低下而引起的,因此改進智能合約編程模型就顯得異常重要。一個不同的編程模型可以降低智能合約的風險,并為我們帶來一個更高效的DeFi市場。

感謝HaseebQureshi,CipherWang和ChristopherHeymann對本文提出的反饋意見。

引用鏈接:

.https://arxiv.org/abs/1908.04507

.https://blog.peckshield.com/2018/04/28/transferFlaw/

.https://blog.peckshield.com/2018/05/23/allowAnyone/

.https://blog.peckshield.com/2019/09/27/ItchySwap/

.https://blog.peckshield.com/2018/05/03/ownerAnyone/

.https://en.wikipedia.org/wiki/First-class_citizen

.https://talk.nervos.org/t/discussion-on-udt-standard-evaluation-criterion/3774;

https://talk.nervos.org/t/approach-to-designing-a-user-defined-token-standard-on-ckb-part-1/3855;

https://talk.nervos.org/t/proposal-minimal-udt-implementation-and-extensions/3932;

.https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0023-dao-deposit-withdraw/0023-dao-deposit-withdraw.md

.https://explorer.nervos.org/nervosdao

.https://github.com/nervosnetwork/ckb-system-scripts/blob/master/c/dao.c

.https://nexusmutual.io/

.https://nexusmutual.io/pages/SmartContactCoverWordingv1.0.pdf

.https://medium.com/nexus-mutual/smart-contract-cover-is-now-live-91b3015f99eb

來源鏈接:medium.com

以太坊

以太坊

開放的分布式區塊鏈應用平臺,通過其專屬加密貨幣Ether以太幣提供去中心化的虛擬機,處理點對點合約。允許任何人建立和使用通過區塊鏈技術運行的去中心化應用,沒有任何欺詐、審查、第三方監管。以太坊的概念首次在2013至2014年由維塔利克·布特林VitalikButerin受比特幣啟發后提出,旨在共同構建一個更全球化、更自由、更可靠的互聯網。以太坊EthereumETHERCERCERC20ERC721ERC以太坊查看更多Nervos

Tags:TOKENTOKKENTOKEAlkemi Network DAO TokenTidex TokenwrbtokenColony Network Token

火必APP
TCOIN:Step Voices:5 分鐘理解 Gitcoin 的 “眾籌”模型_COI

什么是Gitcoin? Gitcoin是一個基于Ethereum網絡構建的去中心化協作平臺。Gitcoin為開發者提供了一個社區,除了讓他們在開源項目中通過賞金的方式進行協作之外,Gitcoin.

1900/1/1 0:00:00
穩定幣:大數據公司企久數據與達令智庫達成戰略合作_非小號幣行情app

2019年2月23日,大數據公司企久數據和達令智庫達成戰略合作,打通區塊鏈數據上下游,為投資者以及投資機構提供投資最直觀的數據。

1900/1/1 0:00:00
FTM:仙女座科技:從未涉足合約審計領域,請注意防范風險_ACU Platform

仙女座科技表示近日有項目方宣稱合約經過仙女座科技審計,但仙女座科技一直致力于自研DApp的開發,從未涉足合約審計領域,仙女座科技提醒各位YeildFarming農夫注意防范風險.

1900/1/1 0:00:00
CEN:一文了解開放式金融中熱門的分布式借貸協議_Astral AI

分布式借貸協議旨在借助區塊鏈技術使借貸行為更為透明、快速以及安全。2018年以Compound、Dharma、dYdX和MakerDAO為代表的市場參與者分配了超過2.51億美元的數字資產借貸款.

1900/1/1 0:00:00
PAI:Kantar:影響中國消費者對休閑食品滿意度的主要因素(附下載地址)_數字貨幣

目前100000人已關注加入我們掃一掃下載全網最新數據報告 查看完整報告請閱讀全文 查看完整報告請閱讀全文 以上資料均從網絡公開資料收集整理而成.

1900/1/1 0:00:00
STRAT:GX交易所重磅上線創新理財產品GX寶——下一個王者!_SUBS

新加坡時間2020年12月15日19:00(UTC+8),全球區塊鏈資產新銳交易所GX.COM正式推出GX寶,一個集穩健與靈活、持續且高額收益于一身的新型理財方式,等你來解鎖!后疫情時期.

1900/1/1 0:00:00
ads