加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > DOGE > Info

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

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這樣一個函數去做合約。最后是函數調用方面,類似于傳統的調用方式。接著我們來看智能合約語言的特性。

FTX現任領導層:SBF與其他高管在收購Embed時就已知道Alameda資不抵債:金色財經報道,FTX現任領導層稱,SBF和其他高管在完成以近2.5億美元收購股票清算平臺Embed 的交易時就知道Alameda Research資不抵債。FTX破產律師希望收回資金,理由是 Alameda 在 9 月下旬完成交易時已經資不抵債,而且同樣由SBF控制的投資基金和姊妹公司 West Realm Shires 支付了 Embed 一筆虛高價格,該訴訟是為了在破產程序中最大限度地償還 FTX 和 Alameda 自己的債權人。[2023/5/18 15:11:01]

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

億萬富翁Peter Thiel:我可能知道中本聰在哪:金色財經報道,PayPal聯合創始人、億萬富翁風險投資家PeterThiel周三披露,他可能知道去哪里尋找比特幣的神秘創始人中本聰,甚至可能在多年前遇到過中本聰本人,只是當時并沒有意識到。PeterThiel的這一猜測源于二十一年前他與E-Gold的創始人們的會面,E-Gold是一種創立于1996年的私人數字貨幣,在2007年4月被美國司法部起訴后,現已被取締。Thiel說,2000年2月,他在加勒比海安圭拉島的海灘上遇到了他們。當時,他們討論了如何讓PayPal與E-Gold實現互操作,以“摧毀所有央行”。蒂爾是PayPal的聯合創始人。他表示:“我對中本聰身份的推測是,中本聰當時就在安圭拉的海灘上。”事實上,他認為中本聰可能是當時在海灘上的大約200人之一。他還稱,中本聰可能從E-Gold的錯誤中吸取了教訓,因為他在名為《比特幣:點對點電子現金系統》的論文列出了比特幣的使用案例。中本聰可能是一個人,也可能是一群人。他在2008年萬圣節前后發表了最后一篇論文《比特幣:點對點電子現金系統》,概述了加密安全、去中心化的點對點數字支付系統的原理。在那之后,就再也沒有了中本聰的消息。Thiel說:“比特幣是E-Gold的答案,中本聰認識到,你必須匿名,你必須沒有公司。即使是一家公司,哪怕是一種公司形式,也與政府聯系太緊密了。”但這位億萬富翁澄清道,他并沒有花太多精力去查明比特幣創始人的真實身份,這與加密貨幣領域的一些人所做的相反。(新浪美股)[2021/10/22 20:48:52]

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

以太坊開發者Virgil Griffith聲稱其并不知道被指控的具體罪名:12月11日消息,以太坊開發者Virgil Griffith的律師已于過去的一周提交了文件,聲稱他們仍然不知道Virgil Griffith到底是因為什么而被指控。根據該文件,關于Virgil Griffith被指控的具體內容仍然無法獲得。文件指出,Virgil Griffith要求提供“詳細資料”,說明他所提供的服務,具有有誰參與其中,以及這些服務到底如何違反了美國法律。此前消息,2019年11月29日,紐約南區美國檢察官辦公室和聯邦調查局宣布,已逮捕并指控以太坊開發者Virgil Griffith違反美國制裁法。罪名是聯邦政府指控他于4月非法前往朝鮮,并在“平壤區塊鏈和加密貨幣會議”上作了陳述。(CoinDesk)[2020/12/11 14:57:39]

直播|張小冷> 關于合約,你不知道的事:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第13期15:00準時開始,本期“后浪”仙女Hopex的CMO 張小冷將在直播間聊聊“關于合約,你不知道的事”,請掃碼移步收聽![2020/8/19]

聲音 | 趙長鵬:正在與韓國合作伙伴合作,但還不知道細節:據知情人士透露,幣安正就在韓國成立一家本地實體進行談判。據當地新聞媒體報道,幣安計劃在該國開設一家本地法幣交易所。然而,幣安公司的發言人表示,目前情況并非如此。趙長鵬(CZ)說:“我們不知道有關韓國分公司成立的細節。我們正在與當地合作伙伴合作,但我們不知道細節。”(theblockcrypto)[2019/7/16]

Tags:區塊鏈ITHDAOERT到底什么是區塊鏈WITH幣mdao幣靠譜嗎Experty Wisdom Token

DOGE
智能合約史上最大規模攻擊手法曝光,盤點黑客團伙作案細節_NCE:APT

本文來自:安比實驗室&AnChain用戶唯一可以操縱的就是msg.sender字段,我們是否可以將msg.sender作為Nonce來挖礦呢?答案顯然是可以的.

1900/1/1 0:00:00
用戶活躍度低且難留存?報告顯示, dApp 平臺的平均活躍用戶減少了 74%_NBA:OIN

據TNW報道,Diar報告顯示,7家大型dApp平臺的平均活躍用戶相比歷史高點減少了74%。Cryptokitties的用戶數量自14194只的歷史最高紀錄以來下降了96%.

1900/1/1 0:00:00
Taxa Network創始人TF Guo:通過Layer2的鏈下網絡,實現區塊鏈的隱私、性能、易用 | 2018 星球日報 P.O.D大會_AXA:WOR

區塊鏈這三個字近年經歷了幾番跌宕,從前沿的技術概念、風口上的熱詞,到被過度消費的符號。很多人相信,區塊鏈是解決許多行業痛點的工具,有潛力成為下一個世代“超級商業載體”誕生的催化劑.

1900/1/1 0:00:00
礦機銷售遇冷,部分P2P市場中大量二手顯卡被低價出售_COI:GEN

據外媒8月20日報道,在美國Craigslist和英國Gumtree這兩個P2P市場上,大量二手顯卡以低于零售價的價格被出售,許多二手顯卡的使用時間少于六個月.

1900/1/1 0:00:00
比特幣核心出現史上最嚴重漏洞?惡意礦工或可人為夸大比特幣供應_比特幣:比特幣鉆石未來價值

根據比特幣核心開發人員最新披露的聲明CVE-2018-17144顯示,他們最新修補的漏洞破壞力可能比預想的要嚴重的很多.

1900/1/1 0:00:00
推特網友問比特大陸會否破產?吳忌寒回復:兄弟,把簡歷寄過來_BTC:MetaLand Shares

近日,沖科技發表了一篇關于比特大陸上市的文章。推特用戶“BTCKING555”援引此文認為,比特大陸要成功IPO,還面臨這些考驗:礦機庫存帶來的大量損失、BCH投資損失、沒有新的礦機芯片、AI業.

1900/1/1 0:00:00
ads