跳到主要內容

Cortex主鏈上線、Genesis Block生成! 開啟AI智能合約新時代

毫無疑問,繼比特幣之後,以太坊的智能合約——一個分布式、公開透明、不可篡改、可審查的計算程序,是區塊鏈技術應用的一個重大突破。區塊鏈技術天生可以為智能合約提供可信的執行環境。然而,當前以太坊的智能合約,受限於基礎設計,目前還無法真正執行更覆雜的AI計算程序。

基於很多因素,例如虛擬機的設計、AI模型在異構環境下推斷結果的不確定性、以及鏈上AI推斷比較慢的確認速度等等,傳統認知一般認為在區塊鏈上運行AI計算程序是不現實的。想要實現Cortex白皮書設計的既定目標,需要解決上述一系列工程挑戰,這是一個全新且艱巨的探索方向,需要對AI和區塊鏈兩個領域均有極深的了解。

經過一年多的努力研發和探索,Cortex於2019年6月26日18:00(UTC+8)正式發布Cortex主鏈:這是人類歷史上第一條真正可以進行鏈上AI推斷的公鏈。

Cortex成功實現在區塊鏈上真正的運行AI計算程序,通過全網共識來驗證AI推斷的每一步。鏈上所有全節點,保證了推斷結果的去中心化、確定性和公平透明的特性。這對於我們即將進入的去中心化世界有著巨大影響,因為有了AI計算程序的加持,現在的智能合約已經變得更加智能,智能合約(Smart Contract)已經正式升級為AI智能合約(AI Smart Contract)。

在本文中,我們會從幾個方面如核心技術創新、主鏈特性、AI智能合約應用場景、去中心化人工智能自治系統的願景、下一階段的發展計劃等全面闡述和介紹Cortex AI公鏈。

一. 核心技術創新

1. CVM(CortexVirtual Machine,Cortex虛擬機)

像以太坊這樣的傳統區塊鏈無法有效整合AI的最大原因之一是因為它們的虛擬機是在CPU上運行的,不適合執行覆雜的AI程序。而我們的CVM能利用GPU,非常適合有效地執行AI程序。

Cortex在以太坊虛擬機(EVM)的基礎上添加了對 Cortex 鏈上 AI 推斷功能的支持。該功能主要分為兩個模塊,一方面是在 CVM 中支持了 Inference 指令,包含Infer(code: 0xc0),InferArray(code: 0xc1),前端如remix編譯合約時同步增加一條infer函數來封裝 CVM 接口,實現鏈上 AI 推斷功能;另一方面,Synapse 作為定點化 AI 推斷引擎,又名 CVM Executor,可以在異構計算環境下保證 AI 推斷結果的一致性。Synapse 提出了模型定點化執行框架,並提出了相對應的確定性機器學習算子庫,有興趣的AI 開發人員可以基於目前提出的框架訓練或者定點化。為保證解耦性,Synapse 是作為基於 CVM 的 device 形式存在的,是一個單獨的模塊,可以將其看作是 CVM 將需要Inference的模型和數據放入一塊緩存,以中斷的形式調用 Synapse 接口。

此外,CVM向下兼容EVM。因此,它可以運行以太坊上所有的DApp,而且在這個基礎之上,加入了AI 功能到DApp中。

更多技術細節請訪問CVM開源代碼:

https://github.com/CortexFoundation/CortexTheseus/tree/dev/infernet

2. 模型表示工具(MRT)

由於深度神經網絡模型在異構環境中的不確定性,在區塊鏈上執行時無法達成網絡共識。為了解決這個問題,我們開發了一個確定性定點化框架MRT。

MRT全名Model Representation Tool,是Cortex的模型定點化轉換工具。MRT用於對接Cortex虛擬機CVM提供的AI框架API,旨在將NNVM支持的浮點模型轉換為CVM可執行的全整形定點化模型,並保證足夠少的精度損失。定點化方法主要是將模型所有layer的輸出數域放縮到INT8或者INT32範圍,來模擬浮點網絡,通過fuse和rewrite等方法,將涉及到浮點操作的算子轉換為全整形算子;另一方面,定點化網絡確保整形範圍操作不會溢出,保證模型執行的確定性。

目前我們MRT只支持轉換成定點化模型的功能,現在流程是使用MXNet框架訓練好浮點模型,然後使用我們的MRT轉換成CVM可執行的定點化模型。

我們的定點化方案還意外得到了官方MXNet團隊的認可和支持,確保不會有溢出的情況並保證模型執行的確定性結果。

更多細節請訪問:

https://github.com/CortexFoundation/tvm-cvm

二. 主鏈特性

1. 挖礦

Cortex將采用CuckARoo30作為PoW的共識算法。

Cuckoo Cycle是一種基於圖論的算法,是在Siphash隨機生成的Cuckoo二分圖裏找到固定長度L的環。圖的規模越大,L值越大,找到符合L長度環的難度就越大。CuckooCycle問題在求解(即找環)過程中需要較大的空間,是一種Memory-Hard的PoW算法。在最初的設計中,Cuckoo Cycle被認為具備抗ASIC的能力,然而後續的分析證明其是 ASIC-friendly的,一般認為其為驗證函數最簡潔的PoW算法,也得到了應用。

此外,Cuckoo Cycle還有多種變種算法,如果對二分圖內所有的節點進行分組,組內的節點又存在互相依賴的關系,這樣就大大增加了求解的難度,需要更大的數據緩存,因其抗ASIC特性被命名為CuckARoo算法。

Cortex主鏈將采用改版後的CuckARoo30算法,將Siphash-2-4替換為Siphash-4-8。Cortex希望通過抗ASIC的PoW算法讓更多業余玩家參與進來,避免算力中心化。

2. 出塊機制

區塊時間:約15s

區塊獎勵:7 CTXC / 區塊(每四年減半,即每隔8409600個blocks)

叔塊獎勵:(current:當前區塊號,uncle:叔塊區塊號,block_reward:區塊獎勵)

3. 難度調整機制

難度是動態調整的,在平均每15秒產生一個塊,即15秒的出塊時間。此速率可確保系統狀態同步,同時防止雙花和歷史記錄的篡改,除非攻擊者擁有超過51%的網絡挖礦算力。

4. 支持AI模型上傳

上傳涉及參數:

Quota general: 64k per block (model uploading space)

Uploading network bandwidth: 1MB/s

Model mature: 100 blocks

Model size limit: 1GB

主鏈更多細節請訪問Cortex Full-node全節點代碼:

https://github.com/CortexFoundation/CortexTheseus

三. 發布內容

1. Cortex主鏈錢包

Cortex官方推薦一款支持Cortex主鏈的移動端錢包:Cortex Wallet。

Cortex官網提供本地下載安裝鏈接(請認準Cortex官網為唯一下載通道),同時,Cortex Wallet即將登陸Google Play和Apple App Store。

下載安裝頁面鏈接如下:

https://www.cortexlabs.ai/wallet

2. Cortex主鏈區塊瀏覽器

自Cortex第一版測試鏈就一同發布的Cortex區塊瀏覽器,現已經切換至Cortex主鏈。

訪問鏈接不變:

https://cerebro.cortexlabs.ai/

訪問Cortex區塊瀏覽器即可查看Cortex主鏈所有區塊信息、交易信息、地址信息等。

3. Cortex Miner

Cortex提供一款基礎版本挖礦軟件,代碼全部開源,並且發布一版編譯好的版本。

代碼及軟件鏈接如下:

https://github.com/CortexFoundation/PoolMiner

4. Cortex Full-node

Cortex開源全節點完整代碼,鏈接如下:

https://github.com/CortexFoundation/CortexTheseus

四. AI智能合約應用場景

在當前的科技水平下,幾乎所有的傳統App都已經某種程度上融入了AI技術,因此很難想象沒有AI的DApp的未來。AI智能合約(AI Smart Contract)的優勢和之前的智能合約(Smart Contract)的優勢同樣明顯:公開透明、去中心化、不可篡改等。這裏我們列舉Cortex團隊思考的適合AI智能合約應用場景的幾個領域:

分布式金融:

一個去中心化的借貸應用可以運行AI算法,以根據您的(某個地址的)個人信用記錄來確定借貸的利率。用於分析個人信用評分的AI模型不是運行在某個特定的、封閉的環境下,而是運行在Cortex鏈上,確保AI推斷的每一步都是公開透明、防止歧視。

遊戲:

如果加入AI,CruptoKitties會增加智能交互和獨特的性格特征。想象一下,會與人交流、移動、並且有著自己的性格基因的小貓,是以太坊等傳統公鏈無法可靠實現的。AI模型帶來的上述用戶體驗,在Cortex鏈上可以實現。

保險:

區塊鏈技術在保險行業已經發掘出了諸多應用場景,保險行業對不可篡改、公平、開放、透明等特性的需求十分強烈。AI模型可以幫助改善承保決策,更好的風險控制、防欺詐。由鏈上AI驅動的保險DAO可以為世界帶來更好、更低價、更公平的保險產品。

去中心化的Uber:

Uber的各個商業環節幾乎都涉及到了AI,從匹配司機、路線優化到司機入職、計算價格等。因此,如果我們想要構建一個去中心化的Uber新商業生態,就必須可以在鏈上進行AI推斷。

AI防偽:

深度換臉(人工智能技術生產出來的人類難以區分的換臉視頻)的出現給全世界社會造成了重大的擔憂和威脅。如果此類視頻錄音可以簡單的在法庭上作為證據,那麽社會穩定性將會受到嚴重影響。AI防偽算法(檢測視頻是否被篡改的算法)將在區塊鏈上運行,以確保其透明性和公平性,特別是它們被使用在法庭上。

除上述幾個案例外,分布式交易所的反欺詐、遊戲中的AI自動評判、AI遊戲玩家代理、AI算法控制的穩定幣、情感分析、去中心化的AI廣告推送等領域都可以得到非常大的應用空間。

Cortex鏈和其他技術可以實現有效結合,例如跨鏈技術,可實現Cortex和其他公鏈之間的互操作性,為區塊鏈世界提供可靠的去中心化AI推斷。此外,除了應用在Cortex公鏈上,MRT和CVM的核心技術也可以應用在聯盟鏈和商用區塊鏈平台上,甚至是非區塊鏈場景如邊緣計算設備上,提供模型的壓縮、優化和追溯功能。

五. 去中心化人工智能自治系統的願景

除了實現AI智能合約外,Cortex項目的另一部分是在區塊鏈上構建開放的分布式AI生態系統。Cortex為區塊鏈生態系統(傳統上只包括DApp開發人員,用戶和礦工)引入了一個重要的角色:AI研究者。AI研究者將訓練好的AI模型上傳到Cortex區塊鏈的存儲層。這些模型之後可以進行單獨的推斷,也可以被DApp開發人員整合到智能合約中。每次調用AI模型時,它的模型上傳者都會獲得自網絡交易費用的一部分CTXC作為獎勵。(交易發起者通過設定Endorphin上限和Endorphin價格來支付交易費用,其中Endorphin是衡量交易所需計算量的單位,類似於以太坊中Gas的概念。)這種經濟機制激勵AI研究者在模型優化方面相互競爭,從而在區塊鏈上形成一個不斷發展的分布式AI生態系統。因此,優秀的AI模型將開源分布在Cortex區塊鏈上,而不是被少數大公司壟斷。

目前,Cortex鏈上有23個模型,使用4個數據集分別進行訓練,可用於7種不同的場景。所有模型都已使用MRT進行定點化(見上文),可以在Cortex虛擬機(CVM)上進行推斷。

六. Cortex下一階段發展計劃

1. 技術發展計劃

接下來,我們的目標是達到三個重要的裏程碑。

首先,我們將升級CVM + MRT。目前,MRT只是一個確定性的定點化框架,我們希望將其轉變為一個完善的編程語言,提供完整的指令集和更好的確定性支持。同時,我們希望升級CVM以支持更多AI模型,特別是動態模型。

其次,我們將持續評估當前layer1或layer2擴容方案的成熟程度,初步目標是在不犧牲網絡安全性的前提下將TPS提高到1000。我們還將改進我們的OPS(每秒執行op數,Op Per Second),目前為1400。

第三,我們將努力改善AI模型的隱私性。我們正在研究加密解決方案,以實現鏈上AI的隱私推斷。一個最接近可行的方案是使用zk-starks或zk-snarks之一作為layer1的隱私推斷解決方案,將可信計算(trusted computing)作為高性能的layer2候選隱私推斷解決方案。

2. 社區發展計劃

Cortex對人工智能的願景是開放AI模型和公開數據,將它們從互聯網的中心化世界中形成的圍墻花園裏解放出來,無償開放給全世界的研究者和開發人員,形成開放式的AI社區,將頂尖的人工智能技術和作為燃料的數據還給大眾,從而避免AI高速發展帶來的種種爭議和壟斷。在區塊鏈的經濟系統的幫助下,每個人都可以試驗自己的想法,並且形成可持續的商業形態,在這方面Cortex是一種全新的結合和嘗試。

在主鏈發布和Cortex基金會代碼開源後,Cortex團隊將向全球的分布式開源社區開放開發。同時,Cortex 基金會將繼續以多種方式為Cortex區塊鏈及其開源生態系統提供底層支持:我們已經建立了一個開發者論壇(鏈接),並將開始組織線上和線下沙龍,幫助AI開發人員熟悉Cortex生態系統,設立賞金計劃,進一步發展開源技術協作機制(建立開源模型庫和開放數據集)等等。

就AI DApp生態系統而言,Cortex 基金會將與世界各地的DApp開發人員和公司合作,幫助在Cortex鏈上實現更多AI DApp。

同時,我們將致力於跨鏈支持:由於其他區塊鏈上的程序可能為了可靠性和透明性需要運行鏈上AI,他們將能夠在我們的鏈上運行AI模型並將結果返回到其鏈中進一步處理。

此外,我們將與學術界和產業界在合作研究和刊物出版的方向上密切合作。我們獨特核心實現鏈上AI推斷的解決方案已經獲得了官方MXNet團隊的支持。今後將會有更多此類的合作和夥伴關系。

AI智能合約的時代已經開啟,我們迫不及待期待在這個全新的世界中,誕生越來越多有用、好用、真正智能的應用出現。讓AI真正民主,讓區塊鏈真正智能!
Cortex主鏈上線、Genesis Block生成! 開啟AI智能合約新時代.md
目前顯示的是「Cortex主鏈上線、Genesis Block生成! 開啟AI智能合約新時代.md」。

留言

這個網誌中的熱門文章

COSCUP 2019 CfP is now open, submit your proposal before May 6th, 2019.

We are looking for talks in several open-source related areas, please submit your proposal before May 6th, 2019. After the review process from the coordinators, we will publish the full programme in early June.一如往常,在今年的 COSCUP 我們徵求各式各樣不同的 Open Source 相關稿件。請於 5 月 6 日前投稿,或可參考本頁下方各議程軌資訊。Submit your proposalImportant DatesSubmission deadline: May 6th, 2019 (截稿時間)Full programme published: Early June (預定公佈時間)COSCUP 2019: Aug 17-18 (with welcome party at 16th night), at National Taiwan University of Science and TechnologyPartner conferences / 合作研討會特別軌We are gladly welcome HKOSCon (Hong Kong Open Source Conference,) COSCon (China Open Source Conf,) and OSPN OSC (オープンソースカンファレンス) join us with a special track. Please check their CfP form for more information about the track.今年 COSCUP 與 OpenSource HK 的「HKOSCon」、開源社的「COSCon」及 OSPN 的「OSC」合作推出特別軌,以期邀請各地的開源愛好者前來與大家一會。其各自的徵稿資訊,請參考下方連結。opensource.hk "HKOSCon" Special Track開源社 "COSCon" Special TrackOSPN "オープンソースカンファレンス" Spe…

COSCUP 2019 開源貢獻者保留票申請 / Open Source Contributors (OSC) Tickets Application

開源貢獻者資格 由 2018/5/12 到現在,實際針對開源專案提供開發、推廣、或其他有助專案進展之貢獻者,提出貢獻相關證明即可報名。
開源專案意指專案成果以 FSFOSI 認同之公眾授權條款釋出者 所提出之貢獻,必須可以經由公開途徑查證(例如提供 GitHub、Google Code、SourceForge 等公開專案平台上的討論紀錄、網址、commit log、信件文本、公開釋出之演講投影片紀錄等。) 海外參與者 你身在海外,雖想回台參與 COSCUP,但並非貢獻者又害怕搶不到票嗎?COSCUP 歡迎所有的海外人士前來參加!只要你居住在海外、承諾與會,並願意於 SNS 或個人 blog 公佈自己即將與會之訊息,即使非貢獻者或講者,也將優先獲得我們的 VIP 邀請。請在報名表上註明您的出發地,我們將再與您聯絡。

海外參與者請於第四個 Section 告訴我們您從哪裡來,並勾選相關選項。
Key dates5/12 報名截止。5/13 ~ 5/18 審查期間。5/19 第一次審查完畢,開始補件。5/26 前補件完成。6/2 公告開源貢獻者正式名單,通過的開源貢獻者可以在 KKTIX 上報名。 申請表單 申請方法與詳細資訊:https://goo.gl/forms/x7rmsEPsooBSK46T2

Who can apply for OSC tickets? Your participation in an open source project since 2018/5/12 makes you eligible for applying for a Registration Code. The open source project and your participation must meet the following conditions:
The project source code must be released with a license approved by Free Software Foundation or Open Source InitiativeThe project must be hosted on a public repository such as GitHub, Google Code, Sour…

招募社群參與 Call for Participation: Apply for COSCUP `19 Community Room and Booth now! 議程軌與攤位,即日起招募社群參與

Ladies and gentlemen! Application for COSCUP community rooms / booths is started NOW! (快轉到中文版)Community RoomCommunity Rooms are assigned to self-organizing groups to work, share, and discuss issues around an open-source-related topic. The application should be submitted before March 9th.

You can decide the content and format in your Community Room.
You can decide the duration of each section and the whole schedule in your Community Room.
Key datesMarch 9th: Deadline for Community Room applicationMarch 12th: Accepted Community Room announced on blog.coscup.org will be published on April 1st, with CfP.March 26th: Community Room coordinators provide information of Call for ProposalApril 1st: Call for Proposal startsMay 6th: Deadline for Call for ProposalMid-May: Community Room coordinators provide the complete scheduleEarly June: Full schedule published on COSCUP.org (TBC)Augest 17-18 at Taipei: COSCUP 2019Application rulesScheduleWe do not plan for rooms to be empty during the event. By ap…