智能合约重构社会契约(6)赛迪智能合约安全标准
生活随笔
收集整理的這篇文章主要介紹了
智能合约重构社会契约(6)赛迪智能合约安全标准
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 安全實施框架
根據運行機制可分為運行與規劃、合約創建、安全審計、合約觸發、合約運行、合約廢止六個階段。
2. 編譯部署安全要求
- 區塊鏈系統應校驗智能合約的編譯實體、寫入策略和簽名內容。
- 區塊鏈系統應將智能合約內容的哈希值寫到區塊鏈賬本中。
- 區塊鏈系統的共識機制安全可靠,才能保證智能合約安全。(必須使用拜占庭容錯算法或其優化算法,并通過第三方驗證)
3. 智能合約觸發安全要求
3.1 直接接口調用安全要求
- 接口名稱應明確接口功能,應具有可讀性和可維護性;
- 直接接口調用應執行規定合約調用流程。
3.2 合約間調用安全要求
- 應豐富智能合約的內置方法和原生庫實現不官使用合你間調用,避免合約間調用可能存在的不確定因素安全風險;
- 宜減少外部合約調用防止不受信任的外部合約引發的風險和錯誤出現
3.3 預言機調用安全要求
- 接口名稱、輸入參數、返回數據應符合 API 接口規范;
- 接口描述文件應為預言機提供的結構化描述語言;
- 接口協議應包含安全傳輸協議;
- 預言機本身應通過第三方的安全性和可靠性評估;
- 預言機的安全和可靠性評估應為定期進行的持續行為;
- 當智能合約發生錯誤,應考慮預言機是否提供了錯誤數據,如果發現預言機故意提供錯誤教據,應及時更正或者更換預言機;
- 預言機提供數據時,也應提供數據可靠性指標。
4. 智能合約運行安全要求
- 應提供運行載體,如虛擬機、容器等,保證智能合約運行環境與外隔離,調用智能合約不能修改區塊鏈系統;
- 在運行智能合約前,應檢查該智能合約和鏈上智能合約的哈希值的一致性;
- 應當將智能合約代碼轉換成運行環境可執行的格式,保證合約在智能合約運行時環境中的執行結果具備事務一致性;
- 應校驗智能合約的實例化實體、通道寫入策略和簽名;
- 宜將合約狀態作為合約賬戶的屬性、合約內容的哈希值保存在區塊鏈網絡
- 對于與區塊鏈系統外部數據進行交互的智能合約,外部數據必須先經過驗證存在區塊鏈上,然后再傳遞至智能合約;而智能合約必須先將數據寫在區塊鏈上,才能輸出到外面系統。嚴禁智能合約系統和外界直接對接,以維持區塊鏈溯源機制;
- 當智能合約出現錯誤時,宜提供智能合約掛起或重啟恢復功能。
總結
以上是生活随笔為你收集整理的智能合约重构社会契约(6)赛迪智能合约安全标准的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hyperledger Fabric 核
- 下一篇: 区块链BaaS云服务(17)纸贵科技Z-