圖片來源:視覺中國
在鈦媒體Pro專業(yè)用戶和付費用戶專享的“鈦坦白”在線課堂第38期,我們再次請來三位鈦客,分享區(qū)塊鏈技術落地中的挑戰(zhàn)與革新。本期鈦客之一、Onchain CEO達鴻飛,也是小蟻區(qū)塊鏈項目的創(chuàng)始人,比特幣運動早期參與者,數(shù)字貨幣社區(qū)的活躍分子。
本文節(jié)選自達鴻飛在鈦坦白的分享。如果您還不是鈦媒體Pro用戶,希望查看鈦坦白所有干貨,進入鈦坦白九個專業(yè)群交流,并查看更豐富的專業(yè)數(shù)據(jù)和信息,可點擊:http://www.chcmb.cn/pro 注冊。
大家晚上好,非常榮幸能夠跟大家來做這個交流。我是達鴻飛,我實際上有兩個身份,一個是分布科技公司的CEO,另外是一個叫做小蟻的公有區(qū)塊鏈項目的創(chuàng)始人。
什么是Onchain呢?就是當一筆交易在鏈上發(fā)生的時候,我們說這筆交易是on chain的,中文可以理解為“鏈上”。當區(qū)塊鏈這兩年很火了之后,我們就發(fā)現(xiàn)了原來的傳統(tǒng)業(yè)務,都可以用區(qū)塊鏈的方式來更高、更可信地實現(xiàn)。那么在這個時候,我們就可以把它叫做一個move onchain這樣的一個新的運動或者是一種新的趨勢。
我們公司的標語——“數(shù)據(jù)可信,價值自由”,實際上是分兩步實現(xiàn)的,我們利用區(qū)塊鏈技術和其他的一些最新的金融、監(jiān)管、法律科技技術,讓互聯(lián)網(wǎng)上在計算機里面存儲的數(shù)據(jù)變得更可信。然后有了可信的數(shù)據(jù)作為介質之后,很多原來不能流轉、難以得到互信的價值就能夠自由的流轉,創(chuàng)造更多的價值。
我分三個點來說:
第一,我們給自己的定位是,一個世界級的區(qū)塊鏈核心技術的企業(yè)。那這里邊有幾個關鍵的詞,一個是世界級,為什么這么說呢?因為我們橫向比較了我們和其他的一些項目,比如像IBM的fabric,比如像以太坊這樣的項目之后,我們認為我們的技術能力是跟他們在同一個水平,甚至在某一個領域是有超越的。
第二,我們是做底層最核心技術的企業(yè),而不是去做中間層或者是上層應用的企業(yè)。我們的團隊由兩部分人組成,一部分是所謂的技術極客,是來自于原來我們開發(fā)小蟻的兩位創(chuàng)始人,一個是我,一個是張錚文。
三個聯(lián)合創(chuàng)始人,李俊來自于中國金融期貨交易所,有十多年的金融IT的經(jīng)驗,也是復旦、曼徹斯特這幾個大學的計算機學士、通訊專業(yè)碩士以及MBA。李彥博是從美國高通離職回來的,在高通的時候負責做底層協(xié)議的開發(fā),同時他還是一個應用密碼學的專家,在美國的時候,就在斯坦福的一個很著名的密碼學學者下面做應用密碼學的學習。楊文濤,在北大的時候是他們學院的院學生會主席,北大畢業(yè)后在美國又讀了金融的碩士,后來在摩根斯坦利工作,去年我們在紐約見面深聊了之后他毅然放棄了摩根斯坦利的工作,回來成為了我們的聯(lián)合創(chuàng)始人。
除了這幾個聯(lián)合創(chuàng)始人之外,我們也有從各個地方過來的,比如有從IBM過來做fabric的開發(fā)者,有從Oracle過來原來做數(shù)據(jù)庫相關的開發(fā)者,也有一些從招商銀行、或者是道富銀行這些金融相關機構過來的同業(yè)者。
第三,我們的戰(zhàn)略很清晰,有兩個標簽,一個是“自主代碼”,也就是我們所有的底層技術、底層架構,都是自主來完成的,而不是參考或者復制其他區(qū)塊鏈的代碼,同時正因為我們做了自主這件事情,我們就很有底氣地走這樣一個“開源”的路線。第二個標簽是“開源”。
為什么區(qū)塊鏈需要開源呢?實際上這個道理很簡單,《經(jīng)濟學人》雜志把區(qū)塊鏈比作是信任的機器,如果說給你的這臺機器是一個黑盒子,你不知道它為什么能夠創(chuàng)造、傳遞信任的,你要做的就相當于要把信任托付給制造這個黑盒子制造的廠商,所以我們認為作為一個區(qū)塊鏈,它本質的內在的核心的要求就是它是公開的、透明的。打個比方的話,你是愿意相信一個透明的廚房,可以看里面的人是怎么準備你的食物呢?還是完全不透明、那個門是封鎖著的,閑人免進的廚房呢?我相信大部分人都會選擇第一種。
另外我還想說的是,開源和交付源代碼,這是兩件不同的事情。比如說有一些區(qū)塊鏈的公司,他會在開發(fā)一些項目之后,把源代碼交付給他的合作伙伴或者說客戶,但是這跟真正的開源是完全兩回事。開源相當于你把整個食物制作過程讓社區(qū),讓外部的第三方都可以參與進來,可以參與審計,參與評測。而交付源代碼,更像我給你一個食物的標簽,告訴你我這個食物是由什么成份組成的,但是你并沒有參與食物的制作過程中去,這兩者之間的安全性、可靠性、參與度有顯著的差異。所以我們認為,完整的開源是最佳的方式。
此外我們認為,區(qū)塊鏈技術是未來金融以及其他一些可信互聯(lián)網(wǎng)一個基礎設施級別的底層技術,中國需要一個有自主知識產(chǎn)權的中國團隊,制造出有完整的路線控制能力的一個基礎性區(qū)塊鏈。所以我們就做了一個叫做DNA的分布式網(wǎng)絡架構。它本身不是一個實際運行的區(qū)塊鏈,你可以把它理解成一個區(qū)塊鏈的模板。使用這個模板之后,你就可以很容易的去搭建起聯(lián)盟鏈、私有鏈,可以高度進行定制化。
上面這張圖就是DNA的架構圖,技術細節(jié)我就不講了,可以看看它的一些特點。下面的藍色的部分叫核心層,是一些區(qū)塊鏈基礎的模塊,中間綠色的部分是一個服務層,提供一些像身份認證、隱私保護、權限管理這些服務,很有特點的是在最右邊有一個豎著橙色的部分,這是跨鏈交互的層。我們在跨鏈交互這塊已經(jīng)申請了一個專利,這個專利很有意思,它不僅僅能夠實現(xiàn)跨鏈的資產(chǎn)交換,還能夠實現(xiàn)跨鏈的智能合約,也就是說一個智能合約可以在多個鏈上按照一定的順序來進行執(zhí)行。
我聽了鈦坦白前面的一些鈦客的分享,每個人對區(qū)塊鏈都有不同的定義,在小蟻這邊我們的CTO對區(qū)塊鏈有一個非常技術的定義——區(qū)塊鏈是一種去中心化的分布式的狀態(tài)機。什么是狀態(tài)機呢?實際上它就是記錄狀態(tài)的一個機器。
在上面這個圖里面我們看到有ABC三個狀態(tài),三個圓圈實際上就是從A狀態(tài)切換到B狀態(tài)再切換到C狀態(tài),為什么會切換呢?因為他們中間發(fā)生了一筆交易,TX1就是交易1或者叫事務1,事件的發(fā)生會切換到一個新的狀態(tài)里面去。狀態(tài)機是實際存在的。
我們可以看見左邊這張圖,我們可以把它叫中心化的狀態(tài)機,有一個中心來控制一個帳本,這個帳本如果是紙質的話我們就把它叫帳本,在用計算機系統(tǒng)記錄的我們把它叫做狀態(tài)機。每一次進行狀態(tài)切換的時候,就要修改這個帳本,右邊這個圖就是一個分布式的狀態(tài)機,通過一些分布式一致性的算法,我們可以保證在沒有一個中心的情況下,大家點對點的來對狀態(tài)進行切換,并且能夠統(tǒng)一的一致性地切換到一個新的狀態(tài)里面去,這些切換的依據(jù)就是發(fā)生了一些大家都認可的交易。
有哪些比較著名的狀態(tài)機呢?實際上我們認為有三個階段是比較重要的。第一個是比特幣,它是一個電子現(xiàn)金的系統(tǒng);第二個是以太坊,它在比特幣的基礎上,做出了一個可以運行任意的智能合約、邏輯的平臺;我們認為小蟻也是一個重要的里程碑,我們在任意智能合約的基礎上,進行了擴展,我們是一個智能資產(chǎn)的平臺。至于和以太坊的區(qū)別在哪里,我在后面會提到。
我從比特幣講起。比特幣是2008年的時候一個自稱叫中本聰?shù)娜?,他寫了一篇論文,?008年就公布了論文,2009年1月份公布了比特幣的程序,在比特幣程序創(chuàng)始塊里面他還記錄了一句話,這句話是摘抄于當時的一份《泰晤士報》上的一個新聞,這個標題是跟當時金融危機相關的,所以他一方面表示證明了他的創(chuàng)始塊是在當時那個時間之后才建立的,一方面也宣告了自己對于傳統(tǒng)金融體系的不信任和對他愿意進行一些改造的想法。
比特幣有一些特點,它是去中心化發(fā)行的,它利用工作證明的機制,利用總量有限的這種限制,來實現(xiàn)去中心化的發(fā)行。然后它是通過點對點的支付來實現(xiàn)在沒有中介的情況下,防止一個錢被花兩次,因為信息是可以被多次復制的,但是在比特幣的系統(tǒng)里面,你可以復制那個信息,但是你不能復制這個價值。它在技術實現(xiàn)上有一個模型,用了這個模型之后,就可以對所有的交易進行并行的驗證,它跟我們傳統(tǒng)理解的帳戶模型是不同的模型,它在里面并不是記錄每個人帳戶下面有多少錢,而是把每一次你收到前那筆交易都單獨地做記錄。
由于你的每一個交易都是一個單獨記錄,當你花費這些交易,花費收到的錢的時候,彼此之間可以來進行并行驗證的,它就能夠實現(xiàn)到一個非常好的并發(fā)性能。在比特幣之后,就催生了很多各種各樣的數(shù)字貨幣或者說區(qū)塊鏈的產(chǎn)生,比特幣,然后什么萊特幣、狗狗幣,也有一些比較有創(chuàng)新意義的,比如說像域名幣,它是用數(shù)字貨幣的系統(tǒng)——區(qū)塊鏈來記錄域名登記轉讓的事情。比如像比特股它用來實現(xiàn)去中心化的交易所,就是價值穩(wěn)定的虛擬資產(chǎn)這樣一種區(qū)塊鏈。再然后就出現(xiàn)了像以太坊這樣新型智能合約的區(qū)塊鏈平臺。
我想關注區(qū)塊鏈的人,可能多多少少都聽說過以太坊創(chuàng)始人Vitalik,這是Vitalik在看到了各種各樣的數(shù)字、或者各種各樣的鏈之后,就催生了一個想法。他說他其實可以做一個底層的通用的平臺,這個平臺提供區(qū)塊鏈的一些底層設施。至于上面的這個業(yè)務邏輯,比如你是要做銀行的匯兌要做一個博彩,這屬于業(yè)務邏輯,我可以把它抽象出來,然后你們上層的開發(fā)者去獨立的進行開發(fā),有了這個想法之后,他就發(fā)布了白皮書。在2014年的7月份也進行了眾籌,當時是獲得了大約3萬的比特幣,按照當時的市值來計算的話,大約1400萬美金的開發(fā)經(jīng)費。
講到這里,我們就要講一講什么是智能合約了,按照智能合約這個詞的提出者Nick Szabo密碼學家來說,他的定義是,智能合約能指能夠自動執(zhí)行合約條款的計算機程序,也就是說它不是一般的計算機程序,它要能執(zhí)行合約上的這些條款。在合約上面這個制定,傳統(tǒng)的合約,通常有三個步驟,第一步是協(xié)商,我們要把條件談好,第二個是記錄,我們要把它記在紙上簽個字,第三步是執(zhí)行,根據(jù)事件的發(fā)生,我們要對這個事情進行執(zhí)行,實際上在計算機程序來自動執(zhí)行條約的時候,這三個步驟也是非常類似的。
首先我們也還是要通過一些協(xié)商來對一個條約的條件進行約定,約定之后,這個記錄的步驟我們就把這個合約記錄在區(qū)塊鏈上,因為區(qū)塊鏈可以理解為一個不可篡改的數(shù)據(jù)庫,它就跟你打印出來簽名的效果非常類似了。在執(zhí)行的時候就不是由我們人為的來控制執(zhí)行,而是由區(qū)塊鏈上的執(zhí)行環(huán)境來對這個智能合約里邊一些用代碼寫出來的條件控制、邏輯控制的語句進行判定,并且生成一個結果,對這個結果進行完整的執(zhí)行,比如可能是A向B要支付的某一個金額的金錢。
智能合約這個詞的創(chuàng)造實際上已經(jīng)很早了。1994年,當時Nick Szabo還舉了一個例子,認為自動販賣機就是一種智能合約的一個例子,因為在販賣機上是有一個合約的,這個合約告訴你,你現(xiàn)在投入硬幣,投三塊錢就可以買一瓶可樂。但是這個自動販賣機往往工作得并不良好,有時候你塞了錢它也不出可樂,這都是有可能的,為什么呢?是因為它不是一個良好的執(zhí)行環(huán)境,非常容易受到各種各樣外部條件的影響。但是有了區(qū)塊鏈之后,區(qū)塊鏈就為智能合約提供了非??煽康膱?zhí)行環(huán)境,因為大家的數(shù)據(jù)都是完全一致并且可信的,執(zhí)行的這個標準也是通過一個統(tǒng)一的執(zhí)行環(huán)境來生成的,最后大家會對執(zhí)行的結果進行共識。
以太坊有三個特點:
一,它是分層很抽象的設計,在區(qū)塊鏈的底層就干底層的事情,比如共識協(xié)議,網(wǎng)絡協(xié)議,把所有的這些應用都放在應用層來完成;
二,它是圖靈完備的一套系統(tǒng),實際上在比特幣里面也有一套類似于智能合約的東西叫腳本系統(tǒng),但是腳本系統(tǒng)是受到閹割的,很多循環(huán)類的這些邏輯控制、流程控制它都是沒有的。但是在智能合約里面它提供了各種各樣的、循環(huán)的這些功能,所以它可以理論上表達任意的邏輯;
三,它提供了一種持久化的存儲,你可以任意的存儲一些信息,可以用來做數(shù)據(jù)的一些存證也可以用來做數(shù)字資產(chǎn)的分配,而且不僅僅是內置的數(shù)字資產(chǎn)。
剛才的論述看起來以太坊似乎是一個非常完美的一套東西,但是實際上并不是如此。它非常的抽象,可以實現(xiàn)任意的邏輯,所以它非常像我們圖下面左邊的這個蝙蝠俠的戰(zhàn)車。如果你們點開來仔細看的話,會發(fā)現(xiàn)這個戰(zhàn)車是用樂高積木搭的,所以以太坊非常像一個樂高積木,它可以搭載任意的東西,并且都可以拼造出來。但是它在工程級的使用上,其實是有很多的限制。
那么我們真正需要的是什么呢?是一個工程上可用的像右邊這樣的一個又酷,同時又有很好性能的真正蝙蝠俠的戰(zhàn)車。
我們小蟻就是要做真正的可用的工程上像蝙蝠俠戰(zhàn)車的一個項目,小蟻會著重兩件事情,一個叫做數(shù)字資產(chǎn),一個叫做智能合約,當數(shù)字資產(chǎn)跟智能合約放在一起的時候,我們可以說,我們小蟻的這個目標是叫做智能資產(chǎn)。
到底有哪些東西是數(shù)字資產(chǎn)呢?分三類,一種是原生的數(shù)字資產(chǎn),就是像比特幣、以太幣,這些內置的隨系統(tǒng)誕生而誕生的貨幣;第二類是通過一些合同關系來產(chǎn)生的,比如一些股權,發(fā)票,叫做憑證的資產(chǎn);第三個是基于身份的,就是兩個人之間比如說債權關系、存款的關系。
我們可以把這些資產(chǎn)數(shù)字化放到鏈上去,隨系統(tǒng)產(chǎn)生自然不用說,如果基于憑證的,我們就可以把這些憑證用電子合同的方式,把它move onchain。如果基于身份的存儲關系,我們可以通過數(shù)字身份的這個方式,來把它放到鏈上面去。
我為什么說小蟻是一個工程級的項目,小蟻現(xiàn)在有一套全新的智能合約體系,目前所有的智能合約只有以太坊一個可供的選擇。在小蟻這邊,我們做了一個全新的技術路線,在這個技術路線上面有兩大模塊組成,一個是開發(fā)工具,一個是虛擬機或者叫執(zhí)行環(huán)境。
在開發(fā)工具這塊,我們跟以太坊有一個巨大的不同,如果你使用以太坊的智能合約體系的話,你需要學習一些新的語言,比如Solidity這一類新的語言,以太坊自己開發(fā)設計的一些語言,而且這些語言是跟他的以太坊本身高度耦合的。我們不一樣,我們用了一些我們自己開發(fā)了編譯器,比如說你原來是java的開發(fā)者,你是c#的開發(fā)者你都可以直接用你原來的語言,比如java、c#來寫智能合約,通過我們開發(fā)的定制的編譯器可以把它編譯成智能合約,在鏈上可以執(zhí)行的智能合約,也省去了一個學習的過程。像Solidity的開發(fā)者和以太坊的開發(fā)者全球可能就幾千個,但是會java會c#的開發(fā)者在全球可能是百萬級的,這就會形成一個巨大的生態(tài)。
這點跟以太坊也是有巨大的不同的,以太坊會把所有數(shù)據(jù)訪問的這些服務,以及一些資源控制,比如計算燃料這些屬性全部放到它的EDM以太坊虛擬機里面。實際上我們認為這是一個比較糟糕的設計,所以我們把這兩件事情完全解耦了,執(zhí)行引擎就是獨立的執(zhí)行引擎,可以說跟區(qū)塊鏈都沒有關系,就是一個獨立的虛擬機,然后把這些和具體的鏈相關的這些東西,我們都把他封裝成一個互操作的服務,這樣實現(xiàn)了一個更好的灰度的一個設計,而且性能會顯得更好。這張圖就是用小蟻的智能合約體系來開發(fā)智能合約的圖,你看這是一個往區(qū)塊鏈里面寫“hello world”的一段簡短的代碼。
未來我們會支持多種語言,目前正在支持的兩個語言,一個是.net,一個是java。.net整個的框架基本上已經(jīng)開發(fā)完成了,java的開發(fā)在.net完成之后,可以立刻開始進行。其他像C++、C#、python、JavaScript這些我們都有計劃進行完整的支持,所以你可以看得到,整個智能合約體系,是能夠無縫的對接現(xiàn)有的開發(fā)者社區(qū)的。
我很愛打一個比方,就是說,以太坊的智能合約體系非常像一個專有的協(xié)議,所以它會很像蘋果Lightning的那個接口,很多人使用,但是往往是專有的一套體系,我們的這個智能合約的體系,很像USB Type-C這樣新型的接口,這個接口現(xiàn)在用的人還不多,但是有一個很明顯的趨勢,在越來越多尤其是新的設備上都會來支持USB Type-C這樣的接口,所以我們認為我們會有一個非常完整、強大的生態(tài)社區(qū)。
如果說開發(fā)者想要在小蟻上做開發(fā)的話,可以調用各種各樣的API,有JSON- RPC可以支持http或https,如果是寫在網(wǎng)頁上的html5也可以用Websocket接口,另外的話已經(jīng)支持了各種語言的SDK,有Typescript其實就是一種類型比較嚴格的JavaScript。
未來學家威廉·吉布森有句名言“the future is already here,it's just not evenly distritubed”,翻譯成中文的時候很多人簡單的翻譯成“未來已來只是尚未流行”,真正的原文意思應該是“未來已經(jīng)來臨,只是分布尚未均勻”,我們公司叫分布科技正是受這句話的影響。我們希望分布科技能夠做到讓未來的科技分布的更均勻,更快。
(本文獨家首發(fā)鈦媒體,根據(jù)Onchain CEO達鴻飛在鈦坦白上的分享整理)
……………………………………………………
鈦坦白第38期,今晚7點分享、交流繼續(xù)~
報名聽課、交流:
鈦坦白目前有醫(yī)療健康、人工智能、文娛社交、VR/AR、區(qū)塊鏈、支付創(chuàng)新、體育、云計算、SaaS等九個專業(yè)群。
1、鈦媒體Pro專業(yè)版用戶,可以點擊鏈接http://www.chcmb.cn/pro ,登錄賬號,進入“在線課堂”,在線免費、任意選擇自己要進入的群,按提示操作;
2、非鈦媒體Pro專業(yè)版用戶,可以添加微信號taitanbai0,在通過好友后,發(fā)99元紅包給小鈦,你將有權利從九個群中任選一個群進入,長期聽課、交流。請告訴小鈦你要進入哪一個群,然后等待小鈦拉你入群~
推薦鈦客、贊助、合作:
請與鈦坦白負責人佳音聯(lián)系,郵箱jiayinge@tmtpost.com
快報
根據(jù)《網(wǎng)絡安全法》實名制要求,請綁定手機號后發(fā)表評論