比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > Luna > Info

區塊鏈:必備九條措施 保障智能合約安全性

Author:

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

以太坊開發者需要知道的四項安全性原則,以及一些基本權衡。

盡管區塊鏈行業的發展日趨成熟,但是智能合約的開發仍是一個相對較新的領域。因此,為了應對新的漏洞和安全危機,以及滿足開發新的最佳實踐的需要,我們應該不斷完善安全性方面的問題。學習最佳實踐只是智能合約開發者在安全性方面踏出的第一步。

智能合約編程需要一種不同于傳統的工程思維。智能合約失敗的代價很高,更新迭代需要較大工程量,這使得它在某些方面更類似于硬件編程或金融服務編程,而不是web或者移動端開發。因此,僅僅防御已知的風險是遠遠不夠的,還需要掌握新的開發理念。

準備應急措施

任何重要的合約都會出現故障。因此,開發者必須做好充足的準備,以便及時應對漏洞。

Fenix Games將與Immutable合作支持和推出Web3游戲:6月2日消息,Web3 游戲發行商 Fenix Games 將與 Immutable 合作支持和推出 Web3 游戲。Fenix Games 將通過為 Immutable 的游戲生態系統策劃、建議和發布一些服務,來幫助將游戲開發團隊帶到 Web3。

此前報道,2022 年 11 月份,Fenix Games 宣布已籌集 1.5 億美元,投資者包括 Phoenix Group 和迪拜風險投資公司 Cypher Capital,計劃收購、投資和發行區塊鏈游戲。[2023/6/2 11:54:01]

出現故障時暫停合約?(“斷路器”)。

管理風險資金的數量?(限制流量,最大化利用率)。

加密貨幣交易所WEX案將在新西伯利亞進行審理:金色財經報道,新西伯利亞 Zayeltsovsky 區法院將審理針對加密貨幣交易所WEX的系統管理員 Alexei Bilyuchenko(Ivanov)的刑事案件。Bilyuchenko 被控挪用比特幣交易所資產。

據調查人員稱,2018 年 10 月,被告阻止了對該平臺背后公司 World Exchange Services Pte. 控制的賬戶和錢包的訪問。有限公司還關閉了交易所所有者和用戶對總價值 31 億盧布的現金和加密資產的訪問權限。[2023/4/17 14:09:20]

準備有效的升級路徑以修復和改進bug。

防患未然

最好是在完整的產品發布之前發現bug。

Luna Classic計劃于3月31日升級v2.0.0,計劃引入AI功能:3月30日消息,Terra Luna Classic核心開發組Joint L1 Task Force提交了第二季度的計劃和預算,其中一項是計劃于3月31日升級Luna Classic v2.0.0,其中包含對Cosmos SDK v0.45.13和Tendermint v34.24的升級,以及測試v2.0.0升級和構建測試網,為Ziggy USTC repeg和部署v2.1.0提供技術建議和開發支持。社區已表示支持Joint L1 Task Force小組的Q2計劃。核心開發人員和教授Edward Kim表示,該升級對于推進將AI功能引入Terra Classic鏈的計劃是必要的。

Edward Kim此前曾暗示將在鏈上引入人工智能(AI) 和機器學習 (ML) 解決方案。[2023/3/30 13:35:52]

全面測試合約,并在發現新的攻擊向量時添加相應測試。

美聯儲FOMC聲明:進一步收緊政策可能是合適的:金色財經報道,美聯儲FOMC發表聲明,表示進一步收緊政策可能是合適的,最近的發展將導致信貸環境趨緊。將考慮累積政策收緊和滯后性的影響,目前通脹仍然高企。[2023/3/23 13:20:20]

alpha測試網版本發布之后,提供bug賞金。

分階段推出,每個階段更新功能并添加新測試。

保持智能合約的簡潔性

復雜性會提高出現故障的概率。

確保合約邏輯簡單。

模塊化代碼以使合約和函數保持較小。

請盡可能使用既有工具或代碼?(例如不要使用自己的隨機數生成器)。

在保證清晰度的前提下再考慮性能。

只在系統中需要去中心化的部分使用區塊鏈技術。

保持更新

跟進新的安全性措施。

檢查智能合約,以最快的速度定位新漏洞。

盡快升級到任何工具或庫的最新版本。

采用可能有效的保障安全性的新技術。

了解EVM的特性

盡管開發者對以太坊編程較熟悉,但仍需要注意一些陷阱。

要特別小心外部合約調用,該過程可能會執行惡意代碼并改變控制流(controlflow)。

要明白,開發者的公共函數是公開的,可能會被惡意調用,調用順序也可能是任意的。任何人都可以查看智能合同中的隱私數據。

注意gas成本和區塊gas限制。

注意,區塊鏈上的時間戳是不精確的:礦工可以在幾秒內影響交易執行的時間。

隨機性是區塊鏈上一個重要的特性,大多數產生隨機數的方法在區塊鏈上是具有博弈性的。

基本權衡因素

在評估智能合約系統的結構和安全性時,需要考慮多種基本的權衡。對于所有智能合約系統的普遍建議是,在這些權衡之間找到平衡點。

從軟件工程的角度來看,理想的智能合約系統是模塊化的,即重用代碼而不是復制代碼,以及支持可升級的組件。而從安全架構的角度來看,理想的智能合約系統可能同樣會使用這種模式,尤其是面對更為復雜的智能合約系統。

然而,當安全性和軟件工程最佳實踐出現不一致時,也會有一些例外情況發生。而在每種情況下,可通過選擇合約系統上的最佳性能組合來達到平衡,例如:

固定版本vs.可升級

整塊化vs.模塊化

復制vs.重用

固定版本vs.可升級

當多個資源?(包括此資源)?強調自身的延伸性時?(比如可中斷的、可升級的或可修改的模式),那么就需要在延伸性和安全性之間找到一個平衡點。

延伸性增加了復雜性和潛在的受攻擊性。如果智能合約系統在預先規定的有限時間內能夠完成的功能非常有限,那么這時簡潔性比復雜性要有效得多,例如,無治理的限時代幣發售合約系統。

整塊化vs.模塊化

獨立的整塊化合約允許信息在本地識別和讀取。雖然整塊化合約一般不被重視,但對于數據和流的極端本地化存在爭議,例如代碼審計的效率優化。

與本文考慮的其他因素一樣,在簡單的短期合約中,安全性最佳實踐趨向于與軟件工程最佳實踐相悖;而在更復雜的永久合約系統中,兩者趨于相一致。

復制vs.重用

從軟件工程的角度來看,智能合約系統希望能夠在需要時最大化重用功能。在Solidity語言中,有許多重用合約代碼的方法。實現代碼重用的最安全的方式通常是:使用自己之前經過驗證和部署的合約。

如果之前部署的合約無法使用,開發者通常就需要依靠復制功能了。OpenZeppelin的Solidity庫嘗試提供一些模式,使得安全代碼可以在無需復制的情況下被重用。任何合約安全分析都必須將目標智能合約系統中還沒有與風險資金建立相當信任級別的重用代碼包含在內。

現如今,在以太坊上創建應用軟件無疑是最令軟件工程師激動的前沿領域,但這需要持續不斷的威脅建模?(threatmodeling)、安全審計,還需要做好周全計劃以應對故障發生。

原文鏈接:https://media.consensys.net/the-smart-contract-security-mindset-a09f5f8f5f4f

來源|?ConsenSysMedia

Tags:區塊鏈WEBNIXGAM區塊鏈技術是什么WEBNUNIXMGAMES價格

Luna
加密貨幣:鄭弘文:8.03斷崖式跳水的空襲多頭能否繼續守住陣地

 鄭弘文:8.03斷崖式跳水的空襲多頭能否繼續守住陣地當走過了曾經隱忍的年月再回首時,我才發現,曾經覺得難以啟齒的往事,都不過是滄海一粟,生命給予我的,不是那些艱難,而是成長,是學會舉重若輕.

1900/1/1 0:00:00
FIL:Filecoin受監管政策影響有多大?

隨著Filecoin的熱度越來越高,關注這個項目的投資者也越來越多。不少謹慎的投資者除了關注項目的優勢以外,也開始關注它本身可能存在的問題。在諸多問題中,監管就是大家比較關注的問題之一.

1900/1/1 0:00:00
比特幣:比特幣對接美國銀行 即將產生更多灰度公司嗎?

上周,推特上的數字貨幣愛好者們再次「炸鍋」。當地時間7月22日,美國貨幣監理署高級副審計長兼高級法律顧問JonathanGould表示,根據他們的結論,銀行可以為客戶提供數字貨幣托管服務,包括持.

1900/1/1 0:00:00
OTB:【全球首發】DIA & DIA15D上線HOTBIT

尊敬的Hotbit用戶:Hotbit即將同步上線DIA、DIA15D的數字資產服務,詳情如下:開啟交易前便可提前進行掛單充值安排:8月3日21:00開放交易安排:8月3日21:00開放交易對:D.

1900/1/1 0:00:00
DAO:集五福瓜分百萬現金,SJS數交所五福大作戰正式開啟!

前幾天BTC暴漲重回8000美金登上熱搜,引得不少玩家入場。結果還沒有兩天BTC暴跌的話題再次登上熱搜榜.

1900/1/1 0:00:00
EPAY:關于ETC暫停充提幣的公告

公告編號2020080303各位關心ZBG的投資者們和項目方:ETC因錢包升級暫停充提幣,具體開放時間以公告為準,給您帶來不便深感抱歉,敬請諒解.

1900/1/1 0:00:00
ads