區(qū)塊鏈原理與應(yīng)用-數(shù)字經(jīng)濟(jì)的視角 課件2-5.智能合約_第1頁
區(qū)塊鏈原理與應(yīng)用-數(shù)字經(jīng)濟(jì)的視角 課件2-5.智能合約_第2頁
區(qū)塊鏈原理與應(yīng)用-數(shù)字經(jīng)濟(jì)的視角 課件2-5.智能合約_第3頁
區(qū)塊鏈原理與應(yīng)用-數(shù)字經(jīng)濟(jì)的視角 課件2-5.智能合約_第4頁
區(qū)塊鏈原理與應(yīng)用-數(shù)字經(jīng)濟(jì)的視角 課件2-5.智能合約_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

智能合約區(qū)塊鏈體系結(jié)構(gòu)智能合約基本概念智能合約的理論概念的提出早于區(qū)塊鏈,但是實(shí)際落地在有了區(qū)塊鏈后智能合約的概念最早由NickSzabo在1990年代提出,旨在通過數(shù)字方式促進(jìn)、驗(yàn)證或執(zhí)行合約中的協(xié)商或履行。在技術(shù)上,智能合約是存儲(chǔ)在區(qū)塊鏈上的一段代碼,它自動(dòng)執(zhí)行合約雙方事先同意的條款。一旦特定條件得到滿足,相應(yīng)的合約條款將被自動(dòng)執(zhí)行,相關(guān)的交易或功能被觸發(fā)。定義為:存儲(chǔ)在區(qū)塊鏈上并可以在滿足預(yù)定條款和條件時(shí)自動(dòng)執(zhí)行的計(jì)算機(jī)代碼。載體是區(qū)塊鏈,本質(zhì)是一種自動(dòng)執(zhí)行的計(jì)算機(jī)代碼。代碼描述了買賣雙方之間的協(xié)議條款,并被直接寫入?yún)^(qū)塊鏈的代碼行中,滿足預(yù)定條款和條件是代碼被執(zhí)行的觸發(fā)條件。由于代碼不需要人為的干預(yù),所以被稱為自動(dòng)執(zhí)行。作為一種計(jì)算機(jī)程序,是應(yīng)用軟件的一部分,是一種數(shù)字表示的程序,雖然是合約條款的代碼表示,但不是法律意義上的合同或合約。無需中介、自我驗(yàn)證、自動(dòng)執(zhí)行智能合約基本概念自動(dòng)化執(zhí)行:智能合約最大的特點(diǎn)是能夠在無需人工干預(yù)的情況下自動(dòng)執(zhí)行預(yù)設(shè)條件。這不僅減少了執(zhí)行過程中的人為錯(cuò)誤,也顯著降低了操作成本和時(shí)間。提高透明度和信任:由于智能合約的執(zhí)行依賴于區(qū)塊鏈技術(shù),所有相關(guān)操作都是透明的,且一旦數(shù)據(jù)被錄入?yún)^(qū)塊鏈后無法更改。這種透明度提高了交易雙方的信任。降低中介成本:智能合約通過自動(dòng)執(zhí)行合約條款,減少了傳統(tǒng)交易中需要依靠法律服務(wù)、中介機(jī)構(gòu)等第三方的需求,從而降低了交易成本。強(qiáng)化安全性:區(qū)塊鏈的加密特性保證了智能合約的安全性。合約一旦被部署到區(qū)塊鏈上,除非具備相應(yīng)權(quán)限,否則無法修改,增強(qiáng)了合約執(zhí)行的安全保障。多領(lǐng)域應(yīng)用:智能合約的應(yīng)用不限于簡(jiǎn)單的資金交易,它們還可以用于保險(xiǎn)、房地產(chǎn)、醫(yī)療、供應(yīng)鏈管理等多個(gè)領(lǐng)域,處理復(fù)雜的邏輯和大量的數(shù)據(jù)交換。智能合約在區(qū)塊鏈中的應(yīng)用通過智能合約,區(qū)塊鏈不僅僅是一個(gè)記錄交易的平臺(tái),還成為了能夠支持復(fù)雜應(yīng)用邏輯和自動(dòng)化業(yè)務(wù)流程的基礎(chǔ)設(shè)施。這使得區(qū)塊鏈技術(shù)的潛力得到了進(jìn)一步的擴(kuò)展,為創(chuàng)新提供了更多可能性,同時(shí)也為傳統(tǒng)業(yè)務(wù)模式帶來了挑戰(zhàn)和變革的機(jī)會(huì)。智能合約發(fā)展歷史1994年Nick

Dzabo

《SarmtContracts:BuildingBlocks

forDigital

Markets》1998年發(fā)明Bit

Gold比比特幣早10年,缺乏可信的執(zhí)行環(huán)境,并沒有被應(yīng)用實(shí)際產(chǎn)業(yè)中2008年比特幣的底層技術(shù)可以為智能合約提供可信的執(zhí)行環(huán)境以太坊建立了一整套智能合約的規(guī)范與架構(gòu),并發(fā)布面向智能合約的區(qū)塊鏈。以太坊和超級(jí)賬本是目前應(yīng)用最廣泛的兩種智能合約開發(fā)平臺(tái)NickSzabo對(duì)智能合約的描述NickSzabo提出智能合約的初衷是為了使數(shù)字化的合同能夠自動(dòng)化執(zhí)行,從而降低交易成本和潛在的欺詐風(fēng)險(xiǎn)。他經(jīng)常用自動(dòng)販賣機(jī)作為智能合約的一個(gè)原始形態(tài)的比喻:用戶選擇一個(gè)商品并支付相應(yīng)的金額,販賣機(jī)就會(huì)自動(dòng)提供該商品,整個(gè)過程無需人工干預(yù),減少了交易成本和復(fù)雜性。特別強(qiáng)調(diào)了智能合約在信任、安全性和減少交易成本方面的潛力。他認(rèn)為,智能合約能夠提供比傳統(tǒng)法律合同更高的安全保障,因?yàn)樗鼈兪腔诿艽a學(xué)的,且交易記錄在區(qū)塊鏈上不可篡改,透明且永久保存。NickSzabo智能合約的要件基礎(chǔ)賬本虛擬機(jī)編程語言基礎(chǔ)賬本提供賬戶、價(jià)值和存證的基礎(chǔ)支撐虛擬機(jī)提供程序代碼的運(yùn)行時(shí)(Run

time)環(huán)境編程語言提供程序代碼的開發(fā)書寫工具智能合約通用架構(gòu)智能合約語言與編譯機(jī)制區(qū)塊鏈種類所支持的語言比特幣使用較為底層的棧式腳本語言以太坊Solidity、Serpent(類python)超級(jí)賬本Go、Java、Node.js其它C、C++、Java等從語言的形式和運(yùn)行的環(huán)境上來講,智能合約可以分為三類:1.腳本型智能合約2.通用型智能合約3.專用型智能合約區(qū)塊鏈?zhǔn)侵悄芎霞s得以實(shí)現(xiàn)的基礎(chǔ),智能合約的自動(dòng)化執(zhí)行,運(yùn)行結(jié)果的有效性以及合約代碼的安全都依賴于區(qū)塊鏈,因此智能合約與區(qū)塊鏈的有效結(jié)合與部署成為智能合約實(shí)施的關(guān)鍵。對(duì)于智能合約的使用都和編程人員而言,當(dāng)前智能合約平臺(tái)已經(jīng)能夠屏蔽掉區(qū)塊鏈中很多技術(shù)細(xì)節(jié),使得區(qū)塊鏈中的各種復(fù)雜機(jī)制(哈希、對(duì)等網(wǎng)絡(luò)、共識(shí)、挖礦等)變成了智能合約平臺(tái)提供的承諾,因此,開發(fā)和使用人員只需要關(guān)注自己的業(yè)務(wù)需求,充分利用智能合約平臺(tái)提供的部署工具,而不需要考慮如何將智能合約執(zhí)行代碼轉(zhuǎn)化為區(qū)塊鏈數(shù)據(jù)的具體實(shí)現(xiàn)。智能合約的區(qū)塊鏈部署區(qū)塊鏈工程技術(shù)人員職業(yè)標(biāo)準(zhǔn)內(nèi)容合約代碼的運(yùn)行當(dāng)滿足觸發(fā)條件時(shí),被部署在區(qū)塊鏈上的智能合約代碼將被區(qū)塊鏈系統(tǒng)自動(dòng)執(zhí)行,并依照合約規(guī)定完成各種資產(chǎn)的轉(zhuǎn)移。需要貨幣激勵(lì)、執(zhí)行機(jī)構(gòu)、指令系統(tǒng)和觸發(fā)條件待機(jī)制相互協(xié)調(diào),才能保證合約代碼自動(dòng)無差錯(cuò)地被執(zhí)行。三種運(yùn)行方式:腳本(Script)虛擬機(jī)(VM)容器(Docker)智能合約可以做什么——以“遺囑執(zhí)行”為例基礎(chǔ)賬本智能合約遺產(chǎn)導(dǎo)入遺產(chǎn)導(dǎo)出靜默觸發(fā)如何添加更多的“業(yè)務(wù)邏輯”按固定值分配按固定比例分配按浮動(dòng)比例分配簽到打卡,行為改變浮動(dòng)比例合約中的余額變動(dòng)不影響分配規(guī)則智能合約的外部信息源如何可信智能合約的可信外部信息源對(duì)于忠實(shí)執(zhí)行智能合約非常關(guān)鍵,輸入數(shù)據(jù)是錯(cuò)的,一切皆錯(cuò);對(duì)輸入數(shù)據(jù)做手腳,有可能導(dǎo)致價(jià)值再分配的結(jié)果不同,有作惡的動(dòng)機(jī)所以,保證外部信息源的可信,是智能合約提供可信服務(wù)的應(yīng)有之義經(jīng)過“標(biāo)準(zhǔn)采集接口+特殊共識(shí)處理”

的外部信息源,稱為“預(yù)言機(jī)(Oracle)”股票市場(chǎng)數(shù)據(jù)、天氣數(shù)據(jù)、航班數(shù)據(jù)、物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)甚至游戲數(shù)據(jù)都有可能成為被采集對(duì)象大家會(huì)很形象的把公鏈比作操作系統(tǒng),DAPP類比的話就是APP,那么預(yù)言機(jī)可以形象的比做API接口(API是一組定義、程序及協(xié)議的集合,通過API接口實(shí)現(xiàn)計(jì)算機(jī)軟件之間的相互通信)。這個(gè)類比雖然不準(zhǔn)確,而預(yù)言機(jī)正是扮演這樣的角色,預(yù)言機(jī)是區(qū)塊鏈和現(xiàn)實(shí)世界之間的紐帶,可以實(shí)現(xiàn)數(shù)據(jù)互通的工具。有了智能合約,區(qū)塊鏈從此不同智能合約賦予價(jià)值和信任狀態(tài)“可編程”的能力,使千差萬別的業(yè)務(wù)邏輯走進(jìn)區(qū)塊鏈,使區(qū)塊鏈能夠?qū)痈餍懈鳂I(yè)的應(yīng)用,賦能各行各業(yè)智能合約把基礎(chǔ)賬本的價(jià)值轉(zhuǎn)移功能拓展為價(jià)值全生命周期按需服務(wù)的功能彼此互不信任又都不信任第三方的兩個(gè)實(shí)體,通過智能合約,可以直接開展數(shù)字化的業(yè)務(wù),而不必?fù)?dān)心對(duì)方不遵守約定對(duì)己方造成傷害智能合約如何助力商業(yè)模式和治理模式改進(jìn)只要外部數(shù)據(jù)源可信,規(guī)則會(huì)被強(qiáng)制執(zhí)行,不必?fù)?dān)心不執(zhí)行、執(zhí)行不到位和執(zhí)行走樣等問題(比如分紅)只要外部數(shù)據(jù)源到位,規(guī)則會(huì)被立即執(zhí)行(比如延誤險(xiǎn)理賠)“強(qiáng)制”和“立即”,會(huì)改變?nèi)藗兊男袨槟J?、合作模式智能合約如何助力商業(yè)模式和治理模式改進(jìn)只要外部數(shù)據(jù)源可信,規(guī)則會(huì)被強(qiáng)制執(zhí)行,不必?fù)?dān)心不執(zhí)行、執(zhí)行不到位和執(zhí)行走樣等問題(比如分紅)只要外部數(shù)據(jù)源到位,規(guī)則會(huì)被立即執(zhí)行(比如延誤險(xiǎn)理賠)“強(qiáng)制”和“立即”,會(huì)改變?nèi)藗兊男袨槟J?、合作模式商業(yè)模式和治理模式的改進(jìn)可以從這里入手(數(shù)字化社團(tuán))CodeisLaw(代碼即法)CodeisLaw(代碼即法)1.規(guī)則的制定與執(zhí)行傳統(tǒng)法律:法律由立法機(jī)關(guān)制定,明確規(guī)定了行為準(zhǔn)則和后果。當(dāng)個(gè)人或組織違反法律時(shí),會(huì)由司法系統(tǒng)執(zhí)行這些規(guī)則,確保合法行為的進(jìn)行。智能合約:智能合約通過代碼形式制定規(guī)則,這些代碼定義了合同條款和行為后果。一旦觸發(fā)相應(yīng)條件,智能合約自動(dòng)執(zhí)行這些預(yù)設(shè)規(guī)則,類似于法律的自動(dòng)應(yīng)用和執(zhí)行。2.約束力與公正性傳統(tǒng)法律:法律通過權(quán)威的法律體系強(qiáng)制執(zhí)行,確保所有參與者都在相同的規(guī)則下行動(dòng),維護(hù)社會(huì)公正和秩序。智能合約:智能合約的代碼在區(qū)塊鏈上公開、透明,并且執(zhí)行結(jié)果無法篡改,保證了交易雙方的權(quán)益得到公正處理,從而在無需第三方的情況下也能保證合同的公正執(zhí)行。3.法律效力與合約效力傳統(tǒng)法律:合同是法律的一部分,合法有效的合同對(duì)所有簽署方具有法律約束力。合同的違反可能導(dǎo)致法律訴訟或其他法律后果。智能合約:智能合約雖然不是傳統(tǒng)意義上的“法律文本”,但一旦在區(qū)塊鏈上部署,對(duì)所有參與方具有同等的約束力。智能合約的執(zhí)行不依賴外部法律強(qiáng)制,但其自身執(zhí)行邏輯的不可更改性給參與者帶來了類似法律文本的約束力。針對(duì)“Codeislaw”原則的不同觀點(diǎn)1.代碼錯(cuò)誤和漏洞:

智能合約是由人編寫的,因此不可避免地可能包含錯(cuò)誤或漏洞。這些問題可能導(dǎo)致意外的行為,甚至被惡意利用,造成重大的財(cái)務(wù)損失。例如,TheDAO事件就是因?yàn)橹悄芎霞s中的一個(gè)漏洞導(dǎo)致數(shù)百萬美元資金被盜。這表明,如果代碼存在缺陷,單純依賴代碼執(zhí)行可能不足以保證合約的公正和安全。2.法律和道德靈活性的缺失

法律不僅是黑白分明的規(guī)則,還包含許多灰色地帶,需要人類的判斷和解釋。智能合約的嚴(yán)格執(zhí)行無法考慮到所有復(fù)雜的人際關(guān)系和道德考量。例如,合同可能因不可抗力(如自然災(zāi)害)需要調(diào)整,而智能合約則可能無法靈活應(yīng)對(duì)這些情況。3.法律適應(yīng)性

法律會(huì)隨著社會(huì)的發(fā)展和價(jià)值觀的變化而調(diào)整。智能合約一旦部署后,其條款固定且難以修改,這與傳統(tǒng)法律體系中對(duì)變化的適應(yīng)性形成對(duì)比。這種缺乏適應(yīng)性可能會(huì)阻礙社會(huì)進(jìn)步或?qū)е虏还慕Y(jié)果。針對(duì)“Codeislaw”原則的不同觀點(diǎn)4.社會(huì)和文化差異

智能合約的全球和去中心化特性意味著其需要跨文化和法域運(yùn)作。不同地區(qū)對(duì)于合同的解釋和執(zhí)行有不同的法律和文化預(yù)期,單一的“代碼即法”可能難以滿足全球多元法律和文化環(huán)境的需求。5.人類裁量和公正性

在許多法律情境中,法官的裁量權(quán)是確保公正的關(guān)鍵。智能合約的自動(dòng)執(zhí)行缺乏這種人為的裁量過程,可能導(dǎo)致機(jī)械化的判決,忽略了人性化和個(gè)案的特殊性。6.技術(shù)依賴與安全問題

過度依賴技術(shù)執(zhí)行合約可能引發(fā)安全問題,比如系統(tǒng)故障、網(wǎng)絡(luò)攻擊等都可能影響智能合約的正常執(zhí)行。此外,如果底層技術(shù)(如區(qū)塊鏈平臺(tái))本身存在缺陷,也可能導(dǎo)致智能合約的執(zhí)行出現(xiàn)問題?!癟he

dao”基金份額被盜事件回顧2016年6月,以太坊公鏈上發(fā)生“The

DAO”基金份額被盜事件黑客利用相應(yīng)智能合約代碼的漏洞,轉(zhuǎn)出了大量份額,獲取不當(dāng)?shù)美撀┒措[藏很深,事件爆發(fā)前無人知曉事件爆發(fā)后,圍繞黑客所得應(yīng)不應(yīng)追回,以太坊社區(qū)爆發(fā)激烈爭(zhēng)論,最終導(dǎo)致以太坊社區(qū)分裂,賬本分叉主張黑客所得不應(yīng)追回的人,依據(jù)就是Code

is

law以太坊分叉的緣由:著名的TheDAO事件“The

dao”背景DAO是一種基于區(qū)塊鏈的去中心化組織,它運(yùn)用智能合約來自動(dòng)執(zhí)行組織的決策和交易,無需傳統(tǒng)的管理結(jié)構(gòu)。2016年,一個(gè)名為“TheDAO”的項(xiàng)目通過以太坊平臺(tái)發(fā)起,旨在創(chuàng)建一個(gè)投資平臺(tái),允許以太坊持有者投票決定資金的投資去向。TheDAO吸引了大量投資,其眾籌活動(dòng)籌集了約1.5億美元的以太幣(ETH),成為當(dāng)時(shí)最大的眾籌項(xiàng)目之一?!癟he

dao”事件經(jīng)過2016年6月,一個(gè)未知攻擊者發(fā)現(xiàn)了TheDAO智能合約代碼中的一個(gè)漏洞,并開始利用這個(gè)漏洞抽取資金。具體而言,漏洞涉及到一個(gè)稱為“遞歸調(diào)用”的編程錯(cuò)誤。攻擊者通過創(chuàng)建一個(gè)子DAO,并請(qǐng)求將資金從TheDAO轉(zhuǎn)移到這個(gè)子DAO。在智能合約執(zhí)行這一操作的過程中,攻擊者利用遞歸調(diào)用的方法反復(fù)提取資金,而智能合約并沒有及時(shí)更新其內(nèi)部狀態(tài),導(dǎo)致資金被多次提取?!癟he

dao”結(jié)果此次攻擊導(dǎo)致價(jià)值約6000萬美元的以太幣被轉(zhuǎn)移到攻擊者控制的賬戶中。這一事件引發(fā)了社區(qū)的巨大爭(zhēng)議,尤其是關(guān)于如何處理這一問題。由于區(qū)塊鏈的去中心化和不可更改性,直接修改智能合約代碼或恢復(fù)資金都不是簡(jiǎn)單的任務(wù)。最終,以太坊社區(qū)決定通過一次硬分叉來解決這個(gè)問題,即在區(qū)塊鏈上進(jìn)行一次基本協(xié)議的修改,使得被盜的資金能夠被追回并退回給原來的投資者。這次硬分叉創(chuàng)建了兩條并行的區(qū)塊鏈:以太坊(Ethereum,ETH)和以太坊經(jīng)典(EthereumClassic,ETC)?!癟he

dao”影響TheDAO事件不僅顯示了智能合約和去中心化應(yīng)用(DApp)在安全性方面的潛在弱點(diǎn),也引發(fā)了關(guān)于區(qū)塊鏈治理、合法性和技術(shù)的脆弱性的廣泛討論。此外,這一事件也突顯了“代碼即法”原則的局限性,即便是在數(shù)字合同被認(rèn)為是不可更改和完全自動(dòng)執(zhí)行的環(huán)境中,現(xiàn)實(shí)中的法律、倫理和技術(shù)問題仍然可能導(dǎo)致需要外部干預(yù)的情況。這一事件至今仍被視為區(qū)塊鏈技術(shù)和智能合約發(fā)展史上的一個(gè)重要案例,對(duì)整個(gè)行業(yè)的發(fā)展和對(duì)智能合約的設(shè)計(jì)、審計(jì)和治理產(chǎn)生了深遠(yuǎn)影響。合約設(shè)計(jì)要點(diǎn)場(chǎng)景完整外部信息源可信角色利益關(guān)系詳盡邏輯簡(jiǎn)明合法合規(guī)智能合約的圖靈完備性阿蘭?圖靈:計(jì)算機(jī)科學(xué)的鼻祖圖靈機(jī)(TuringMachine)是圖靈在1936年發(fā)表的"OnComputableNumbers,withanApplicationtotheEntscheidungsproblem"(《論可計(jì)算數(shù)及其在判定性問題上的應(yīng)用》)中提出以他的名字命名的“圖靈獎(jiǎng)”,成為計(jì)算機(jī)科學(xué)界的最高榮譽(yù)二戰(zhàn)參加英軍譯碼工作天才需要被敬仰,偉人需要被銘記何謂“圖靈機(jī)”?…………帶讀寫頭狀態(tài)機(jī)通用可編程模型數(shù)字計(jì)算機(jī)基礎(chǔ)能行可計(jì)算函數(shù)一條無限長(zhǎng)的紙帶一個(gè)字符表一個(gè)讀寫頭一個(gè)狀態(tài)寄存器一個(gè)有限的指令集“算盤”VS“圖靈機(jī)”要重申一下,以上只是圖靈機(jī)模型的內(nèi)容,而非具體的實(shí)現(xiàn)。所謂的紙帶和讀寫頭都只是圖靈提出的抽象概念。為便于理解打一個(gè)比方。算盤雖然不是圖靈機(jī)(因?yàn)樗鼪]有無限長(zhǎng)的紙帶,即無限的存儲(chǔ)空間),但它的行為與圖靈機(jī)一致。每一串算珠都是紙帶上的一格,一串算珠上展示的數(shù)字便記錄著當(dāng)前格中的字符(可以是空白,可以是12345)。人類的手即是讀寫頭,可以更改每串算珠的狀態(tài)。算盤的運(yùn)行遵循人腦中的算法,當(dāng)算法結(jié)束,算盤停機(jī)。何謂“圖靈完備”?圖靈完備性(TuringCompleteness)是針對(duì)一套數(shù)據(jù)操作規(guī)則而言的概念。數(shù)據(jù)操作規(guī)則可以是一門編程語言,也可以是計(jì)算機(jī)里具體實(shí)現(xiàn)了的指令集。當(dāng)這套規(guī)則可以實(shí)現(xiàn)圖靈機(jī)模型里的全部功能時(shí),就稱它具有圖靈完備性。如今主流的編程語言(C++,Java,Python,以及等等等等)都是圖靈完備的語言。關(guān)于語言優(yōu)劣之爭(zhēng)也只是在其封裝、優(yōu)化等方面,以及因?yàn)檫@些區(qū)別而產(chǎn)生的“不同語言適用于不同情況”的爭(zhēng)執(zhí)。如果我們回到最底層,就會(huì)發(fā)現(xiàn)它們可以實(shí)現(xiàn)的功能其實(shí)完全一樣,并且本質(zhì)上就是一個(gè)圖靈機(jī)。并非所有的計(jì)算機(jī)語言都是圖靈完備的,例如標(biāo)記語言,或者更恰當(dāng)?shù)胤Q為“容器語言”、“數(shù)據(jù)描述語言”就不是圖靈完備的。例如(HTML、JSON、XML、YAML)直觀理解圖靈完備——Brainfuck語言“圖靈完備”VS“圖靈不完備”區(qū)塊鏈1.0區(qū)塊鏈2.0+BTC為代表,還有Ripple、LTC、狗狗幣等。稱之為可編程的數(shù)字貨幣應(yīng)用,涵蓋了支付,流通等能力采用的是腳本語言的可編程方式,是非圖靈完備、更安全ETH為代表,SOL、Polkadot等。智能合約采用的是圖靈完備的編程語言,能實(shí)現(xiàn)除支付之外的更多能力,金融、商業(yè)、游戲等更智能“三體”中的:人列計(jì)算機(jī)“三體”中的:人列計(jì)算機(jī)"朕當(dāng)然需要預(yù)測(cè)太陽的運(yùn)行,但你們讓我集結(jié)三千萬大軍,至少要首先向朕演示一下這種計(jì)算如何進(jìn)行吧?“秦始皇揮手召來了三名士兵,他們都很年輕,與秦國的其他士兵一樣,一舉一動(dòng)像聽從命令的機(jī)器。"我不知道你們的名字,"馮?諾伊曼拍拍前兩個(gè)士兵的肩,"你們兩個(gè)負(fù)責(zé)信號(hào)輸入,就叫‘入1’、‘入2’吧,"他又指指最后一名士兵,"你,負(fù)責(zé)信號(hào)輸出,就叫‘出’吧,”他伸手撥動(dòng)三名士兵,"這樣,站成一個(gè)三角形,出是頂端,入l和入2是底邊,“牛頓不知從什么地方掏出六面小旗,三白三黑,馮?諾伊曼接過來分給三名士兵,每人一白一黑,說:白色代表0,黑色代表1。好,現(xiàn)在聽我說,出,你轉(zhuǎn)身看著入1和入2,如果他們都舉黑旗,你就舉黑旗,其他的情況你都舉白旗,這種情況有三種:入1白,入2黑;入1黑,入2白;入1、入2都是白?!芭d奮中的馮?諾伊曼沒有理睬皇帝,對(duì)三名士兵大聲命令:"現(xiàn)在開始運(yùn)行!入1入2,你們每人隨意舉旗,好,舉!好,再舉!舉!"快來見識(shí)宏偉的”人列計(jì)算機(jī)”,一定讓你腦洞大開!()智能合約安全性問題智能合約的可信度源自其不可篡改性,一旦被部署上線便無法修改很多項(xiàng)目會(huì)公開智能合約源碼智能合約的開發(fā)過程存在紕漏智能合約中出現(xiàn)頻率最高的10類安全問題為分別:代碼重入、訪問控制、整數(shù)溢出、未嚴(yán)格判斷不安全函數(shù)調(diào)用返回值、拒絕服務(wù)(DenialofService,DoS)、可預(yù)測(cè)的隨機(jī)處理、競(jìng)爭(zhēng)條件/非法預(yù)先交易、時(shí)間戳依賴、短地址攻擊以及其他未知漏洞類型。智能合約安全性問題出于“代碼即規(guī)則”,智能合約一旦被部署便不可更改,即便有惡意交易被記錄下來,也不可以將其從區(qū)塊鏈中刪除。回滾交易的唯一方法是執(zhí)行硬分叉,即通過修改區(qū)塊鏈中的共識(shí)協(xié)議把區(qū)塊鏈中的數(shù)據(jù)恢復(fù)到過去某一狀態(tài),而這無法回避開發(fā)者客觀上存在濫用“專業(yè)壟斷”的質(zhì)疑,一定程度上沖擊了區(qū)塊鏈系統(tǒng)去中心化的理念。

因此必須在智能合約上線之前,對(duì)其進(jìn)行全面深入的代碼安全審計(jì)與測(cè)試,充分分析潛在的安全威脅,盡可能規(guī)避漏洞。

針對(duì)智能合約安全問題,應(yīng)該從開發(fā)人員使用安全庫進(jìn)行開發(fā)、安全團(tuán)隊(duì)開展合約測(cè)試、合約審計(jì)這三個(gè)角度采取措施。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論