以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > Gateio > Info

知道創宇周啟鵬:未來智能合約涉及行業會更廣、邏輯復雜度更高、非開發者也能輕松編寫 | 區塊鏈P.O.D大會_DAO:GAS

Author:

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

9月5日,由Odaily星球日報主辦、36Kr集團戰略協辦的P.O.D大會在北京舉行。知道創宇解決方案部負責人周啟鵬應邀在大會安全論壇上發表題為《智能合約安全現狀與未來》的演講。

在分享中,周啟鵬較為系統的介紹了智能合約的產生及應用,安全事件以及安全風險分析,并提出隨著智能合約在社會化大規模應用中應對智能合約安全的策略。周啟鵬表示,未來智能合約社會化應用的難點主要有三個:一是隨著“區塊鏈+”浪潮的到來,涉及的行業將越來越廣;二是行業應用所需的合約復雜度越來越高;三是未來的智能合約,除開發者外非開發者也可以編寫,這將給智能合約的安全帶來很大挑戰。對此,知道創宇“404”安全實驗室研發了一套智能合約驗證系統“昊天塔”。該系統和公鏈、聯盟鏈等團隊深入合作,以提供應用層的安全防護能力,支撐智能合約數量和邏輯復雜度不斷增加的應用場景。以下為演講全文,enjoy:我今天的演講分為四個部分,第一個是探討一下智能合約發生了哪些引發我們思考的安全事件,為什么我們要開始討論智能合約的安全。第二部分會對智能合約的安全風險做一個簡單總結,把這個問題向大家做一個描述。第三部分是區塊鏈+應用的情況下智能合約安全又是怎樣的。最后一個是未來的智能合約要如何做,我們也提出了自己的想法和建議。首先是看智能合約安全的現狀。在此之前我想先解釋一個名詞——智能合約。智能合約是區塊鏈的核心技術之一。之所以稱作智能合約,是因為智能合約在區塊鏈當中是一段能夠自動化執行的程序代碼,嵌在區塊鏈的頂層架構上。所以我們可以簡單的理解為,如果把區塊鏈技術比作現在大家都用智能手機操作系統,或者說區塊鏈底層的技術可以認為是一個網絡分布式的操作系統,智能合約就可以理解為是這個網絡分布式操作系統中所運行的程序。所以智能合約是一個以信息化的方式傳播,驗證和執行合同的協議。智能合約基于區塊鏈去中心化的特性,允許在沒有第三方的情況下進行可信的交易,同時這些交易是可以追溯、不可逆的,這些因素促進了智能合約技術的發展。智能合約的最終目的是提供比原來紙質合同,或者說合同文本更優的安全方案,同時減少雙方毀約和因此產生的糾紛,可大大提高交易的效率。要追溯歷史的話,這個概念是1994年的時候由科學家尼克·薩博提出來的。當時互聯網還是一個雛形,只是提出智能合約這樣一個設想。2008年區塊鏈1.0版本誕生,提供一個天然可信環境,但是這個環境缺失一些東西,沒有能夠對外提供更多可以被第三方執行和調用的接口,所以可以說區塊鏈1.0只支持一些簡單的指令,到2014年區塊鏈2.0版本發布,這個時候就在具備區塊鏈1.0可信環境屬性同時,開始支持圖靈完備,設計了可供開發者調用和執行的接口,提供了與應用場景解決的可能性。接下來我們可以回顧下智能合約真正被運行起來后,產生的對整個歷史進程影響比較大的安全事件,這就是發生在2016年,以太坊中的DAO事件。2016年6月15日,攻擊合約被創立。6月17日,攻擊開始,VitalikButerin得知攻擊消息后立刻通知了中國社區。theDAO監護人提議社區發送垃圾交易阻塞以太坊網絡,以減緩DAO資產被轉移的速度。隨后V神在官方博客發布公告。解釋了被攻擊的一些細節以及提出軟分叉解決方案,不會有回滾。不會有交易和區塊被撤銷。軟分叉將從塊高度1760000開始把任何與theDAO和childDAO相關的交易認做無效交易,以此阻止攻擊者在27天之后提走被盜的資產。這之后會有一次硬分叉將資產找回。我們看一下合約的本身是怎么被攻擊的。首先左邊是DAO智能合約的代碼片斷,這里邊寫了一個withdraw函數,右邊是黑客攻擊合約的代碼片段,這個攻擊合約在執行的時候,可以通過外部直接調用的方式調用DAO智能合約的withdraw函數,一層一層不斷執行不斷遞歸調用,使得黑客可以通過合約外部調用方式用攻擊合約把原合約很多數字資產做了轉移,由此引發DAO事件。最大的影響莫過于對以太坊這條公鏈,因為產生了一個硬分叉。接下來分析一些智能合約的安全風險。先跟大家交流一下智能合約代碼方面的特性,我總結了四類:第一個是賬戶的設計,智能合約一共設計了兩種賬戶,一種是外部賬戶,由公私鑰體系做控制,另一種叫做合約賬戶,是由代碼本身控制。第二個是在區塊鏈2.0上還有個叫gas的東西。合約代碼越復雜的時候,我在執行這個合約過程中所需要花費的gas越多。這就產生一個問題,如果調用者提供的gas不足,這個合約里面已經執行的代碼是會被回滾的,這個合約調用者也可以設計自己本身的gasPrice,礦工優先處置gasPrice較高的交易,所以gasPrice如果設計的比較低,或者設計的太高了等等這樣一些方式,都是不合理的。接下來是函數,一共涉及幾種函數,第一個是fallback函數,同時設計transfer、send、call.value等等這樣接收資金的函數,同時還有一個selfdestruct這樣一個函數去做合約。最后是函數調用方面,類似于傳統的調用方式。接著我們來看智能合約語言的特性。

FilDA已通過知道創宇安全審計:據FilDA社區消息,知道創宇近日已完成FilDA智能合約項目的安全審計服務。 據介紹,據了解,FilDA,是首個基于火幣生態鏈HECO的跨鏈借貸項目,旨在打造領先的H系資產+以太坊+ELA等多鏈資產的去中心化金融綜合服務平臺。

FilDA于2021年1月5日晚20:00開啟創世挖礦,目前已上線火幣錢包、TokenPocket錢包、Bitkeep錢包。1月13日20點將首發HPT借貸功能并在CircleSwap開啟流通性質押挖礦。截止2021年1月12日,TVL突破1400萬USDT。[2021/1/12 16:00:17]

這個語言當中本身涉及的函數默認可見性是public,只要寫出一個合約,函數如果沒有設計權限,對于用戶來說都是公開的public。第二個里面涉及大量數值運算內容。第三個是設計三種異常處理方式,require、assert或者revert這三種。它們各有區別,require一般是寫在函數前面,用來檢查輸入的變量和合作狀態變量是否滿足條件,如果滿足條件的話才會去執行。assert這個函數,從開發者角度會寫在函數的尾部,用來檢查函數的內部錯誤,如果出現錯誤就會強制停止。revert函數更特殊一些,遇到一些無效代碼,會回滾之前所有的狀態。這三個函數還有一個區別,revert可以返回,合約如果沒有執行的話,這個gas是不需要付的。剛才講到了,合約本身是有一個外部賬戶和合約賬戶的區分,所以智能合約風險第一個也是我們認為比較常見的問題,叫做訪問控制的問題。訪問控制函數應該設定成只有特定的用戶才能夠調用這樣一個情況。我是合約的用戶者才能夠調用一些挖礦函數,但是我們在代碼過程當中能夠看到,黑客這邊可以通過寫惡意合約或者寫攻擊合約來提升自己權限,使人人都可以成為一個合約擁有者,這樣無形當中把整個合約內容函數,或者叫做合約賬戶函數暴露在外面,就產生后面一系列問題。下面舉一個Owner構造函數的錯誤例子。

BitSG幣星與知道創宇云安全達成長期合作:據幣星官方5月8日最新消息:因黑客數日連續對BitSG官網及APP進行不間斷的DDOS攻擊,為打消黑客氣焰、保障用戶資金安全。新加坡BitSG幣星現已與知道創宇云安全達成長期合作。

知道創宇云安全是騰訊集團投資企業,主打安全代維、日志分析服務、駐場支撐服務、專家報告服務、應急響應服務和安全重保服務。通過積累+融合,打造云安全技術生態。

新加坡幣星交易所在此次遭受攻擊中,通過與知道創宇云安全合作,抵御了網絡黑客的攻擊,成功保障了平臺用戶資金財產安全、隱私不受侵害。[2020/5/8]

構造函數在部署合約的時候才調用,并且本身不上鏈。普通函數則是能夠被任意調用,同時代碼也寫在區塊鏈當中。大家應該理解一個情況,數據也好,合約也好,一旦上鏈,都是被允許查看的,所以普通函數寫在鏈上之后可以被任意的團隊,可以被惡意黑客或者被白帽子參考和研究。下面做一個簡單的代碼梳理,這邊寫了一個構造函數Owner,下面這個函數定義的function中,大家能夠看到這個Owner函數的大小寫變了,由于大小寫原因書寫錯誤,導致了這樣一個構造函數變成了一個普通的公有函數。接下來我們整理了一下智能合約中我們認為目前出現安全風險比較大的四個原因。首先第一個是智能合約在整個區塊鏈的架構當中,屬于中間協議層的最上層,在上面是我們所謂的分布式應用,所以出現的位置是位于上層應用,上層應用本身出現安全問題的概率,按照以往基于windows操作系統的應用出現問題概率相對會高一些。第二個是語言的發展時間很短,語言本身不夠完善。到目前為止,這個語言版本大概在0.4.24,一般能夠公開發布的開發語言版本可都是在V1.0或者V1.1等等,所以說從版本本身發展來說還需要一個很長階段。第三個問題屬于國內項目方這邊,目前經驗不是很充足,語言本身發展時間又很短,基于solidity這個語言產生的示例或范示標準文件比較少,包括官方發布的也存在問題,所以導致開發人員經驗更少,又不熟悉語言特性,會拿傳統開發互聯網的軟件開發區塊鏈,缺乏安全經驗導致問題出現。最后就是目前并沒有一個智能合約代碼審核的完善標準,這個標準沒有的話,實際上其實還有很多事情大家都是不清楚的,就會產生更多的奇奇怪怪的問題。接下來一個是展示一下開源項目DAPS統計以及公布的分布式應用的安全問題。有遞歸調用漏洞,訪問控制,整數溢出,未檢查底層調用,錯誤隨機等等這樣十個類。最后一個原因是智能合約本身也是頂層應用,包括本身的安全問題都還有很多未知未覺的領域存在,需要更多項目方,更多的白帽子,更多安全廠商一起努力,不斷使技術,還有上層應用更加健壯,為更多社會化應用服務。接下來想把我們智能合約未來應用的場景做一個大的猜想,或者做一個預期。首先現在結合我們社會化的應用來說,區塊鏈也好,智能合約也好,其實已經和我們生活當中一部分事情結合在一起了。首先第一個金融屬性,像之前螞蟻金服在香港的新聞,利用區塊鏈技術做跨境匯款,包括現在保險、證券、股權登記這樣一些原有金融領域的應用,現在已經慢慢出現雛形了。第二個物聯網應用,現在基于區塊鏈的物聯網、汽車租賃應用也逐漸出現。第三個供應鏈,上午百度介紹的時候,針對百度百科的文件編輯溯源也在落地建設過程當中。能源領域點對點的便利共享的領域,包括公共服務領域,針對我們文化、教育、產權、醫療等等這樣一些領域逐漸出現了。下面做幾張圖的展示,首先介紹一下傳統匯款和區塊鏈匯款的差別。在傳統匯款當中,境內都還好,速度很快,但是一旦涉及到境外的跨境匯款效率非常低,這里面涉及到一個問題,叫做中間銀行和清算網絡,作為一個中心化機構解決信任問題,導致效率會有所降低。如果把這個場景放到區塊鏈上,用智能合約實現的話,通過鏈本身的去中心化信任的機制,資產轉移的就可以用智能合約實現,從資產結算任何時間結算,包括資產轉移,上次螞蟻金服那邊在做的時候,從菲律賓匯款到香港大概用了幾十秒時間。第二個應用在傳統供應鏈金融,我們已經看到國內有一些機構大膽用區塊鏈技術嘗試物品溯源,比如之前曝光的疫苗事件。雖然疫苗生產廠商作為源頭無法通過區塊鏈技術進行控制,但是疫苗整個在冷鏈運輸,在各個監督站各個醫院的數據都可以上傳,防止中間有一些個人的惡意行為,導致在傳播當中數據的丟失和篡改。第三個針對傳統物流,原來傳統物流有很多痛點,互相不信任,之前用淘寶的時候最大的問題到底是買方先付錢還是賣方先發貨,后來出現了支付寶為來解決第三方信任問題,買房把錢給中間平臺。如果有區塊鏈能夠和網購支付場景結合的話,互不信任這個問題可以解決,買方可以在收到貨的這一刻,訂單信息就會在鏈上做數據提交,這個時候買方賬戶里面的錢就可以通過智能合約方式直接打到賣方賬戶上面去,包括訂單被篡改風險,還有隱私信息,包括現在大家遇到快遞信息泄露個人隱私,將來都可以上鏈的話,大家面對的都是在鏈上隱藏數據的信息身份。還有針對疫苗,針對醫院,針對醫療體系,從每一個藥廠藥品信息上鏈,藥房售賣藥片都是可以在鏈上確認的,患者也可以和醫生做關聯,甚至可以用一個APP知道這個人的健康信息,包括歷史服藥信息,在哪些醫院檢查,都是能夠被查到的。前面做了一些大膽的幻想,下面看一下未來智能合約會是一個什么狀態。第一個是區塊鏈+應用,在未來可能涉及的行業特別廣泛,剛才上午百度區塊鏈的平臺介紹了幾個特點,第一個和版權結合,我們現在很多商用圖片都會上鏈,包括未來可能會有數字音樂版權,數字電影版權都會上鏈,包括像郵政、游戲等等,和我們生活的結合越來越深,涉及的行業也越來越廣。第二個是隨著行業越來越多,每個行業都有每個行業的特點,所以行業應用復雜度越來越高,現在智能合約的代碼是300行到500行,將來智能合約應用,一個合約可能有幾千或者上萬行代碼,代碼邏輯越復雜,產生的邏輯漏洞,安全威脅肯定會越多。最后一個場景是開發者現在還比較少,未來的開發者越來越多,越來越成熟,將來提供很多智能合約的應用,不僅僅是對開發者,也可能對更多普通的民眾開放。我們的民眾就可以像現在用APP一樣,簡單輸入一些數據,輸入一些數量或者輸入一些價格,就可以自發產生智能合約,后面其實是公鏈方針對智能合約、對自己項目所起的標準,這樣的人越來越多。所以他們所產生的問題越來越多,通過目前的使用方式就不現實了。我們知道創宇404實驗室也是結合之前介紹的,未來預計會有更廣泛更復雜的應用,還有更多的智能合約的場景,我們設計研發了一套智能合約智能驗證的系統,能夠在結合人工審計情況下,更多通過自動化智能化,通過AI方式和很多的公鏈項目方一起深入的結合,通過深度結合方式,對整個鏈產生的智能合約標準,和未來所產生智能合約使用的應用,讓他們更健康更健壯一些,減少所出現的安全漏洞,讓這些智能合約能夠給我們生活帶來便利性的同時,減少經濟上的損失。后面這兩個是我們現在目前內部版本的截圖,把名字定義為叫做昊天塔,通過這樣一個產品,或者這樣一個系統,來為更多智能合約開發者和使用者提供安全的服務和保障。今天介紹暫時到這里,希望后續有關心的技術方面的同學或者是項目方,如果有興趣大家在一起多多交流,謝謝大家。

聲音 | ShapeShiftCEO:礦工知道10年后會有多少個比特幣,但FED不會知道有多少美元:ShapeShift首席執行官Erik Voorhees近日發推:比特幣礦工知道10年后會有多少個比特幣存在。但是美聯儲(FED),加上政府支持的力量,也不知道10年后會有多少美元存在。[2019/10/21]

Shapeshift CEO:比特幣與央行一樣少有人知道其如何運作 卻一直在被使用:Shapeshift的首席執行官Erik Voorhees在其社交媒體發文稱:“現在有許多人質疑比特幣是如何運作的,并且因為比特幣的不確定性而遠離它。然而與此同時,這些人中沒有一個人知道中央銀行的業務是如何運作的,但卻毫無疑問地一直在使用它。[2018/3/22]

美國出現一種新型欺詐手段“知道你外遇的事實,給我寄比特幣”:根據24號(當地時間)CNBC的報道,在美國境內美國男性受到外遇威脅,并要求比特幣付款的新型詐騙手段。調查顯示這種欺詐造成的損失數額在全國范圍內是巨大的。[2018/1/25]

Tags:區塊鏈比特幣DAOGAS區塊鏈通俗易懂的說法比特幣匯率最高的時候Bidao Smart Chaingas幣騙局

Gateio
解決內容價值分配問題,FEED 想通過 “AI+區塊鏈” 實現去中心化的內容存儲與分發_FEED:FAIR

在內容存儲與分發的市場上,一直以來是中心化的方式。今日頭條通過算法改變內容分發方式,但其模式依然是中心化的。這樣的模式存在許多問題.

1900/1/1 0:00:00
比特幣區塊鏈上的交易是如何進行的?| 區塊鏈課堂第6問_CASH:TOK

編者按:本文來自哈希派,作者:不碎,星球日報經授權轉載。在日常生活中,“交易”本質上就是指資產所有權的轉移。因此比特幣交易,實際上也可以稱之為是,記錄在區塊鏈當中的比特幣所有權的轉移.

1900/1/1 0:00:00
浙江省出臺計劃,圍繞區塊鏈等領域深化“一帶一路”合作_區塊鏈:區塊鏈怎么入手

日前,浙江省發布了《浙江省標準聯通共建“一帶一路”行動計劃》。在計劃里提出,在十個領域進行標準化合作,如在產業、外貿、金融、醫藥、政務服務等方面.

1900/1/1 0:00:00
17家上市金融公司搶灘區塊鏈,供應鏈成為區塊鏈落地最集中的領域_FIL:超級聯盟鏈幣怎么獲得

據證券日報報道,A股市場上,至少有17家金融機構在半年報中披露出區塊鏈技術最新動向。在應用場景中,“區塊鏈+供應鏈金融”成為最主流的組合,已落地多款服務平臺.

1900/1/1 0:00:00
給遺囑來一份區塊鏈“安全鎖”,真假遺囑、篡改遺囑等問題要被消滅了?_區塊鏈:ARB

據新京報消息,9月27日,“中華遺囑庫”上線“遺囑司法證據備案查詢系統”,該系統將中華遺囑庫登記系統對接到司法電子證據云平臺.

1900/1/1 0:00:00
區塊鏈投資:是重新配置組合還是長持?_HODL:區塊鏈dapp開發公司

編者按:本文來自medium.com,作者:ShrimpyAPP,由藍狐筆記公眾號社群“Anthony”翻譯,星球日報經授權發布.

1900/1/1 0:00:00
ads