隨著通訊和可視化移動終端設備的逐漸普及,人們簇擁于web3或元宇宙的概念。而對于通往全新世界的道路要怎么走?卻沒有很明晰的答案。DFINITY在5年的探索經驗中,摸索出了”互聯網計算機“的道路,它會成為一個行之有效的解決方案嗎?
我們邀請到?DFINITY核心技術工程師?PaulLiu?來從其技術底層為我們進行解讀。PaulLiu是Dfinity的核心技術工程師,加入Dfinity之前,Paul在英特爾實驗室的研究科學家崗位工作了7年。在英特爾實驗室時期,他為X86架構構建了一個性能高度優化的Haskell編譯器。Paul擁有耶魯大學博士學位,師從Haskell編譯器的發明者之一的PaulHudak博士。Paul是Haskell研討會和IFL成員,發表過大量學術論文。
介紹
DFINITY是一個總部在瑞士的非盈利組織,所有的收入只能用于一個目的,就是參與研發和推動InternetComputer這個去中心化的開源網絡項目。雖然這個項目是由DFINITY主導研發的,但自從上線那一天起,治理系統就已經啟動了,而且網絡的實際物理節點也是許多個第三方獨立運營商自主運營。
整個項目歸屬于治理代幣的持有人,也就是整個社區。DFINITY會作為主要的技術貢獻者繼續參與開發和推廣整個平臺,但我們只是貢獻者之一。在上線短短三個多月的時間,已經有不少其它的社區團隊參與進來。這個平臺的發展離不開整個社區的貢獻。進一步推動去中心化,是我們當下最主要的目標。
作為InternetComputer這個平臺的創建者,DFINITY的愿景是blockchainsingularity,也就是說所有能在互聯網上面跑的應用,都應該用區塊鏈的技術構建。
為了做到這一點,我們在TCP/IP層面之上,應用層面之下,添加了一層基于區塊鏈共識技術的協議,我們把它叫做InternetComputerProtocol(ICP)。這一套協議是通過在多個物理節點之間交換數據,構建一個虛擬的子網。
子網內部的節點對輸入輸出達成共識,相互驗證計算結果,并可以和其它子網之間通訊。多個子網組合在一起共同構建出一個虛擬的計算機,容量可以隨著子網的增加而增加,誰都可以在上面跑程序,訪問其它人的程序,等等。
不過這聽起來和我們現在的互聯網好像也沒什么差別,尤其是microservice的概念。那為什么現在的互聯網不能叫做InternetComputer呢?
這個差別就在于這一套ICP的協議。這個協議的目的是確保所有程序都被正確執行,它們的狀態無法被篡改,當一個程序調用另一個程序時,它是可以信任這個調用會被正確執行的。目前的互聯網因為缺少這一層協議,導致所有的程序都要自行解決可用性、可靠性以及相互之間的授權等等繁瑣的問題,并因此帶來各種不兼容和安全性上的包袱。
這里面的核心就是可信任計算,有個說法叫trustlesstrust我覺得很貼切,無需信任的信任。區塊鏈從比特幣開始到今天的發展,也應證了可信任計算的威力。但絕大部分應用還是集中在金融領域,而我們的目的是拓展到更廣闊的互聯網領域上去。為什么區塊鏈上不可以直接跑網站?為什么驗證區塊鏈上的計算需要整個鏈的歷史數據?只有正面解決這些問題,才能讓區塊鏈成為互聯網的核心技術,而不僅僅是停留在記錄和轉賬的層面。
問題1
InternetComputer提供了全新的程序構建范式,有自己的一套“行話”,可否簡單介紹這些“行話”以及你認為對于開發者來說,最有用的基礎設施有哪些?
回答:可以從幾個不同的角度來聊一下,首先從終端用戶來看。
訪問一個InternetComputer上的應用和訪問一個普通網站基本上沒有什么不同,使用者并不需要支付任何費用。這和使用傳統云服務的時候,費用由項目方承擔是同一個意思。其它大多數區塊鏈都是要向使用者收取gas費用,需要預裝錢包軟件,門檻比較高。
分析:從技術層面來說,Celsius可能已經資不抵債:6月6日消息,據推特用戶yieldchad分析,從技術層面來說,Celsius可能已經資不抵債。該項目一共有100萬枚ETH,但只有26.8萬枚(近27%)是有充足流動性的;另外44.5萬枚拿的是Lido的stETH,按當前Curve的匯率只能換出28.7萬枚ETH;最后28.8萬枚直接質押進了以太坊2.0合約,一時半會(至少1年內)拿不出來。按照每周5萬枚ETH的速度,Celsius在五周內就會耗盡具有流動性的ETH。[2022/6/6 4:05:49]
運營一個應用的成本,包括計算和存儲等,是以InternetComputer的原生代幣cycles來衡量。cycles的價格錨定SDR,1SDR=1TrillionCycles。SDR的價格是國際貨幣基金組織設定的一籃子貨幣加權得來的,包括美元人民幣等,相對穩定。
回到用戶角度,他們不必在意cycles這個概念。但很多應用需要處理用戶登錄,為此InternetComputer上面也推出了一套匿名的身份管理系統,我們把它做InternetIdentity。這套系統完全是基于web標準,用戶不需要安裝錢包軟件也能使用。
所有這些都是為了降低用戶使用的門檻,讓區塊鏈的應用能夠真正走出去。InternetIdentity主要是為了解決一個身份在多個設備登錄的問題。而且這個身份在不同的應用中,應用所拿到的代號是不一樣的,這可以防止用戶的行為被惡意跟蹤。
最后,用戶可能也有興趣參與InternetComputer的治理。這是一個叫做NNS的神經元投票系統,算是我們的一個創新吧。它也是應用層面的,不過它有一個比較特殊的權限,那就是能夠管理所有InternetComputer的子網和整個系統的方方面面,包括節點運行的代碼,版本升級,創建新子網,接入新節點等等。
要參與投票,首先需要持有ICP代幣,鎖定一定數量的ICP來得到一個神經元,投票的權重和鎖倉數量,鎖倉時長,以及神經元的年齡都相關。參與投票也會得到獎勵,獎勵的多少和投了贊成還是反對無關。還可以跟隨其它神經元的決策,自動進行投票。總體這些設定上是為了讓用戶投票的行為和平臺的長期利益掛鉤,并獎勵用戶做出的貢獻。
談了用戶角度,那我們再從開發者角度來看一下。
跑在InternetComputer上的應用程序,是封裝在一個叫canister的輕量級容器里面。這個通常大家比較熟悉的docker容器的概念有點不太一樣,canister不僅僅是封裝了代碼,而且自動對容器的狀態做持久化。可以簡單理解為一個長期運行的操作系統進程,進程的狀態包括內存和消息隊列,都是自動保存了,不會因為開機關機而丟失。這意味著在InternetComputer上面已經剝離文件系統的概念,開發者不需要考慮讀寫文件和硬盤來保存數據,這是一個相當大的簡化。
另一個開發者需要了解的是canister之間的通信模式是異步的,屬于actormodel。也就是每個canister都是自己的進程,和其它canister發消息來通信,也就是異步方法調用。一個canister內部消息隊列的處理都是單線程,不需要考慮鎖,每一個方法調用都是滿足原子性的。熟悉actormodel編程的很容易上手。
開發一個應用,通常canister容器是作為后端的,前端交互可以是在瀏覽器里,也可以是單獨的APP。之前也提到InternetComputer可以直接跑網站,這里就是說canister可以自行實現httprequest的接口,返回網頁包括Javascript到用戶的終端。前端后端可以一起打包成canister部署到InternetComputer上。
前端開發我們有現成的庫可以使用,Javascript和Rust都有。前端需要調用后端代碼的時候,直接做一個異步函數await調用就好了,底層都已由庫函數實現。如果需要了解更多的話,這里面有一個接口和數據編碼的格式,叫做Candid,支持多個語言的實現。Canister對外部的接口和數據類型,都是用Candid來描述的。
北京理工大學蓋珂珂:區塊鏈加入黃金供應鏈后從技術和多角度解決了信任的問題:12月18日,“首屆中國(莆田)國際黃金珠寶文化論壇”在福建省莆田市會展中心舉辦。北京理工大學東南信息技術研究院特別研究員、博士生導師蓋珂珂出席論壇并發表主旨演講。他認為,區塊鏈加入黃金供應鏈后從技術和多角度解決了信任的問題,對已有黃金供應鏈模型進行了優化,為黃金珠寶行業進行賦能,主要表現為以下幾方面,第一,所有的信息流、商流寫入區塊鏈,信息統一集中、公開透明、不可篡改;第二,所有節點可以審視,實時掌握業務物流資金過程;第三,對于投資者得到一定的提升;第四,企業征信數據積累;第五,可以實現資產的跨域流通。
在黃金NFT分享方面,他作出總結:黃金藝術產品認知是在不斷進步;黃金產品的用戶量特別大,資金儲備比較足,這也就決定了黃金作為NFT進行對標是具有先天性的優勢;黃金產品特性是具有流通性,與NFT特性比較吻合;黃金產業可能會存在瓶頸,比如渠道商和黃金商的壟斷,依賴中心化系統。(中國財富網)[2021/12/19 7:49:02]
總的來看,開發者需要了解的都是圍繞著Canister這個概念展開的。WebAssembly,Actormodel,OrthogonalPersistence,Motoko,Candid。我還推薦了解一下SystemAPI也就是InternetComputer接口的標準?https://sdk.dfinity.org/docs/interface-spec/
這個資料很詳細,涉及了整個系統的方方面面,而且我們做了不少形式化的努力,定義了接口的語義,方便開發者深入理解系統的行為。
如果是做系統層面的開發,比如共識協議,虛擬機,等等,那可以談的就更多了,可以去看DFINITY官網上技術圖書館的視頻系列?https://dfinity.org/technicals
問題2
與傳統的阿里云、騰訊云、AWS等平臺相比,InternetComputer有什么不同?它們也是公司自建的私有云服務,也是用的數據中心,異地備援,多節點運行的。
回答:目前的云服務平臺,都是基于一個基礎的架設,你必須依賴這個平臺的提供者能夠維護平臺的安全性,保持網絡聯通,計算不間斷,數據不丟失,等等。
商業平臺自身的利益和它所服務的用戶之間的利益,雖然多數時候不沖突,但也不是完全一致的。有一個大家應該都比較熟悉的概念PlatformRisk,這里就不展開講了。
但最重要的一點,這些云平臺基礎設施提供商,都不希望自己成為commodity,都在各盡所能留存和鎖住客戶。
InternetComputer首先是作為一個去中心的網絡存在的。里面的節點都是由第三方運營,跑在不同的數據中心里。而真個網絡的治理,是交給用戶的,并不由節點運營商,或者是數據中心來主導。
所以這里面并沒有一個中心化的商業機構來做所有的決策。整個治理系統的設計,也是盡量從長遠的角度出發,希望保持用戶的利益和平臺發展的一致性。這個平臺是付費給節點運營商的,某一個節點到底是由張三還是李四來運行根本不影響,這是一個自由市場。所以對于InternetComputer而言,硬件和網絡這些基礎設施,已經成為了commodity。
回顧整個PC行業的發展史,我們其實可以看到,基礎設施成為commodity是歷史的必然規律,在云服務這里我相信也不會是一個例外。
可以說InternetComputer這樣的計算平臺,已經和硬件的基礎設施建設剝離開了。這種商業模式,如果沒有去中心化,如果沒有區塊鏈的技術,是沒法想象的。但今天它已可以成為一個現實,這是時代進步的最好詮釋。
從比特幣以太坊一路走來,有的人只是看到了幣價炒作和旁氏騙局就對這個新興事物持否定態度,其實時代的變革就在眼前。
徐坤:Filecoin項目需要從技術角度和投資角度去分析:OKEx首席戰略官徐坤今日發微博表示,對于Filecoin項目本身,需要從技術角度和投資角度去分析它,一切的投資是可以用數據量化的,資產有背后的價值作為支撐,可持續就可以去考慮;
另外一方面,放長周期去看一個事物的發展,它是否能夠經歷時間的考驗。投資是反人性的,事實證明,很多投資者在每一個階段可以享受一個事物不同的紅利,所以分析判斷一個投資的周期長度以及市場變化,再認真思考去做決定。[2020/7/14]
除開利益方面的一致性,另一個方面用要更先進的技術來簡化系統冗余,從而節省整個平臺開銷,也意味著為用戶帶來節省。
前面我們也說了不少可信任計算的優勢,其實這里面還要加上一個分布式的優勢,和一個使用前沿的加密技術的優勢。它們意味著很多傳統的技術維護方面的工作,比如防火墻這種,基本上已經不再必要。一個客戶要想使用好目前這些云平臺,它必須要在運維上投入很多。而InternetComputer則能夠節省很多這方面的成本。
第三點則是tokenization,也就是應用的代幣化。這可以說是整個互聯網應用發展的下一個趨勢,不可阻擋。傳統的云服務商也最多是提供和區塊鏈之間的橋接組件,一整套做下來它的架構不可避免還是相當臃腫的。InternetComputer既然能夠直接跑網站,跑應用,作為原生區塊鏈,做tokenization的整合是非常容易的。
問題3
InternetComputer上的每個智能合約都是“可擴展”的,具體說說協議的擴展在技術層面是如何運行的,目前有無擴展的案例?
回答:擴展性有好幾個維度,一個是存儲空間上的,一個是網絡流量上的,還有一個是計算能力,單位時間能夠處理多少事務。是否可擴展主要是看能否繞過已知的瓶頸。在一個公共平臺上,我們還要考慮不同用戶之間,不同應用之間,有限的資源如何分配的問題。
InternetComputer在設計上主要的思路是scaleout,也就是遇到瓶頸時通過增添資源,創建新的子網來解決。這個和主流的web應用的思路基本上是一致的,當一個應用無法通過一個canister來處理所有用戶請求的時候,合理的做法是在應用層面上使用多個canister各自處理一部分的用戶請求。也就是說在設計應用的時候,需要考慮到這一點,至少要留出一個遷移到新架構的可能性。目前我知道OpenChat的設計是走多個canister的,DSCVR也留有這樣的余地,但目前還是集中在一個canister。
從系統層面,通過canister擴容,可以超越目前4G內存的門檻。計算方面,也是從并發的指導思想出發,沒有選擇以太坊那種全局原子性的設計。所以不同canister處理各自的消息,都是在自己的線程里面,只要硬件負載容許,是不影響其它canister的性能的。至于網絡方面,基本上帶寬決定了擴展的上限,任何一個區塊鏈都無法避免這個物理瓶頸,只能通過分片,對應到InternetComputer這里就是不同的子網。
當然系統層面也有各種各樣的優化方案可以帶來性能的提升,我們一直也在做這方面的工作,希望能夠充分發揮硬件的性能。
問題4
哪些類型的Dapp更適合搭載于其上?我們發現目前InternetComputer上的DeFi協議比較少,未來InternetComputer上Dapp的賽道都有哪些方向?
回答:DeFi主要還是需要流動性來推動,出于安全考慮,目前尚未開放canister轉賬ICP的功能,這同時也限制了流動性。不過這個限制是暫時的,目前來看整個網絡自從上線后,穩定性還是不錯的,在適當的時機相信會通過NNS投票來解除這個限制。我相信已經有不少開發者都做好了準備,DeFi應用的爆發只是時間問題。
我個人對目前InternetComputer上面的socialdapp還是很看好的。這個賽道一旦有了tokenization的加持,會非常迅速成長,絕對不會遜于DeFi和NFT游戲這類的。其它區塊鏈上也有一些社交屬性的dapp,但都受制于起步的門檻,畢竟正確使用錢包這一步,就已經難倒了很多用戶了。在InternetComputer上面的dapp,使用Web標準的技術,任意瀏覽器均可訪問。
掌柜調查署|節點資本創始合伙人杜均:單純從技術角度來看,并沒有看到IPFS技術的突破:在今日舉行的掌柜調查署中,針對“IPFS和Filecoin有哪些重大創新,為什么大家如此關注“的問題,節點資本創始合伙人杜均表示,個人認為,無論是比特幣為代表的區塊鏈1.0,還是以太坊為代表的區塊鏈2.0,以及現在我們大熱的IPFS(激勵層Filecoin),都是一群“技術中立”信仰者構建的理想國,希望通過“CODE IS LAW”促進社會變得更公平更美好。單純從技術角度來看,我并沒有看到技術的突破,我更多看到的是利用區塊鏈思維對傳統互聯網訪問協議以及分布式存儲的升級。大家關注的點不一樣,只有極少數人關注到IPFS的技術創新,更多的人關注的是如何賺錢。更多詳情見原文鏈接。[2020/7/4]
另外一個我看好的方向是面向個人用戶和面向中小企業的應用。像項目管理,文件共享,創作者經濟這種,雖然目前互聯網上已經都有比較成熟的解決方案了,但平臺風險始終存在。前面也提到云服務的平臺風險,相信大家對各種其它領域的巨頭壟斷都有一定的切身體會。現在去中心化的結構是一個新的可能,平臺本身應該變成透明的存在,而不是盤踞在食物鏈的上游用霸王條款來吞噬用戶的利益。
歸根結底,哪個賽道有前途,取決它的應用能否快速匯集價值。這個價值,不是說你的項目鎖倉有多少,因為這個量它隨時都可以在變。而是說有你建立了多少和用戶之間的聯系,建立了多少和其它應用之間的聯系,這種關聯隨著信任加深,隨著用途增多,它會越來越有價值。代碼可以粘貼,但這種關聯是無法拷貝的。而如果運用得當,代幣在一定程度上可以加速價值的聚集,但最終還是取決于項目本身的內在價值。
問題5
Canister作為Webassembly運行的容器,承載了Dapp鏈上運行的環境。最近關于Canister有哪些新進展?
回答:就在這周一,DFINITY發布了開發路線圖,歡迎社區的參與。https://dfinity.org/roadmap。其中和canister相關的的有:
1、Stablememory擴容
2、CanisterECDSA簽名
3、應用AMDSEV保護數據隱私
擴容目前主要是針對stablememory也就是不受代碼升級影響的內存管理。之前是受到Wasm虛擬機4GB的限制,不過現在已經可以放開,上限受制于子網的內存總量,目前大約在300GB左右吧。
ECDSA閾值簽名技術,簡單講就是讓每個canister在不存儲私鑰的前提下,也能對數據做出簽名,并且此簽名可以通過公鑰驗證,每個canister都可以得到一個唯一的公鑰。這個是和我們已經實現的ChainKey技術一脈相承的,它的應用也很廣泛,比如canister可以直接發起一個比特幣或者以太坊的交易并且簽名。
這意味著原來必須在私密環境下才能把私鑰交給程序做的事情,現在可以放到一個去中心化的環境里來做。還可以應用在頒發SSL證書,DNS定制域名等等方面。
使用AMDSEV的技術主要是為了在一定程度上保護Canister的數據隱私,這樣就算是節點運營商也無法窺探用戶數據。我們一直在做這方的準備,難度也比較大。好在目前節點所采用的硬件都已經支持SEV技術了,所以到時候希望是一個平穩的升級。
問題6
“開放互聯服務”可以實現永久性API,可以讓開發者放心地構建依賴于其他服務提供的數據或功能,并且不會存在撤銷的風險。“開放互聯服務”如何部署到互聯網計算機上?
回答:提供永久API最簡單的做法是通過把canister控制者設定為空集,來讓它的代碼成為不可修改的。
我個人也做了一個很簡單的canister,叫做blackhole。它的主要目的是讓其它canister可以把控制者設成blackhole,這樣不僅代碼成為不可修改的了,blackhole還提供額外的查詢功能,比如查看賬面cycles的余額,或者查看代碼的哈希值。blackhole本身的控制者被設成它自己,它的代碼也是公開,很容易驗證哈希值的正確性。如果有需要讓自己的canister被其它人信任,把它的控制者設置成blackhole是一個簡潔的方法。
聲音 | 李曉楓:建議從技術方面推進區塊鏈標準化評測:新華財經消息,4月10日,“2019中國國際區塊鏈技術與應用大會”在深圳會展中心召開,中國人民銀行科技司原副司長李曉楓在本次活動上表示,金融和區塊鏈有著天然的聯系,目前區塊鏈領域一鏈一應用、一鏈一聯盟現象愈發明顯,信息孤島將成為區塊鏈治理的重大挑戰。因此,建議從技術方面推進區塊鏈標準化評測,強化監管、完善法律法規,逐步建立適應區塊鏈金融產業發展的長效機制。[2019/4/10]
但如果還需要保持代碼升級功能的話,這就需要引入社區治理功能了。我們正在開發中的ServiceNeuronSystem可以讓應用通過鎖定代幣創建神經元,然后進行投票,來管理應用的方方面面,包括代碼升級。
當然我們做的這套SNS系統還在開發中,尚無實例。而且它只是候選方案之一,社區現在已經項目有在這方面做其它的嘗試,相信都會逐漸成熟起來。
問題7
安全性是計算機的重要議題,InternetComputer運用哪些機制來替代類似防火墻等功能?在防篡改上,DFINITY與其他區塊鏈底層相比有哪些特點?
回答:防火墻的一個主要功能是防止黑客入侵系統,取得內網權限,從而達到盜取或者篡改數據的目的。首先,這個內網外網權限的劃分,就很有問題。它相當脆弱,因為一旦被攻破,內網所有默認的權限都被暴露在攻擊者面前了。所以我們看到不少公司已經拋棄了這種做法,改成給每個服務設置權限,使用統一身份管理的技術來對用戶授權。
與之對應的則是InternetComputer上面的身份管理。一個公鑰對應一個用戶的身份,然后每個canister都能夠獲得調用者的身份。這個身份是無法被第三方篡改的,無論是用戶調用canister還是canister之間的調用。之所以能夠做到這一點,是因為這種調用必須通過共識協議,尤其是跨子網的調用,在發起方和回應方都要通過共識協議,經過驗證才會被認可與執行。
而要快速高效地認證任意子網簽名的有效性,就必須用到我們研發的chainkey的技術。它能夠在保證閾值簽名公鑰不變的同時,支持動態的節點連入和移出。這一點其它區塊鏈目前都無法做到,所以在驗證交易這方面InternetComputer目前是領先的,它的子網之間基本上不需要同步數據。
想在InternetComputer上面篡改數據,僅僅攻破一個節點的權限是不夠的。必須要能夠控制一個子網的2/3以上的節點數才能做到。所以子網的安全性在一定程度上取決于節點數量。而且通過節點的不定期輪換,也能進一步加強這方面的安全性。就算是一個子網被攻破,它也無法假冒其它子網的身份,所以損失的范圍也是可控的。
保障數據真實可靠不被篡改是一方面,對數據隱私的保障則是另一方面。大多數區塊鏈都是公開數據,所以也談不上什么隱私保護。真正的隱私保護可以通過應用層面來實現,用同態加密這樣的技術,但目前效率不夠。所以我們目前的計劃是應用AMDSEV技術,在硬件層面加密。但整個InternetComputer的安全性并不依賴于硬件,有SEV的保障是一個加分項。
問題8
DFINITY的名號其實早在6年前就已經打響了,雖然主網上線的過程比較慢,但我們可以看到DFINITY團隊是真的想做一些顛覆性的東西,共識也是十分強大的。從“以太坊的姐妹鏈”到“世界級互聯網計算機“的轉變受到了哪些因素的影響?
回答:WorldComputer的口號是以太坊最先提出來的,也激勵了很多人,雖然現在它更多的是在數DeFi和數字資產方向發力。“世界級互聯網計算機”方向也一直是DFINITY努力的目標,并不是融資以后才更改的路線。
起初由于團隊條件的限制,只是在BLS和共識協議方面有明確的創新,所以開始第一步是打算先從這方面入手,推出一個鏈再逐步迭代。但后來我們意識到,不解決跨子網通信的問題,那我們將永遠停留在“又一個區塊鏈”的窠臼中,難以創新。也正是因為團隊的堅持,才有了在chainkey方面的突破,解決了跨子網驗證的難題,實現了scalability的承諾。
回頭來看,其實我們只要不斷地問自己一個問題:為什么去中心化的區塊鏈不可以跑網站?
首先要解決一個效率問題,就是訪問網站是需要毫秒級的響應的,怎么能做到?我們的答案是把只讀的查詢和狀態的修改分開,那么99%的網絡流量都是只讀的,是可以做到毫秒級響應的。修改狀態我們也通過共識協議方面的創新做到兩到三秒之內的響應。
效率達到了,那如何驗證內容的正確性?如何讓普通的瀏覽器也能做到?那就必須精簡驗證的所需要的條件。能不能拋棄歷史區塊,僅僅通過一個公鑰?用BLS公鑰的話,怎么解決節點動態變化的問題?怎么解決中心化域名和SSL證書的問題?訪問流量增多的話,如何擴容?擴容的瓶頸和邊界在哪里?擴容的需求和同步合約調用的方式沖突了怎么辦?
只要你不停地追問下去,不停地尋找答案,相信一個切實可行的方案會逐步浮現出來。這也是DFINITY過去幾年堅持在做的事情。
問題9
以太坊剛完成EIP-1559升級,邁出了通縮的第一步,代幣價格也逐漸走高。你認為對于去中心化基礎設施來說,代幣的表現給支持者激勵更大還是技術上的顛覆性更重要?怎么做到兩者的相對平衡?
回答:我是這樣看的,代幣的短期表現取決于市場參與者的信心與預期,長期表現還是要回歸平臺的價值本身。以太坊的技術可以說是經歷了時間的檢驗,盡管有各種不足之處,還是得到了加密貨幣整個市場的認可。至于通縮還是通脹,各有弊端,我是不太能夠認同BTCmaximalist那套說辭的。DeFi在流動性和激勵方面的創新也是非常精彩,不過放長來看,多數項目其實并沒有增加價值,更多的是一場數字的游戲。短期通過代幣價格的提升得到的用戶,也可能因為價格回落,或者另一個項目的崛起而流失用戶。
技術的創新,也很容易被競爭對手拷貝過去。不過我們從整體來看,這些創新是一直推動整個行業向前的。落到單個項目上,到底能否因為純粹技術創新而獲益,還真不好說。業內都在說生態建設,生態項目在一個平臺上到底能有多少保障,尤其是初創平臺,怎么能說服開發者來投入,不是一件容易的事情。
我覺得最值得努力的方向就是把盡力圈子擴大,從支付轉賬,到DeFi,到NFT和游戲,就是一個不斷開疆擴土的進程。在這個大趨勢下,盡力把區塊鏈技術拓展到更廣泛的領域中去,比如讓原生網站跑在區塊鏈上這種目標。用技術的創新和代幣的激勵,一起來獲取新的用戶,才能繁榮生態,提升價值。
問題10
很多人認為InternetComputer是web3應用的主要陣地。每條公鏈或多或少都有自己對于web3的見解和技術實現路徑,如波卡、以太。DFINITY對于通往web3之路的見解和未來規劃/Roadmap是怎樣的?
回答:DFINITY的宗旨是拋開一切不必要的包袱,向BlockchainSingularity的目的地進發。InternetComputer這個項目還有許多未能完善的地方,離完全實現這個目標還有一定的距離,我們希望更多的人能加入進來,一起推進平臺本身的技術進步和構建更豐富多彩的上層項目,來贏得客戶。
每個的公鏈側重點不太一樣,我們相信一切能用區塊鏈構建的,最終一定會用區塊鏈實現。所以也并不排斥結合其它公鏈的技術,比如我們周一發布的路線圖中,有和以太坊、比特幣的深度整合項目,對雙方而言都是一個完美的互補。這會進一步激發資產跨鏈的流動與融合,簡化應用架構,拋棄云服務這種中心化的包袱,從而提升應用整體的安全性和強壯性。
跑網站是重要的一步,但它只是InternetComputer的第一步。我相信當下InternetComputer所打下的基礎,一定會在未來成為BlockchainSingularity這個宏偉拼圖的一部分。
問題11
請問下CanisterSignature是什么?Canister用于簽名的私鑰存放在哪里?Canister里是否支持類似以太坊智能合約的Event機制,可以通過訂閱來獲取某個updatecall是否是caller根據返回值獲取?最后,普通Canister什么時候可以處理ICP代幣?
回答:CanisterSignature是指用子網的公鑰給canister的計算結果做簽名。目前我們使用的是BLS閾值簽名,它有一個很好的特性就是公鑰和簽名的唯一性,是其它聚合簽名的技術不具備的。
閾值簽名,簡單講就是各個不同的節點,它們有各自的私鑰對計算結果簽名,一旦集齊了達到限定數量的簽名,則可以得出一個唯一的閾值簽名,用一個公鑰即可驗證,所以這個公鑰被當作是子網的公鑰。這里是沒有一個相對應的子網私鑰的,節點的私鑰是各存各的,都不一樣。
一個子網上可以跑很多canister,用merkletree的方法,很容易得到指向其中一個canister計算結果的路徑,所以可以把子網的簽名加上這個路徑看作是Canister對某條數據的簽名。
Canistersignature一定程度上相當于eventlog或者收據。因為我們不要求節點保留所有的歷史區塊,單獨為了eventlog做這些也沒有很大意義。畢竟通過querycall和certifiedvar也能實現這樣的功能,并且更強大。
Canister處理ICP代幣在技術上早就不是問題,是因為安全的考量才沒有放開權限。隨著系統的穩定我們的信心也增強不少,所以如果沒有意外,估計近期就會通過社區投票來決定。
社區提問
提問:我發現icp的開發者比較喜歡開發社交應用,請問icp為什么適用于開發社交應用或者開發者為什么喜歡在icp開發社交應用?
回答:我的理解,價值的聚集,首先是來自人的聚集。所以一旦一個區塊鏈平臺可以直接把人聚集起來,一定會有這樣社交類的項目誕生。但現在的Web環境下想要做出一個社交類的爆款相當不易,所以這些項目一定會去嘗試不同的玩法。tokenization代幣化還沒有固定的套路,我也很期待看到這里面的創新。
提問:開發中有個擔心,舉個例子A容器調用B容器,B容器調用C容器,如果在C容器更新了狀態,正常返回值給B容器之后,B容器掛了,此次A容器也會失敗但是,C容器的狀態已經變更了,有沒有推薦的方案解決類似的原子性問題?
回答:以太坊的原子性設計是一旦調用棧上的一個合約發生狀態回滾,所有的合約都必須狀態回滾。這意味著有一個全局鎖,在處理一條用戶事務會鎖住所有相關的合約,直到它全部處理完成,在此期間被鎖住的合約不能處理任何其它事務。這樣的設計雖然開發者編程方便,但是先天缺陷是性能無法擴展。所以我們在最初設計canister的模型時就摒棄了這種做法。
如果需要這方面的組合性,傳統數據庫已經有很成熟的解決方案了,比如兩步提交(two-phasecommit)。這在完全可以在應用層面商議一個標準經由canister接口實現,不一定需要在系統層面支持。
系統設計上總是要做一定的取舍,有時候添加限制比較好,有時候提供選擇比較好。我們的看法是單個方法調用符合原子性是一個比較合適的粒度,沒有必要強制整個調用棧一起做原子化。
提問:我是個幣圈小白,覺得Dfinity生態上的錢包太難用,后期會改變嗎?
回答:首先現在的錢包,所謂的互聯網身份II不是必須的,它是一個可選項。我自己做的App就沒有用它。其次,我的理解是現在各個設備使用瀏覽器的支持比較好,但是手機上App的支持有一定難度,這需要進一步的研發工作。在中國使用安卓手機的用戶,如果上面不能安裝GooglePlay服務的話,會導致無法使用WebAuthn,這也需要一個合適的解決方案,我們正在調研。
提問:我是一名正在互聯網計算機上構建應用的開發者。我想問后端何時可以進行外部http/https調用?此外,由于每個容器4GB的限制,我必須實現我的分布式存儲系統,那么BigMap什么時候發布或有其他更好的可擴展文件存儲方式嗎?
回答:對外部進行http/https調用可以分開看,一個是讀,一個是寫。前者需要預言機,后者如果對方滿足ren-entrancy則完全是可行的。
提問:以太坊上的DAPP可以直接轉到IC上用嗎?
回答:solidity可以編譯到Wasm了,但編程模式不太一樣,而且需要支持的系統接口也不一樣,所以還需要做一定的工作才能支持。
提問:問一個共識的問題,子網中共識屬于PoS嗎?子網節點共識中作惡的話,是否有懲罰機制呢?
回答:是PoS,目前沒有要求節點質押代幣。因為是準入機制,節點不可以匿名,所以相關的懲罰機制比較容易實現。節點需要定期領代幣作為工資,目前的懲罰機制是從中扣除。
提問:stoic錢包助記詞不能導入plug錢包,問了一下stoic開發者,說是加密算法選擇的不同。同時我看官方的錢包助記詞更不一樣,這個后續會有統一的標準嗎?能夠實現像以太坊那樣的一個助記詞多個錢包導入嗎?
回答:的確會造成一個不通用的問題,所以短期內只能提醒用戶標注一下哪個助記詞是哪家的。長期來看,希望社區能夠協商達成一個通用標準。
如果你對于Dfinity生態感興趣,請關注星際視界公眾號并回復“ICP”,進入Dfinity生態探索交流群。
——End——
尊敬的用戶, 應項目方要求,MEXC將支持DarwiniaCrabNetwork(CRING)代幣更名計劃,CRING將會被更名為CRAB.
1900/1/1 0:00:00DAOrayakiDAOResearchGrant:FundAddress:0xCd7da526f5C943126fa9E6f63b7774fA89E88d71VotingResult:DAOC.
1900/1/1 0:00:00第九次波卡插槽拍賣正在火熱進行中。目前KintsugiBTC以164,065.8928KSM的質押量排名靠前,截至2021年9月28日14:00,Gate.ioKINT鎖倉理財已鎖113.695.
1900/1/1 0:00:00親愛的用戶:幣安逐倉杠桿已新增YGG、ILV資產,開放ILV/USDT、ILV/BUSD、ILV/BTC、YGG/USDT、YGG/BUSD逐倉交易對.
1900/1/1 0:00:00為幫助用戶更輕松實現數字資產量化交易,Gate.io量化交易中心全面升級,改名“量化跟單”全新上線,功能及頁面全面升級.
1900/1/1 0:00:00眾議院正在試圖解決一個曾讓眾多Crypto持有者獲益的稅收漏洞,這項審查將使投資者在回購Crypto資產前等待30天.
1900/1/1 0:00:00