亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        區(qū)塊鏈與智能合約圖譜分析

        2019-03-17 04:48:40王繼輝
        網(wǎng)絡(luò)空間安全 2019年11期
        關(guān)鍵詞:合約代碼可視化

        王繼輝

        (普華商業(yè)集團(tuán)有限公司,北京 100020)

        1 引言

        從百度百科上可以看到,智能合約(Smart Contract)是由美國法律學(xué)者尼克·薩博在1995提出來的,他在幾篇文章中提到了智能合約的理念與內(nèi)涵,主要描述為:“一個(gè)智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議?!?/p>

        從本質(zhì)上說,智能合約是一種特殊的計(jì)算機(jī)程序,它具有能夠根據(jù)事前設(shè)定的條約自動(dòng)執(zhí)行某些操作的能力。智能合約最早應(yīng)用在以太坊的平臺(tái)上,隨后成為所有區(qū)塊鏈平臺(tái)的標(biāo)配,被廣泛應(yīng)用在公鏈平臺(tái)與聯(lián)盟鏈平臺(tái)中。

        2 基于區(qū)塊鏈的智能合約

        2.1 傳統(tǒng)智能合約發(fā)展的制約因素

        智能合約出現(xiàn)初期重點(diǎn)是為了體現(xiàn)它的智能性,智能定義承諾以及協(xié)議,智能執(zhí)行協(xié)議,對(duì)于如何保證合約智能與安全卻沒有考慮周全,主要表現(xiàn)為:怎么避免使用第三方的方式轉(zhuǎn)賬;怎么保證雙方的合約不會(huì)被篡改。這兩個(gè)課題會(huì)影響到智能合約能否擁有廣泛的現(xiàn)實(shí)應(yīng)用基礎(chǔ)。

        2.2 傳統(tǒng)智能合約與區(qū)塊鏈結(jié)合分析

        區(qū)塊鏈技術(shù)是一種集分布式數(shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制以及加密算法等計(jì)算機(jī)技術(shù)為一體的新型應(yīng)用模式,區(qū)塊鏈的出現(xiàn)幫助智能合約回答了其面臨的兩個(gè)課題。

        首先,表現(xiàn)為區(qū)塊鏈技術(shù)擁有去中心化特點(diǎn),個(gè)體與個(gè)體之間進(jìn)行信息交換無需第三方的存在就可以完成交易,可以解決傳統(tǒng)智能合約擔(dān)心第一個(gè)課題。

        其次,區(qū)塊鏈?zhǔn)峭ㄟ^密碼學(xué)技術(shù)實(shí)現(xiàn)按照時(shí)間序列上鏈的數(shù)據(jù)具有不可篡改性,從而確保了智能合約中條約內(nèi)容的可靠,同樣解答了傳統(tǒng)智能合約擔(dān)心的第二個(gè)課題。

        2.3 基于區(qū)塊鏈的智能合約優(yōu)勢(shì)

        區(qū)塊鏈與智能合約的結(jié)合是一個(gè)完美組合,保證了區(qū)塊鏈?zhǔn)澜缗c現(xiàn)實(shí)世界的覆蓋映射,這也是智能合約成為區(qū)塊鏈標(biāo)配的最重要原因?;趨^(qū)塊鏈的智能合約除了可以解答傳統(tǒng)智能合約面臨的兩個(gè)課題,還可以讓智能合約在具體應(yīng)用上具有更多鮮明的優(yōu)勢(shì)效果。

        首先,是智能合約可以保證自動(dòng)化完成履約流程,高效便捷,避免人為的無謂干擾。因?yàn)橹悄芎霞s本質(zhì)上是一個(gè)自動(dòng)執(zhí)行的計(jì)算機(jī)程序,只要在智能合約中預(yù)設(shè)好業(yè)務(wù)規(guī)則以及觸發(fā)的條件,那么程序就會(huì)自動(dòng)按照約定完成履約并輸出結(jié)果,期間不需要其他人工的確認(rèn)與簽字蓋章。

        其次,是智能合約變得更加的安全性?;ヂ?lián)網(wǎng)如果是盾,黑客就是矛,黑客攻擊與滲透在互聯(lián)網(wǎng)上是非常普遍又讓所有人頭疼的事情,往往花費(fèi)了巨額資金仍舊不能確?;ヂ?lián)網(wǎng)系統(tǒng)的安全。而集成了區(qū)塊鏈技術(shù)的智能合約本身具有高度的加密性與抗抵賴性,比特幣從誕生到現(xiàn)在也沒有被黑客攻擊成功,充分說明了區(qū)塊鏈技術(shù)本身的安全性。同時(shí),區(qū)塊鏈上所有的合約執(zhí)行過程都被明明白白打包上鏈,分布式記錄到區(qū)塊鏈的分布式賬本中,不會(huì)出現(xiàn)錯(cuò)誤。

        最后,是智能合約擁有更低的使用成本。傳統(tǒng)依賴中介的業(yè)務(wù)模型中用戶為了達(dá)成交易是必須給中間商或者中介一大筆作為手續(xù)費(fèi)或者信息費(fèi)。而通過智能合約,只需要支付少量節(jié)點(diǎn)確認(rèn)費(fèi)用,這樣極大降低業(yè)務(wù)交易的費(fèi)用成本。

        3 技術(shù)應(yīng)用的本質(zhì)

        一門技術(shù)從誕生到落地應(yīng)用,都包含一系列推動(dòng)技術(shù)發(fā)展的內(nèi)因,易用性、實(shí)用性、靈活性與安全性四個(gè)方面是技術(shù)應(yīng)用演化的最強(qiáng)支撐。

        3.1 易用性

        一門技術(shù)要想應(yīng)用與推廣,首先要降低用戶學(xué)習(xí)新技術(shù)的難度,讓用戶覺得它比較容易上手使用,在使用的基礎(chǔ)上逐漸增加對(duì)技術(shù)的應(yīng)用與理解,區(qū)塊鏈與智能合約技術(shù)的發(fā)展趨勢(shì)也是如此。區(qū)塊鏈在發(fā)展過程中也是一度出現(xiàn)參與人數(shù)太少的現(xiàn)象,大量的傳統(tǒng)用戶并沒有直接轉(zhuǎn)移到區(qū)塊鏈業(yè)務(wù)與發(fā)展當(dāng)中,區(qū)塊鏈與智能合約技術(shù)入門門檻比較高是一個(gè)非常重要的原因,并且有很多用戶想學(xué)習(xí)區(qū)塊鏈也出現(xiàn)不知道如何下手的困境。所以說,技術(shù)要應(yīng)用,就需要把它打磨為一個(gè)操作難度低的技術(shù)。

        3.2 實(shí)用性

        一門技術(shù)能夠生存下來就必須有實(shí)用性,也就是要有被用戶所使用的功能與服務(wù),能夠解答具體可以應(yīng)用在哪個(gè)行業(yè)、哪種場(chǎng)合以及哪些人群。區(qū)塊鏈技術(shù)能夠被全球用戶接受是源于它可以構(gòu)建一個(gè)信任的機(jī)器,打通以前必須依賴信任才能完成的交易場(chǎng)合,智能合約作為區(qū)塊鏈技術(shù)的一部分,可以實(shí)現(xiàn)信任可編程的效果。

        3.3 靈活性

        技術(shù)有實(shí)用性還是不夠,還必須考慮到靈活性才能發(fā)展得更好。每一種場(chǎng)合、每一個(gè)人群面臨的需求都是多元化并且多變的,固定的技術(shù)實(shí)現(xiàn)很難滿足所有需求、覆蓋所有的用戶。技術(shù)在應(yīng)用推進(jìn)中,除了提供功能與服務(wù),還必須包含它的靈活性,能夠處理同一場(chǎng)景的多種情形,這也是技術(shù)發(fā)展的終極訴求之一,智能合約作為一種技術(shù),除了要特定的區(qū)塊鏈底層,還可以兼容更多的底層平臺(tái)。

        3.4 安全性

        安全性與技術(shù)相伴而生,有技術(shù)的地方就有安全風(fēng)險(xiǎn)。技術(shù)在發(fā)展功能與服務(wù)的同時(shí),還需要發(fā)展對(duì)應(yīng)的安全技術(shù),只有這樣沒有后顧之憂的技術(shù)才能擁有高速發(fā)展的可能。智能合約是一個(gè)為商務(wù)活動(dòng)而構(gòu)建的技術(shù),發(fā)生在其上面的商業(yè)行為包括交易與數(shù)據(jù),這兩塊對(duì)用戶來說都是非常重要的。所以說,智能合約要發(fā)展就必須回答它是如何保證安全的。

        4 智能合約的演化

        智能合約本來是一個(gè)獨(dú)立的信息技術(shù),跟區(qū)塊鏈技術(shù)結(jié)合后其智能特征得以充分發(fā)揮。區(qū)塊鏈智能合約是一個(gè)從以太坊平臺(tái)孵化出來的一個(gè)新事物,最近幾年也有了很大發(fā)展,其演化軌跡并不會(huì)脫離技術(shù)應(yīng)用的本質(zhì),主要呈現(xiàn)出多語言化、模板化、可形式化驗(yàn)證與合約類型多樣化等特征。

        4.1 多語言化

        智能合約最早在以太坊區(qū)塊鏈平臺(tái)上應(yīng)用,主要通過Solidity語言(盡管還有其他編程語言)來進(jìn)行智能合約腳本開發(fā),初期能夠會(huì)Solidity語言的全球只有幾百人,后來隨著以太坊與區(qū)塊鏈的火熱,參與Solidity智能合約的人才開始逐漸增加,但是跟整個(gè)IT市場(chǎng)的從業(yè)人群比起來,會(huì)編寫智能合約的人還是太少,大量的IT從業(yè)者要想開發(fā)智能合約只能去學(xué)習(xí)Solidity。為了讓更多的IT從業(yè)者可以參與智能合約的編寫與業(yè)務(wù)規(guī)則的實(shí)現(xiàn),智能合約平臺(tái)在原有Solidity的基礎(chǔ)上擴(kuò)展了對(duì)更多主流語言,甚至高級(jí)語言的支持,這樣可以讓多普通It從業(yè)人員也有了可以進(jìn)行智能合約編寫的可能性,大量熟悉Java、Go、Php等技術(shù)編程的開發(fā)人員都可以參與智能合約的開發(fā),由此推動(dòng)了區(qū)塊鏈從業(yè)人群的增加。

        4.2 合約模板化

        智能合約在與行業(yè)進(jìn)行結(jié)合時(shí),初期都是以區(qū)塊鏈項(xiàng)目的形式存在,隨著區(qū)塊鏈與智能合約發(fā)展的深度,應(yīng)用區(qū)塊鏈與智能合約的初始領(lǐng)域都主要集中在少量的幾個(gè)場(chǎng)景上,比如溯源、存證、監(jiān)管、積分、供應(yīng)鏈、協(xié)同、數(shù)據(jù)共享等,區(qū)塊鏈參與企業(yè)發(fā)現(xiàn)他們寫的智能合約都非常類似,然后經(jīng)歷項(xiàng)目實(shí)戰(zhàn)后剩余大量智能合約代碼,這些代碼經(jīng)過簡單的刪減與加工就變成了一系列合約化的模板。智能合約模板化,可以實(shí)現(xiàn)常見智能合約代碼都可以從模板庫中直接提取,這樣就大大降低了實(shí)際編寫智能合約的難度。

        4.3 可形式化驗(yàn)證

        智能合約的編寫是按照現(xiàn)有業(yè)務(wù)規(guī)則來進(jìn)行邏輯書寫,但是智能合約的編寫目的是為了行業(yè)應(yīng)用,一旦應(yīng)用到實(shí)際中必須考慮智能合約的安全性,智能合約要達(dá)到機(jī)器可信,就必須首先排除掉因人為因素而造成的智能合約破壞情形。智能合約形式化驗(yàn)證提供了一種可以證明的安全檢驗(yàn)機(jī)制,可以把市場(chǎng)上已經(jīng)出現(xiàn)的安全風(fēng)險(xiǎn)進(jìn)行排查與審計(jì),經(jīng)過審計(jì)后的智能合約代碼自然安全性就得到增強(qiáng),同時(shí)智能合約形式化驗(yàn)證也是目前對(duì)智能合約進(jìn)行安全保證最可靠的措施。行業(yè)應(yīng)用區(qū)塊鏈與智能合約,就需要進(jìn)行智能合約的形式化驗(yàn)證,消除安全隱患。

        4.4 合約類型多樣化

        以太坊平臺(tái)推動(dòng)了Token合約編程的進(jìn)程,隨著行業(yè)深入發(fā)展,智能合約也從單一合約類型向復(fù)雜合約類型方向轉(zhuǎn)移,智能合約的類型從單一的Token合約往數(shù)據(jù)型合約、功能型合約等方向轉(zhuǎn)移。早期在CSDN區(qū)塊鏈開發(fā)者大會(huì)上有專家專門提到這一點(diǎn),說明這一趨勢(shì)是基本認(rèn)同的,如圖1所示為智能合約的類型。

        5 智能合約的發(fā)展趨勢(shì)

        5.1 智能合約的趨勢(shì)特征

        智能合約與區(qū)塊鏈的有效結(jié)合幫助智能合約把其智能特性充分發(fā)揮出來,但是由于智能合約本身是一項(xiàng)信息技術(shù),那么它的發(fā)展也不會(huì)脫離技術(shù)應(yīng)用的演化規(guī)律,在趨勢(shì)上主要表現(xiàn)為:面向服務(wù)化、合約可視化、安全前置化以及合約通用化四個(gè)維度。

        圖1 智能合約類型

        5.1.1 面向服務(wù)化

        智能合約是為了實(shí)現(xiàn)機(jī)器可信而存在的,從零開始編寫智能合約腳本是費(fèi)時(shí)費(fèi)力的,而且只有專門的技術(shù)人員才可以完成,其對(duì)人員與編程語言的依賴性特別強(qiáng),智能合約模板化技術(shù)的出現(xiàn)在一定程度上提高了智能合約的編寫效率,降低智能合約出錯(cuò)的風(fēng)險(xiǎn)。一個(gè)技術(shù)能否得以發(fā)揮價(jià)值就看它與行業(yè)或場(chǎng)景結(jié)合的緊密程度,有多少個(gè)行業(yè)或者有多少個(gè)場(chǎng)景會(huì)利用這個(gè)技術(shù)就決定了這項(xiàng)技術(shù)能走多遠(yuǎn),現(xiàn)實(shí)世界面對(duì)的是一系列的商業(yè)活動(dòng),而這些商業(yè)活動(dòng)往往由一系列的服務(wù)商來提供,智能合約的趨勢(shì)也必然會(huì)往服務(wù)化方向演化,支持不同的服務(wù)商從服務(wù)視角出發(fā),把底層的不易理解的腳本型代碼轉(zhuǎn)化為可以一系列理解的服務(wù)與組件,然后根據(jù)業(yè)務(wù)需要進(jìn)行組件與服務(wù)的封裝,這樣就可以快速用智能合約去表達(dá)現(xiàn)實(shí)的一個(gè)業(yè)務(wù)場(chǎng)景或者業(yè)務(wù)活動(dòng),同時(shí)也可以讓智能合約本身更容易被行業(yè)所熟知與接受,打破區(qū)塊鏈很好但是行業(yè)不知道怎么去進(jìn)行結(jié)合的怪圈。

        智能合約服務(wù)化存在一個(gè)認(rèn)知上的誤區(qū),智能合約服務(wù)化不是簡單的給模板化的智能合約起一個(gè)好聽的服務(wù)名字,而是必須要按照標(biāo)準(zhǔn)服務(wù)與組件的規(guī)格形式統(tǒng)一的接口、輸入與輸出,讓不同服務(wù)可以實(shí)現(xiàn)相互的調(diào)用以及服務(wù)能力可更新,很類似技術(shù)語言中提到的面向過程與面向?qū)ο蟮乃枷雲(yún)^(qū)別。

        5.1.2 合約可視化

        程序代碼是開發(fā)人員的活動(dòng)領(lǐng)域,業(yè)務(wù)人員或者企業(yè)管理者往往無法直接參與其中,只能以業(yè)務(wù)需求的迂回形式提交給開發(fā)人員或者技術(shù)部門進(jìn)行具體實(shí)現(xiàn)。智能合約本身是一種由特定編程語言表達(dá)的程序代碼片段,還必須依賴響應(yīng)的虛擬機(jī)VM的解析執(zhí)行才能直觀的理解智能合約的真實(shí)邏輯,這種只有專業(yè)的技術(shù)人員才能看懂而熟悉業(yè)務(wù)規(guī)則的業(yè)務(wù)人員卻無法直接參與的情形其實(shí)并不利于區(qū)塊鏈與智能合約的發(fā)展與應(yīng)用。主要是因?yàn)榇罅啃枰悄芎霞s改造的業(yè)務(wù)、場(chǎng)景與機(jī)構(gòu),他們只能選擇排隊(duì)等著區(qū)塊鏈技術(shù)人員或者從業(yè)公司來提供區(qū)塊鏈服務(wù),這樣就無法調(diào)動(dòng)與發(fā)揮行業(yè)中自有的業(yè)務(wù)規(guī)則專家優(yōu)勢(shì)。合約可視化能力的存在就可以讓業(yè)務(wù)專家可以按照自身的實(shí)際進(jìn)行智能合約的設(shè)定、流程優(yōu)化,從而更容易做成適合當(dāng)前公司、當(dāng)前業(yè)務(wù)與場(chǎng)景的智能合約,充分體現(xiàn)了智能合約的個(gè)性化與因地制宜特性。擁有了可視化的智能合約,就能夠調(diào)動(dòng)業(yè)務(wù)與行業(yè)進(jìn)行區(qū)塊鏈的進(jìn)一步融合,推動(dòng)智能合約技術(shù)的進(jìn)一步發(fā)展,同時(shí)也實(shí)現(xiàn)底層技術(shù)研發(fā)公司與行業(yè)應(yīng)用的解耦,可以極大提升了企業(yè)與行業(yè)區(qū)塊鏈改造的進(jìn)程。

        5.1.3 安全前置化

        智能合約除了書寫代碼的限制,在實(shí)際應(yīng)用上還必須考慮安全,往往開發(fā)人員編寫完成的智能合約并不能直接用于生產(chǎn)環(huán)境,原因是智能合約是一種受限編程下形式的結(jié)果,代碼往往會(huì)存在不可預(yù)知的風(fēng)險(xiǎn)漏洞,這種漏洞一旦與用戶的價(jià)值資產(chǎn)關(guān)聯(lián),智能合約就不能隨便上鏈與發(fā)布,一旦發(fā)布智能合約,當(dāng)前合約就不能撤回,只能通過硬分叉的方式來解決。智能合約形式化驗(yàn)證與代碼檢查是一種人工與機(jī)器結(jié)合驗(yàn)證的方式,可以解決對(duì)大部分已經(jīng)出現(xiàn)的漏洞風(fēng)險(xiǎn)進(jìn)行探查與確認(rèn),從而可以避免編寫的智能合約中存在常見漏洞風(fēng)險(xiǎn)。

        在傳統(tǒng)狀態(tài)下,智能合約的形式化驗(yàn)證與審計(jì)成本很高的,平均每100行智能合約代碼就需要支付上萬元的安全審計(jì)費(fèi)用,如果業(yè)務(wù)或者行業(yè)需要大規(guī)模合約編寫與應(yīng)用就必須支付高額的成本,這樣是不利于行業(yè)的發(fā)展,有的企業(yè)會(huì)可能會(huì)因?yàn)榘踩杀具^高又走回到傳統(tǒng)技術(shù)的老路上。通過合約安全前置,讓智能合約不能直接編程,而是由特定工具來生成的,用戶只表達(dá)需求,而且生成的智能合約本身就包含安全檢查機(jī)制,可以讓生成的智能合約代碼就有安全檢查機(jī)制,可以有效降低安全費(fèi)用與企業(yè)運(yùn)用區(qū)塊鏈的成本,加速區(qū)塊鏈與智能合約的落地應(yīng)用。

        5.1.4 合約通用化

        服務(wù)化與組件化主要是在一個(gè)區(qū)塊鏈底層實(shí)現(xiàn)的標(biāo)準(zhǔn)化工作,跨平臺(tái)性是程序語言的一個(gè)發(fā)展方向,是要求智能合約能夠跨越不同的區(qū)塊鏈底層,并且在其上進(jìn)行運(yùn)行,即實(shí)現(xiàn)一處編寫,到處運(yùn)行。智能合約服務(wù)化已經(jīng)讓智能合約根據(jù)業(yè)務(wù)需要而靈活調(diào)整,無法從一個(gè)區(qū)塊鏈平臺(tái)走到其他區(qū)塊鏈平臺(tái),不同區(qū)塊鏈平臺(tái)都被孤島所控制,導(dǎo)致智能合約無法實(shí)現(xiàn)大規(guī)模的重用與共享,還必須借助技術(shù)人員進(jìn)行翻譯與合約映射工作,增加了智能合約落地的困難度,就好比某某企業(yè)特別喜歡一個(gè)用Php編寫的程序,但是其公司的員工都是Java技術(shù)人員,還必須一個(gè)翻譯才可以,要不然沒法進(jìn)行專業(yè)的維護(hù)與支持。合約通用化主要建立獨(dú)立于當(dāng)前底層的程序與合約,讓合約具有通用性,也是未來的一個(gè)重要發(fā)展趨勢(shì)。

        5.2 形式化智能合約技術(shù)

        形式化智能合約技術(shù)是一種智能合約可視化增強(qiáng)技術(shù),由普華集團(tuán)提出并啟動(dòng)研發(fā),是一種構(gòu)建在區(qū)塊鏈底層之上的面向服務(wù)的智能合約技術(shù)。形式化智能合約由可視化視圖、模板與庫、指令規(guī)則集、視圖轉(zhuǎn)化器、指令編譯器等內(nèi)容組成,可視化視圖是業(yè)務(wù)規(guī)則與數(shù)據(jù)定義的主要載體,模板是標(biāo)準(zhǔn)業(yè)務(wù)規(guī)則的主要載體,庫是業(yè)務(wù)規(guī)則的抽象實(shí)現(xiàn)指代,指令規(guī)則集是用于定義業(yè)務(wù)規(guī)則的邏輯與數(shù)據(jù)關(guān)系,視圖轉(zhuǎn)化器是用于實(shí)現(xiàn)代碼與視圖同步顯示,指令編譯器是用于根據(jù)業(yè)務(wù)規(guī)則定義來生成具體的智能合約代碼。它允許用戶通過類網(wǎng)頁表單的可視化界面來完成智能合約規(guī)則的可視化定義,然后在視圖轉(zhuǎn)化器的作用下可視化定義會(huì)自動(dòng)生成一個(gè)包含視圖定義以及規(guī)則定義的特殊代碼,再通過指令編譯器把這個(gè)特殊代碼翻譯成可以滿足具體區(qū)塊鏈底層平臺(tái)需要的智能合約代碼,也允許用戶使用視圖轉(zhuǎn)化器解析這個(gè)特殊代碼并以視圖形式展現(xiàn)出來,如圖2所示為形式化智能合約模塊圖。

        形式化智能合約通過可視化視圖接口讓普通業(yè)務(wù)人員編寫智能合約成為可能。傳統(tǒng)的區(qū)塊鏈體系下,編寫智能合約的人員一般是區(qū)塊鏈從業(yè)人員或者特定的技術(shù)群體,那些懂得業(yè)務(wù)邏輯,但是不懂技術(shù)的業(yè)務(wù)人員是無法直接參與到智能合約的編寫分工當(dāng)中,很大程度上業(yè)務(wù)人員只是業(yè)務(wù)配合。形式化智能合約可以讓智能合約的編寫不再是技術(shù)人員的特有專利。

        形式化智能合約提供了一種面向服務(wù)定義智能合約的能力。傳統(tǒng)的智能合約編寫都是在腳本編輯器下逐行書寫智能合約代碼,看到的全是面向過程的開發(fā)模式,無法讓智能合約編寫人員可以從業(yè)務(wù)整體角度去思考業(yè)務(wù)規(guī)則如何編寫,而是一下子調(diào)用具體細(xì)節(jié)的編碼當(dāng)中,無法從全局角度去思考一個(gè)智能合約如何進(jìn)行規(guī)劃與設(shè)計(jì),容易出現(xiàn)考慮問題不周全的現(xiàn)象。

        形式化智能合約提供一種能夠兼容所有區(qū)塊鏈平臺(tái)智能合約的方式,可以實(shí)現(xiàn)智能合約在區(qū)塊鏈平臺(tái)上的統(tǒng)一。通過形式化智能合約編寫的智能合約既可以運(yùn)行在ETH,也可以運(yùn)行在EOS,本身并不需要修改代碼,只要在編譯時(shí)選擇支持智能合約的區(qū)塊鏈底層是誰即可,對(duì)于需要遷移智能合約的用戶需求,將變得非常容易。

        圖2 形式化智能合約模塊圖

        形式化智能合約提供了一種業(yè)務(wù)開放能力,能夠最大限度地兼容各種復(fù)雜的應(yīng)用場(chǎng)景。業(yè)務(wù)模板與業(yè)務(wù)規(guī)則庫是一個(gè)可以自定義或擴(kuò)展的體系,通過編寫業(yè)務(wù)模板可以實(shí)現(xiàn)快速完成一個(gè)業(yè)務(wù)型智能合約的編寫,通過規(guī)則庫可以簡化智能合約代碼,讓智能合約的實(shí)現(xiàn)細(xì)節(jié)轉(zhuǎn)移到指令編譯器中去完成,方便了用戶書寫與管理智能合約的難度,又讓智能合約的能力具有很強(qiáng)的業(yè)務(wù)開放性,可以滿足迎合不同應(yīng)用場(chǎng)景的需要。

        形式化智能合約降低因智能合約審計(jì)帶來的成本壓力與審計(jì)風(fēng)險(xiǎn)。形式化智能合約是一系列的指令集與數(shù)據(jù)構(gòu)成特殊代碼,這些代碼的生成是收縮在特定的視圖條件下,不是自由編程,所以這塊代碼使用的業(yè)務(wù)規(guī)則與實(shí)現(xiàn)本身是進(jìn)行過安全檢查,并且形成具體智能合約的過程也是進(jìn)行安全轉(zhuǎn)化的過程。在形式化智能合約體系下,去安全審計(jì)是一個(gè)發(fā)展趨勢(shì),從而可以有效降低因?yàn)橹悄芎霞s安全審計(jì)而產(chǎn)生的費(fèi)用問題。

        5.3 形式化智能合約的應(yīng)用場(chǎng)景分析

        傳統(tǒng)的抽獎(jiǎng)系統(tǒng)存在很大的信息不公開透明性,很多組織者往往會(huì)因?yàn)槔娴目紤]而虛構(gòu)中獎(jiǎng)?wù)吲c中獎(jiǎng)信息,結(jié)果既辜負(fù)了廣大用戶的信任,又給組織者帶來品牌的傷害,基于區(qū)塊鏈的抽獎(jiǎng)系統(tǒng)就可以很好地解決這一問題,目前一些比較先覺的區(qū)塊鏈廠商已經(jīng)開始嘗試做類似的業(yè)務(wù)。

        現(xiàn)階段開發(fā)區(qū)塊鏈版的抽獎(jiǎng),有機(jī)構(gòu)做成一個(gè)網(wǎng)頁表單,用戶可以按照他們的預(yù)設(shè)字段來填寫(比如獎(jiǎng)品信息、數(shù)量等),然后提交就生成一個(gè)新的智能合約,對(duì)用戶來說簡單,但是用戶沒有修改權(quán),只有創(chuàng)建權(quán),導(dǎo)致抽獎(jiǎng)系統(tǒng)不能體現(xiàn)用戶的差異化功能需求與個(gè)性化顯示考慮,比較死板;還有機(jī)構(gòu),直接提供一個(gè)以前開發(fā)的Solidity的抽獎(jiǎng)代碼,可以直接在那上面修改,然后再生成一個(gè)新的合約進(jìn)行發(fā)布,并且只適用于以太坊等特定的區(qū)塊鏈網(wǎng)絡(luò)環(huán)境,沒有考慮通用性。

        形式化智能合約實(shí)現(xiàn)抽獎(jiǎng)邏輯與上面的方式有很大的不同:允許用戶通過可視化界面選擇要?jiǎng)?chuàng)建的合約類型,選擇拖拽自己需要的組件,定義自己需要的字段與信息格式,關(guān)聯(lián)中獎(jiǎng)算法庫,最后一步生成具體的形式化智能合約代碼,選擇不同的平臺(tái)就可以把形式化智能合約代碼翻譯為具體區(qū)塊鏈平臺(tái)的合約代碼,這個(gè)合約代碼是自動(dòng)進(jìn)行安全審計(jì)并且按照標(biāo)準(zhǔn)范式進(jìn)行生成,有很好的安全性,最后選擇發(fā)布到具體區(qū)塊鏈網(wǎng)絡(luò),此時(shí)智能合約就創(chuàng)建完成,如果想推送到其他區(qū)塊鏈網(wǎng)絡(luò),只要更換一下發(fā)布的區(qū)塊鏈網(wǎng)絡(luò)即可。對(duì)于形式化智能合約的應(yīng)用方式,可以幫助用戶更加個(gè)性化與可視化的創(chuàng)建抽獎(jiǎng)智能合約,又可以靈活選擇要發(fā)布的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),對(duì)于生成的代碼又自動(dòng)進(jìn)行安全審計(jì)控制,具備簡單、靈活、安全、應(yīng)用廣泛等特點(diǎn),是未來更有潛力的一個(gè)技術(shù)實(shí)現(xiàn)方式。

        6 結(jié)束語

        最近3年是區(qū)塊鏈底層技術(shù)推陳出新的重要時(shí)期,國內(nèi)外技術(shù)研發(fā)機(jī)構(gòu)大量涌現(xiàn),上鏈技術(shù)與數(shù)字身份技術(shù)發(fā)展迅速,2020年智能合約必將迎來它快速發(fā)展的階段,形式化智能合約技術(shù)作為智能合約中的亮點(diǎn)技術(shù),必將迎合發(fā)展趨勢(shì),成為行業(yè)大力研究與發(fā)展的重要趨勢(shì)。形式化智能合約技術(shù)可以塑造一個(gè)全新的應(yīng)用場(chǎng)景群,通過可視化能力、組件與庫等多種能力,通過形式化智能合約未來將能夠模擬靜態(tài)站點(diǎn)和動(dòng)態(tài)站點(diǎn)的業(yè)務(wù)邏輯,從而可以改變?cè)械幕ヂ?lián)網(wǎng)信息組織模式,可以讓很多網(wǎng)站因?yàn)樾问交悄芎霞s的引入而自動(dòng)變?yōu)橐粋€(gè)區(qū)塊鏈網(wǎng)站。

        猜你喜歡
        合約代碼可視化
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        基于CGAL和OpenGL的海底地形三維可視化
        “融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        合約必守,誰能例外!——對(duì)“情勢(shì)變更”制度不可寄于過高期望
        国产99久久久国产精品~~牛| 国产精品视频免费的| 国产精品久久无码免费看| 男女午夜视频一区二区三区| 亚洲av综合色区一区二区| 成人国产一区二区三区| 久久精品国产69国产精品亚洲| 狠狠躁狠狠躁东京热无码专区| 国产三级黄色的在线观看 | 国产精品第一区亚洲精品| 国产av精品麻豆网址| 久久天天躁狠狠躁夜夜av| 日日av拍夜夜添久久免费| 免费va国产高清不卡大片| 亚洲无人区一码二码国产内射| 国产白浆在线免费观看| 久久9精品区-无套内射无码| 精品国产黑色丝袜高跟鞋| 国产免费的视频一区二区| 亚洲岛国一区二区三区| 亚洲熟妇色自偷自拍另类| 久久久久久伊人高潮影院| 久久久久久久尹人综合网亚洲| 国产情侣自拍偷拍精品| 亚洲av精二区三区日韩| 国产精品亚洲欧美大片在线看| 亚洲AⅤ永久无码精品AA| 日韩乱码精品中文字幕不卡| 国产精品高清视亚洲乱码| 野外亲子乱子伦视频丶| 成年男女免费视频网站| 少妇特殊按摩高潮不断| 亚洲美女毛多水多免费视频| 国产欧美日韩一区二区三区| 中字幕久久久人妻熟女| 在线观看免费人成视频国产| 久久人妻一区二区三区免费| 国产ww久久久久久久久久| 囯产精品无码va一区二区| 国产啪啪视频在线观看| 精品人妻va一区二区三区|