智能合約作為行業的基礎術語,各位開發者耳熟能詳。今天我們就來匯總一下智能合約的實際用例、應用價值和開發部署的全流程,歡迎智能合約的開發大神私信后臺提供更多經驗指導和開發建議。
什么是智能合約?
智能合約是存儲在區塊鏈上的兩方或多方之間的協議。每個此類合同都有一組預定義的規則和條件,旨在根據協議條款被觸發時自動控制、實施和記錄事件。這些合約內數據狀態的變更由整個區塊鏈網絡的共識來保證。除非整個網絡批準更改,否則任何人都不能更改它們。這使得智能合約成為在各方之間創建協議的最安全、最強大的工具之一。智能合約對于DApp的開發至關重要。此外,智能合約也是創建去中心化網絡的重要組成部分。
以太坊上的智能合約是去中心化金融的基本組成部分之一。智能合約一詞早在1994年由密碼學家NickSzabo創造,遠早于Web3但在Web3來臨時被廣泛運用,當時智能合約被認為是“一組數字格式的承諾”。
智能合約的發展情況
從目前的智能合約部署情況來看,智能合約在北美最為常見,占據了43%的市場份額,其次是歐洲和太平洋地區。根據TransparencyMarketResearch披露的一份關于智能合約在2020-2030年間的市場情況分析和預測,研究著表明到2028年,全球智能合約市場規模預計將從2021年的3.151億美元達到14.603億美元,2022-2028年的復合年增長率為24.2%。我們可以看到這十年內,智能合約市場的規模將持續增長,智能合約開發者的未來潛力無限。
以太坊核心開發者eric.eth考慮創建EIP,以將區塊獎勵從2 ETH減少到1 ETH:以太坊核心開發者eric.eth表示,為了符合以太坊對最低必要發行量的承諾,已經開始分析我們為安全支付的費用(與對EIP-1234的分析一致)。eric.eth稱正在考慮創建一個EIP,將區塊獎勵從2 ETH減少到1 ETH。
據悉eric.eth在EIP-1234中分析表示,區塊獎勵和向礦工支付的交易費用,是為了確保網絡的安全。對比BTC和ETH網絡,將區塊獎勵和交易費用都轉換為美元,并跨時間進行比較。兩者非常接近,有時ETH實際上向礦工支付的費用比BTC高。因此從不同區塊鏈,很難比較網絡安全和財務費用。因此使用市值作為衡量指標來分析網絡是否向礦工支付了過高的價格。ETH市值金是BTC市值的34%,因此向礦工的支付是過度的(ETH和BTC礦工獲得的獎勵的美元價值接近,但ETH市值低),并證明減少區塊獎勵是合理的。
今日此前消息,礦工提出針對EIP-1559的提案EIP-3368,擬將當前區塊獎勵從2 ETH增加至3 ETH。[2021/3/13 18:42:09]
比特股核心開發者未經社區同意私自更改投票規則引發爭議:據比特股 (BitShares)論壇顯示,7月30日核心開發者Abit發布了4.0版本升級,本次升級對于用戶的投票權進行了調整。但據社區反映此次升級之后改變了投票規則,但理事會和社區成員在升級前對此事并不知情,Abit也沒有發起過投票。這引發了不少成員的不滿,認為比特股過于中心化,同時也有用戶認為新規則過于強硬。[2020/7/31]
智能合約的開發流程
部署前
在確定部署智能合約前,需要定義業務邏輯和需求,即相關各方定義智能合約的具體業務條件,由開發人員作為最后的接收方。開發人員再來根據業務邏輯設計合約的體系結構,包含設計智能合約中數據的結構,以及合約中數據狀態改變與之相關的方法代碼。
開發中
開發階段主要是為所選區塊鏈平臺編寫智能合約代碼。此步驟還包括單元測試以確定合約是否按設計執行。開發智能合約的主要編程語言之一是Solidity。Solidity是一種高級面向對象語言,受到JavaScript和C++等成熟編程語言的重大影響。程序員不用二進制數字/代碼,而是使用字母和數字為區塊鏈世界編寫智能合約。
Paul Sztorc發起挑戰賽,激勵開發者將ZCash隱私功能引入比特幣側鏈:開發人員正在爭相將ZCash隱私功能引入比特幣側鏈。為此,他們使用去中心化預測市場先驅Paul Sztorc創建的Drivechain技術。作為一項額外的激勵措施,Sztorc宣布高達6.1 BTC的獎金。如果在美國東部時間5月1日午夜前沒有被認領,這筆賞金將會略有減少。Sztorc提供了一個Drivechain側鏈模板,并要求開發人員從ZCash進行“代碼移植”。這將從本質上把該山寨幣變成一個側鏈。由于兩者都是比特幣的代碼分支,因此大部分源代碼已經重疊,這意味著工作量要少得多。該獎勵基金是為了鼓勵開發人員調查其Drivechain技術,并為進一步的測試創建概念證明。這項挑戰定在4月20日,截至發稿時還沒有人領獎。它將一直運行到5月12日比特幣減半。如果任何一個挑戰者成功了,這將為各種風格的BTC鋪平道路,這些BTC能夠呈現任何區塊鏈資產的特征。如果發生這種情況,它可能會使所有的山寨幣過時。(Cointelegraph)[2020/5/2]
為了監控代碼質量,在開發過程中有一個分為兩部分的內部審查過程。這個環節在接受正式審計之前,由內部的合約開發者/審計者對合約的代碼進行一些基礎性的測試。第一階段是自動化的,使用工作流和管道來執行自動linting和單元/集成測試,以確保測試都通過。同時還將存儲和安全掃描器整合到工作流程中,以確保未來不會面臨存儲空間不足、覆蓋存儲或引入常見安全漏洞的風險。比如通常使用的工具有hardhat-storage-layout、MythX和Slither等。
聲音 | 比特幣核心開發者:法幣經濟倒塌時,比特幣用戶會受到較輕影響:比特幣核心開發者Jimmy?Song今日發推表示,“法幣經濟幾乎完全建立在長期債務之上。當它崩潰時,會突然崩潰。比特幣用戶會受到影響,但情況要好得多。”[2019/10/16]
審查過程的第二階段是手動的,由項目中的高級智能合約工程師審查所有拉取請求,提供反饋和問題,并確保代碼處于保證將拉取請求合并到主分支或暫存分支中的狀態。
安全審計
審計作為智能合約中重要的一環,往往需要花費一定的時間、人力和金錢成本,通常會由受信任的第三方進行安全審計。智能合約審計的成本因應用程序的規模和復雜性而異。一般來說,第三方智能合約審計需要收取5,000到15,000美元的費用,但根據合約的規模和復雜程度,可能會收取更多費用。
第一步,收集相關文檔。審計的第一步往往是是收集所有相關文件。這包括白皮書、代碼庫和與智能合約相關的任何其他文檔或材料。通過閱讀設計文檔,外部審核員可以對區塊鏈應用有更深層次的理解。在此階段,審計人員會規定審查的代碼范圍,同時開發人員和審計人員必須就審查范圍內的代碼凍結達成一致。
鏈安科技開發VaaS區塊鏈形式化驗證平臺可以幫助EOS開發者防范類似BEC的溢出漏洞:據金色財經合作媒體IMEOS消息稱,不久前Beauty Chain 美蜜/BEC代幣被盜事件,由于一行代碼的安全漏洞引發其市值一夜歸零。該漏洞,由于合約開發者經驗不足導致合約代碼中的bathTransfer函數出現了整型溢出的漏洞。IMEOS向BM求證EOS智能合約是否會出現此類問題,BM回應C++模板類可以封裝并檢查溢出漏洞。但沒發布相關模板。成都鏈安科技針對開發者可能疏忽而導致智能合約漏洞,可以通過VaaS形式化驗證平臺對EOS區塊鏈平臺的智能合約進行了整型溢出漏洞檢查和安全驗證。注:該智能合約漏洞不屬于EOS本身的問題,是開發者自身的疏忽導致。BEC漏洞也不是ETH智能合約本身的問題,而且開發者疏忽。鏈安科技的VaaS形式化驗證平臺,可以為開發者提供非常便捷的漏洞和安全檢查。詳情請參照原文。[2018/4/28]
第二步,使用工具運行測試。一旦審核員對代碼和應用程序有了很好的理解,他們就會使用各種工具運行自動化測試。這是迄今為止檢測潛在問題的最簡單方法。審計員將采取一系列步驟,包括探索大量代碼的集成測試、查看單個功能的單元測試以及探測安全漏洞的滲透測試。
行覆蓋率是衡量測試覆蓋代碼的有效指標,高行覆蓋率表明測試在探索應用程序中的所有代碼行方面做得很好。自動化測試完成后,審核員將繼續進行手動測試。
第三步,人工審查代碼。盡管自動化測試可以識別代碼中可能存在的漏洞,但自動化的程序無法理解區塊鏈開發人員試圖通過其應用程序實現的目標,手動審查代碼是必不可少的。通過詢問開發團隊的設計目的和業務邏輯、閱讀代碼并了解所有內容是如何組合的,審計員可以識別自動化測試遺漏的潛在問題。當審計團隊分析代碼時,他們可以參考項目規范和任何其他支持文檔,以查看代碼是否按預期執行。手動和自動測試的結合對于確保最終審計結果來說十分重要。
最終,獲得審計報告。審核完成后,審核員將提供一份報告,詳細說明他們的調查結果。該報告將成為項目團隊和智能合約開發者的寶貴資源。
部署后
在區塊鏈上部署合約,智能合約開發團隊和前端團隊緊密合作,將智能合約與測試網的前端接口集成,然后最終部署到主網。一旦進入市場后,智能合約部署后的監測必不可少,部署后的持續監測能夠防止區塊鏈網絡安全攻擊如常見的Scam。
智能合約優勢一覽
與任何傳統合同一樣,智能合同是確定各方關系的規則協議。智能合約由于其天然屬性和技術特性,將具有以下優勢:
獨立性:參與者自己安排,即可以省去中介機構的參與。
可靠性:合約安全地存儲在分布式網絡中,幾乎不可能更改或偽造。
安全性:在分布式網絡中,合約在網絡的所有節點中都是復制的,不會丟失。
節省:通過減少中介和傭金,所有相關方的成本都會降低。
準確性:此類合同將條款或處理中出現錯誤的可能性降低到零。
可持續性:合同消除了在辦公室、公證處和登記處使用紙張,并且由于減少公務出行而減少了污染。
智能合約用例
智能合約在目前簽署傳統合約的所有領域都有應用:
衛生保健
在醫療保健領域,患者的醫療記錄具有極高的價值,通過區塊鏈和智能合約,可以安全地存儲和加密健康記錄,并授予特定的、預先確定的個人訪問權限。此外,處方填充等事情可以自動化,從而減少處理時間并改善患者體驗。除了記錄健康數據外,它在這個領域的應用范圍可以從藥品的可追溯性到冷鏈管理、健康護照或臨床研究。
金融
在投資銀行業務中,由于智能合約提供更快的處理時間,貸款結算周期可以縮短一半。與此同時,由于效率的提高,投資銀行自身的運營成本也有所降低。對于機構和用戶來說,智能合約的運用實現了雙贏。
供應鏈
物聯網設備可以在整個供應鏈中使用,記錄產品的每一步并提高其可追溯性。通過這種方式,可以消除失誤、盜竊和丟失。
房地產市場
智能合約可用于更有效地登記財產所有權,用途可以擴展到公寓、建筑物或土地之外,延伸到登記所有類型的資產。只有當賣方轉讓財產并且買方交出款項時,合同才會被執行。這是一種透明、安全且快速的資產所有權轉移的方式。
保險
保險行業每年在索賠處理和索賠處理上花費數百萬美元。智能合約將允許根據保單類型自動確定支付金額。
除上述行業之外,智能合約還能用于人力資源行業,記錄一個人的學歷、證書和經驗等;用于知識產權領域,保護和明確專利的使用;用于領域內或民間組織中的選舉,智能合約可以驗證選民的身份并可靠地記錄他們的投票。
結語
《開發者新手指南》自推出來,收到了開發者朋友們非常積極的反饋和厚愛。我們也發現正在渴望進入Web3,期待快速了解行業基本情況和開發情況的新手開發者數量非常可觀。TinTinLand將持續更新本系列,提供全面的開發者新手入門指南,為新人開發者的Web3之旅保駕護航。
在這個系列中,我們匯總了全面的Web3技術棧定義以及Web3行業薪資數據——《開發者新手指南:Web3技術堆棧&平均薪資盤點》;我們也從技能學習和求職的角度出發,為大家匯總了區塊鏈開發者需要掌握的技能和挑選常用的求職應聘渠道——《開發者新手指南:進入Web3前,你需要掌握哪些必備技能?》;同時為了幫助Web3開發者更好地開發和部署項目,我們匯總了市面上常見的開發工具——《開發者新手指南:一文匯總Web3開發工具》。而在新手開發者朋友們了解了市場薪資、配備了開發技能和開發工具后,了解智能合約,開發智能合約,是成為一個Dapp開發者的下一個里程碑。
Tags:ETH區塊鏈WEB3WEBEthernal Financefuture幣區塊鏈METAWEB3PAWeb 3 Development
撰文|ThePrimediaDAO發起人Jerry2023已至,我們正迎來一個新的加密生態建設周期.
1900/1/1 0:00:00各位朋友,歡迎來到SignalPlus每日晨報。SignalPlus晨報每天為各位更新宏觀市場信息,并分享我們對宏觀趨勢的觀察和看法。歡迎追蹤訂閱,與我們一起關注最新的市場動態.
1900/1/1 0:00:00各位朋友,歡迎來到SignalPlus每日晨報。SignalPlus晨報每天為各位更新宏觀市場信息,并分享我們對宏觀趨勢的觀察和看法。歡迎追蹤訂閱,與我們一起關注最新的市場動態.
1900/1/1 0:00:00各位朋友,歡迎來到SignalPlus每日晨報。SignalPlus晨報每天為各位更新宏觀市場信息,并分享我們對宏觀趨勢的觀察和看法。歡迎追蹤訂閱,與我們一起關注最新的市場動態.
1900/1/1 0:00:00據官方數據,10月13日,去中心化超抵押穩定幣USDD發行量達800,112,887,正式突破8億枚.
1900/1/1 0:00:00過去一周,波場TRON各項目進展順利,并取得了豐碩成果。 波場TRON用戶數突破5500萬:據TRONSCAN數據顯示,波場TRON賬戶總數達到55,097,622,突破5500萬.
1900/1/1 0:00:00