比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

必備九條措施 保障智能合約安全性_VERS

Author:

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

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

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

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

準備應急措施

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

DID信用協議Getaverse ID用戶現已突破10萬:2023年5月26日,金色電音節盛大開啟,Getaverse·中文社區與金色財經攜手主辦,共同展現了Web3的無限魅力。在電音節中場,Getaverse中文社區代表向來賓介紹了該協議的特點和應用場景,引起了熱烈的討論和關注,也為金色電音節增添了一抹科技與創新的色彩。截至目前,Getaverse ID用戶現已突破10萬,更有創新Web3項目不斷入駐生態。

據悉,Getaverse是基于DID(去中心化身份)的信用協議,通過將個人的身份和信用信息存儲在區塊鏈上,為用戶提供了更加安全和可信賴的身份驗證和信用評估機制。[2023/5/26 9:44:41]

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

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

Mt.Gox還款窗口已打開,但還款仍需一些時間:金色財經報道,Mt.Gox債權人提供其還款信息的窗口已經打開。Mt.Gox受托人表示,盡管如此,還款仍需要一些時間,而且還款的最后期限可能會有變化。根據Mt.Gox受托人4月7日的信件,基本、中期和早期一次性還款現在可以在10月31日截止日期前支付。

受托人指出,他將進行還款的準備工作,與包括加密貨幣交易所在內的金融機構名單進行協調,這些機構將接收付款并將其分配給債權人。\"鑒于此,預計需要一些時間才能開始還款。\"

此前報道,Mt.Gox將還款方案選擇的登記截止日期再度延長至4月6日。[2023/4/7 13:50:19]

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

防患未然

歐盟計劃于2023年就數字歐元提出立法:金色財經報道,在今天由法蘭西銀行主辦的一次會議上,歐盟專員Mairead McGuinness表示,歐盟委員會計劃在2023年就“可能的”數字歐元提出立法,以使議會和歐洲理事會能夠對其進行辯論。數字歐元工作目前正處于原型設計階段,法蘭西銀行行長弗朗索瓦·維勒魯瓦·德加豪證實,將在2023年底決定是否繼續進行,并可能在2026年或2027年推出。

雖然歐元央行數字貨幣(CBDC)的工作主要集中在零售方面,但本周早些時候,歐洲央行證實,它也在考慮為銀行間支付提供批發CBDC。(ledgerinsights)[2022/9/28 5:55:44]

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

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

Binance:調整FTT現貨交易對最小價格精度:11月9日,據官方消息,Binance 發布《關于調整 FTT 現貨交易對最小價格精度的公告》,公告顯示,FTT/BUSD、FTT/USDT、FTT/BNB 和 FTT/ETH 交易對最小價格精度分別下調一個數量級。[2022/11/9 12:34:59]

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:區塊鏈FTTVERSEVERS區塊鏈用大白話解釋FTT幣都在誰的手里Flokiverse TokenBit Game Verse

pepe最新價格
關于支持HYC主網通證更換成ERC20通證公告_HTT

尊敬的BitZ用戶: 為配合HYC項目方引入HYCERC20通證工作,BitZ應項目方要求作出如下安排:香港時間2020年4月24日15:00關閉HYC/BTC.

1900/1/1 0:00:00
龍興旺:8.3日內BTC重點關注11000關口_GALA

 龍興旺:8.3日內BTC重點關注11000關口把懶惰的情緒放一邊,把喪氣的話收一收,把積極性提一提,把矯情的心放一放。所有你想要的,都得靠自己的努力才能得到.

1900/1/1 0:00:00
談幣今生:BTC暴跌瀑布 帶動主流幣 ETH跌幅最大 聯動機制_KOI

行情回顧: 8/1大盤可謂是勢如破竹,不斷向上突破,先是突破11500后凌晨收線一根大陽柱來到11700附近,經過短暫的回調蓄力,8/2早上先是突破11950.

1900/1/1 0:00:00
幣汐柔:8.2比特幣和以太坊晚間預計先跌后漲操作建議高空低多_ETH

幣汐柔:8.2比特幣和以太坊晚間預計先跌后漲操作建議高空低多人無遠慮,必有近憂,對待行情也同樣如此,行情的漲跌不是靠個人主觀意志所決定的,而是充斥著多于空的搏殺,勝利與失敗則時刻伴隨左右.

1900/1/1 0:00:00
Defi引爆牛市,Defi真的能取代Cefi嗎_DEFI

一、Defi引爆牛市 最近,BTC終于漲破10000U,各幣友們紛紛高呼牛市來了,連《富爸爸,窮爸爸》作者都發推稱:如果你有錢,不妨購買比特幣和白銀.

1900/1/1 0:00:00
Mandi在印度尼西亞正式開展布局,締造印尼最強數字貨幣金融產品_MANDI

從以物易物到實體資產、再到虛擬資產,最后逐漸演變為加密資產,科技的進步促使資產的交易方式也不斷變化.

1900/1/1 0:00:00
ads