風險提示:防範以"虛擬貨幣""區塊鏈"名義進行非法集資的風險。——銀保監會等五部門
資訊
發現
搜索
登錄
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
查看行情
對話DFINITY官方工程師:從技術底層解讀互聯網計算機如何引領Web3時代?
星球君
Odaily资深编辑
2021-08-20 02:04
本文約20546字,閱讀全文需要約30分鐘
通往全新世界的道路要怎麼走,“互聯網計算機”給出了答案。

以下為AMA精華整理,enjoy~

以下為AMA精華整理,enjoy~

以下為AMA精華整理,enjoy~

作為Internet Computer 這個平台的創建者,DFINITY 的願景是blockchain singularity,也就是說所有能在互聯網上面跑的應用,都應該用區塊鏈的技術構建。

Paul Liu:作為Internet Computer 這個平台的創建者,DFINITY 的願景是blockchain singularity,也就是說所有能在互聯網上面跑的應用,都應該用區塊鏈的技術構建。

整個項目歸屬於治理代幣的持有人,也就是整個社區。 DFINITY 會作為主要的技術貢獻者繼續參與開發和推廣整個平台,但我們只是貢獻者之一。在上線短短三個多月的時間,已經有不少其它的社區團隊參與進來。這個平台的發展離不開整個社區的貢獻。進一步推動去中心化,是我們當下最主要的目標。

作為Internet Computer 這個平台的創建者,DFINITY 的願景是blockchain singularity,也就是說所有能在互聯網上面跑的應用,都應該用區塊鏈的技術構建。

為了做到這一點,我們在TCP/IP 層面之上,應用層面之下,添加了一層基於區塊鏈共識技術的協議,我們把它叫做Internet Computer Protocol (ICP)。這一套協議是通過在多個物理節點(計算機)之間交換數據,構建一個虛擬的子網。子網內部的節點對輸入輸出達成共識,相互驗證計算結果,並可以和其它子網之間通訊。多個子網組合在一起共同構建出一個虛擬的計算機,容量可以隨著子網的增加而增加,誰都可以在上面跑程序,訪問其它人的程序,等等。

不過這聽起來和我們現在的互聯網好像也沒什麼差別,尤其是micro service 的概念。那為什麼現在的互聯網不能叫做Internet Computer 呢?這個差別就在於這一套ICP 的協議。這個協議的目的是確保所有程序都被正確執行,它們的狀態無法被篡改,當一個程序調用另一個程序時,它是可以信任這個調用會被正確執行的。目前的互聯網因為缺少這一層協議,導致所有的程序都要自行解決可用性、可靠性以及相互之間的授權等等繁瑣的問題,並因此帶來各種不兼容和安全性上的包袱。

這裡面的核心就是可信任計算,有個說法叫trustless trust 我覺得很貼切,無需信任(局部)的信任(整體)。區塊鏈從比特幣開始到今天的發展,也應證了可信任計算的威力。但絕大部分應用還是集中在金融領域,而我們的目的是拓展到更廣闊的互聯網領域上去。為什麼區塊鏈上不可以直接跑網站?為什麼驗證區塊鏈上的計算需要整個鏈的歷史數據?只有正面解決這些問題,才能讓區塊鏈成為互聯網的核心技術,而不僅僅是停留在記錄和轉賬的層面。

運營一個應用的成本,包括計算和存儲等,是以Internet Computer 的原生代幣cycles 來衡量。 cycles 的價格錨定SDR,1SDR = 1 Trillion Cycles。 SDR 的價格是國際貨幣基金組織設定的一籃子貨幣加權得來的,包括美元人民幣等,相對穩定。

Paul Liu:運營一個應用的成本,包括計算和存儲等,是以Internet Computer 的原生代幣cycles 來衡量。 cycles 的價格錨定SDR,1SDR = 1 Trillion Cycles。 SDR 的價格是國際貨幣基金組織設定的一籃子貨幣加權得來的,包括美元人民幣等,相對穩定。

運營一個應用的成本,包括計算和存儲等,是以Internet Computer 的原生代幣cycles 來衡量。 cycles 的價格錨定SDR,1SDR = 1 Trillion Cycles。 SDR 的價格是國際貨幣基金組織設定的一籃子貨幣加權得來的,包括美元人民幣等,相對穩定。

回到用戶角度,他們不必在意cycles 這個概念。但很多應用需要處理用戶登錄,為此Internet Computer 上面也推出了一套匿名的身份管理系統,我們把它做Internet Identity。這套系統完全是基於web 標準,用戶不需要安裝錢包軟件也能使用。所有這些都是為了降低用戶使用的門檻,讓區塊鏈的應用能夠真正走出去。 Internet Identity 主要是為了解決一個身份在多個設備登錄的問題。而且這個身份在不同的應用中,應用所拿到的代號是不一樣的,這可以防止用戶的行為被惡意跟踪。最後,Internet Identity 本身也是一個上層應用,在整個系統裡也沒有特殊的權限,其它應用可以選擇用它也可以不用。我們現在也看到由其它的開發者開發的錢包和的身份認證系統,都可以選擇,都是可行的。

最後,用戶可能也有興趣參與Internet Computer 的治理。這是一個叫做NNS 的神經元投票系統,算是我們的一個創新吧。它也是應用層面的,不過它有一個比較特殊的權限,那就是能夠管理所有Internet Computer 的子網和整個系統的方方面面,包括節點運行的代碼,版本升級,創建新子網,接入新節點等等。要參與投票,首先需要持有ICP 代幣,鎖定一定數量的ICP 來得到一個神經元,投票的權重和鎖倉數量,鎖倉時長,以及神經元的年齡都相關。參與投票也會得到獎勵,獎勵的多少和投了贊成還是反對無關。還可以跟隨其它神經元的決策,自動進行投票。總體這些設定上是為了讓用戶投票的行為和平台的長期利益掛鉤,並獎勵用戶做出的貢獻。

另一個開發者需要了解的是canister 之間的通信模式是異步的,屬於actor model。也就是每個canister 都是自己的進程,和其它canister 發消息來通信,也就是異步方法調用。一個canister 內部消息隊列的處理都是單線程,不需要考慮鎖,每一個方法調用都是滿足原子性的。熟悉actor model 編程的很容易上手。

另一個開發者需要了解的是canister 之間的通信模式是異步的,屬於actor model。也就是每個canister 都是自己的進程,和其它canister 發消息來通信,也就是異步方法調用。一個canister 內部消息隊列的處理都是單線程,不需要考慮鎖,每一個方法調用都是滿足原子性的。熟悉actor model 編程的很容易上手。

另一個開發者需要了解的是canister 之間的通信模式是異步的,屬於actor model。也就是每個canister 都是自己的進程,和其它canister 發消息來通信,也就是異步方法調用。一個canister 內部消息隊列的處理都是單線程,不需要考慮鎖,每一個方法調用都是滿足原子性的。熟悉actor model 編程的很容易上手。

開發一個應用,通常canister 容器是作為後端的,前端交互可以是在瀏覽器裡,也可以是單獨的APP。之前也提到Internet Computer 可以直接跑網站,這裡就是說canister 可以自行實現http request 的接口,返回網頁包括Javascript 到用戶的終端。前端后端可以一起打包成canister 部署到Internet Computer 上。前端開發我們有現成的庫可以使用,Javascript 和Rust 都有。前端需要調用後端代碼的時候,直接做一個異步函數await 調用就好了,底層都已由庫函數實現。如果需要了解更多的話,這裡面有一個接口和數據編碼的格式,叫做Candid,支持多個語言的實現。 Canister 對外部的接口和數據類型,都是用Candid 來描述的。

這個資料很詳細,涉及了整個系統的方方面面,而且我們做了不少形式化的努力,定義了接口的語義,方便開發者深入理解系統的行為。https://sdk.dfinity.org/docs/interface-spec/

這個資料很詳細,涉及了整個系統的方方面面,而且我們做了不少形式化的努力,定義了接口的語義,方便開發者深入理解系統的行為。

如果是做系統層面的開發,比如共識協議,虛擬機,等等,那可以談的就更多了,可以去看DFINITY 官網上技術圖書館的視頻系列https://dfinity.org/technicals

Odaily:與傳統的阿里雲、騰訊雲、 AWS等平台相比,Internet Computer 有什麼不同?它們也是公司自建的私有云服務,也是用的數據中心,異地備援,多節點運行的。

Paul Liu:目前的雲服務平台,都是基於一個基礎的假設,你必須依賴這個平台的提供者能夠維護平台的安全性,保持網絡聯通,計算不間斷,數據不丟失,等等。商業平台自身的利益和它所服務的用戶之間的利益,雖然多數時候不衝突,但也不是完全一致的。有一個大家應該都比較熟悉的概念Platform Risk,這裡就不展開講了。但最重要的一點,這些雲平台基礎設施提供商,都不希望自己成為commodity (可替換的商品),都在各盡所能留存和鎖住客戶。

Internet Computer 首先是作為一個去中心的網絡存在的。裡面的節點都是由第三方運營,跑在不同的數據中心裡。而真個網絡的治理,是交給用戶的,並不由節點運營商,或者是數據中心來主導。所以這裡面並沒有一個中心化的商業機構來做所有的決策。整個治理系統的設計,也是盡量從長遠的角度出發,希望保持用戶的利益和平台發展的一致性。這個平台是付費給節點運營商的,某一個節點到底是由張三還是李四來運行根本不影響,這是一個自由市場。所以對於Internet Computer 而言,硬件和網絡這些基礎設施,已經成為了commodity。

回顧整個PC 行業的發展史,我們其實可以看到,基礎設施(比如PC 硬件)成為commodity 是歷史的必然規律,在雲服務這裡我相信也不會是一個例外。

第三點則是tokenization, 也就是應用的代幣化。這可以說是整個互聯網應用發展的下一個趨勢,不可阻擋。傳統的雲服務商也最多是提供和區塊鏈之間的橋接組件,一整套做下來它的架構不可避免還是相當臃腫的。 Internet Computer 既然能夠直接跑網站,跑應用,作為原生區塊鏈,做tokenization 的整合是非常容易的。

第三點則是tokenization, 也就是應用的代幣化。這可以說是整個互聯網應用發展的下一個趨勢,不可阻擋。傳統的雲服務商也最多是提供和區塊鏈之間的橋接組件,一整套做下來它的架構不可避免還是相當臃腫的。 Internet Computer 既然能夠直接跑網站,跑應用,作為原生區塊鏈,做tokenization 的整合是非常容易的。

第三點則是tokenization, 也就是應用的代幣化。這可以說是整個互聯網應用發展的下一個趨勢,不可阻擋。傳統的雲服務商也最多是提供和區塊鏈之間的橋接組件,一整套做下來它的架構不可避免還是相當臃腫的。 Internet Computer 既然能夠直接跑網站,跑應用,作為原生區塊鏈,做tokenization 的整合是非常容易的。

當然系統層面也有各種各樣的優化方案可以帶來性能的提升,我們一直也在做這方面的工作,希望能夠充分發揮硬件的性能。

Paul Liu:當然系統層面也有各種各樣的優化方案可以帶來性能的提升,我們一直也在做這方面的工作,希望能夠充分發揮硬件的性能。

Internet Computer 在設計上主要的思路是scale out,也就是遇到瓶頸時通過增添資源,創建新的子網來解決。這個和主流的web 應用的思路基本上是一致的,當一個應用無法通過一個canister 來處理所有用戶請求的時候,合理的做法是在應用層面上使用多個canister 各自處理一部分的用戶請求。也就是說在設計應用的時候,需要考慮到這一點,至少要留出一個遷移到新架構的可能性。目前我知道OpenChat 的設計是走多個canister 的,DSCVR 也留有這樣的餘地,但目前還是集中在一個canister。

從系統層面,通過canister 擴容,可以超越目前4G 內存的門檻。計算方面,也是從並發的指導思想出發,沒有選擇以太坊那種全局原子性的設計。所以不同canister 處理各自的消息,都是在自己的線程裡面,只要硬件負載容許,是不影響其它canister 的性能的。至於網絡方面,基本上帶寬決定了擴展的上限,任何一個區塊鏈都無法避免這個物理瓶頸,只能通過分片,對應到Internet Computer 這裡就是不同的子網。

當然系統層面也有各種各樣的優化方案可以帶來性能的提升,我們一直也在做這方面的工作,希望能夠充分發揮硬件的性能。

歸根結底,哪個賽道有前途,取決它的應用能否快速匯集價值。這個價值,不是說你的項目鎖倉有多少,因為這個量它隨時都可以在變。而是說有你建立了多少和用戶之間的聯繫,建立了多少和其它應用之間的聯繫,這種關聯隨著信任加深,隨著用途增多,它會越來越有價值。代碼可以粘貼,但這種關聯是無法拷貝的。而如果運用得當,代幣在一定程度上可以加速價值的聚集,但最終還是取決於項目本身的內在價值。

Paul Liu:歸根結底,哪個賽道有前途,取決它的應用能否快速匯集價值。這個價值,不是說你的項目鎖倉有多少,因為這個量它隨時都可以在變。而是說有你建立了多少和用戶之間的聯繫,建立了多少和其它應用之間的聯繫,這種關聯隨著信任加深,隨著用途增多,它會越來越有價值。代碼可以粘貼,但這種關聯是無法拷貝的。而如果運用得當,代幣在一定程度上可以加速價值的聚集,但最終還是取決於項目本身的內在價值。

我個人對目前Internet Computer 上面的social dapp 還是很看好的。這個賽道一旦有了tokenization 的加持,會非常迅速成長,絕對不會遜於DeFi 和NFT 遊戲這類的。其它區塊鏈上也有一些社交屬性的dapp,但都受制於起步的門檻,畢竟正確使用錢包這一步,就已經難倒了很多用戶了。在Internet Computer 上面的dapp,使用Web 標準的技術,任意瀏覽器均可訪問。

另外一個我看好的方向是面向個人用戶和麵向中小企業的應用。像項目管理,文件共享,創作者經濟(podcast, vlog,網文等)這種,雖然目前互聯網上已經都有比較成熟的解決方案了,但平颱風險始終存在。前面也提到雲服務的平颱風險,相信大家對各種其它領域的巨頭壟斷都有一定的切身體會。現在去中心化的結構是一個新的可能,平臺本身應該變成透明的存在,而不是盤踞在食物鏈的上游用霸王條款來吞噬用戶的利益。

歸根結底,哪個賽道有前途,取決它的應用能否快速匯集價值。這個價值,不是說你的項目鎖倉有多少,因為這個量它隨時都可以在變。而是說有你建立了多少和用戶之間的聯繫,建立了多少和其它應用之間的聯繫,這種關聯隨著信任加深,隨著用途增多,它會越來越有價值。代碼可以粘貼,但這種關聯是無法拷貝的。而如果運用得當,代幣在一定程度上可以加速價值的聚集,但最終還是取決於項目本身的內在價值。

Odaily:Canister 作為Webassembly 運行的容器,承載了Dapp 鏈上運行的環境。最近關於Canister有哪些新進展?

Paul Liu:就在這週一,DFINITY 發布了開發路線圖,歡迎社區的參與。https://dfinity.org/roadmap

其中和canister 相關的的有:

· Stable memory 擴容

使用AMD SEV 的技術主要是為了在一定程度上保護Canister 的數據隱私,這樣就算是節點運營商也無法窺探用戶數據。我們一直在做這方的準備,難度也比較大。好在目前節點所採用的硬件都已經支持SEV 技術了,所以到時候希望是一個平穩的升級。

擴容目前主要是針對stable memory 也就是不受代碼升級影響的內存管理。之前是受到Wasm 虛擬機4GB 的限制,不過現在已經可以放開,上限受制於子網的內存總量,目前大約在300GB 左右吧。

擴容目前主要是針對stable memory 也就是不受代碼升級影響的內存管理。之前是受到Wasm 虛擬機4GB 的限制,不過現在已經可以放開,上限受制於子網的內存總量,目前大約在300GB 左右吧。

使用AMD SEV 的技術主要是為了在一定程度上保護Canister 的數據隱私,這樣就算是節點運營商也無法窺探用戶數據。我們一直在做這方的準備,難度也比較大。好在目前節點所採用的硬件都已經支持SEV 技術了,所以到時候希望是一個平穩的升級。

使用AMD SEV 的技術主要是為了在一定程度上保護Canister 的數據隱私,這樣就算是節點運營商也無法窺探用戶數據。我們一直在做這方的準備,難度也比較大。好在目前節點所採用的硬件都已經支持SEV 技術了,所以到時候希望是一個平穩的升級。

Odaily:“開放互聯服務”可以實現永久性API,可以讓開發者放心地構建依賴於其他服務提供的數據或功能,並且不會存在撤銷的風險。 “開放互聯服務”如何部署到互聯網計算機上?

Paul Liu:提供永久API 最簡單的做法是通過把canister 控制者設定為空集,來讓它的代碼成為不可修改的。我個人也做了一個很簡單的canister,叫做blackhole。它的主要目的是讓其它canister 可以把控制者設成blackhole,這樣不僅代碼成為不可修改的了,blackhole 還提供額外的查詢功能,比如查看賬面cycles 的餘額,或者查看代碼的哈希值。 blackhole 本身的控制者被設成它自己,它的代碼也是公開,很容易驗證哈希值的正確性。如果有需要讓自己的canister 被其它人信任,把它的控制者設置成blackhole 是一個簡潔的方法。

但如果還需要保持代碼升級功能的話,這就需要引入社區治理功能了。我們正在開發中的Service Neuron System 可以讓應用通過鎖定代幣創建神經元,然後進行投票,來管理應用的方方面面,包括代碼升級。當然我們做的這套SNS 系統還在開發中,尚無實例。而且它只是候選方案之一,社區現在已經項目有在這方面做其它的嘗試,相信都會逐漸成熟起來。

Odaily:安全性是計算機的重要議題,Internet Computer 運用哪些機制來替代類似防火牆等功能?在防篡改上,DFINITY與其他區塊鏈底層相比有哪些特點?

Paul Liu:保障數據真實可靠不被篡改是一方面,對數據隱私的保障則是另一方面。大多數區塊鏈都是公開數據,所以也談不上什麼隱私保護。真正的隱私保護可以通過應用層面來實現,用同態加密這樣的技術,但目前效率不夠。所以我們目前的計劃是應用AMD SEV 技術,在硬件層面加密。但整個Internet Computer 的安全性並不依賴於硬件,有SEV 的保障是一個加分項。

保障數據真實可靠不被篡改是一方面,對數據隱私的保障則是另一方面。大多數區塊鏈都是公開數據,所以也談不上什麼隱私保護。真正的隱私保護可以通過應用層面來實現,用同態加密這樣的技術,但目前效率不夠。所以我們目前的計劃是應用AMD SEV 技術,在硬件層面加密。但整個Internet Computer 的安全性並不依賴於硬件,有SEV 的保障是一個加分項。

想在Internet Computer 上面篡改數據,僅僅攻破一個節點的權限是不夠的。必須要能夠控制一個子網的2/3以上的節點數才能做到。所以子網的安全性在一定程度上取決於節點數量。而且通過節點的不定期輪換,也能進一步加強這方面的安全性。就算是一個子網被攻破,它也無法假冒其它子網的身份,所以損失的範圍也是可控的。

保障數據真實可靠不被篡改是一方面,對數據隱私的保障則是另一方面。大多數區塊鏈都是公開數據,所以也談不上什麼隱私保護。真正的隱私保護可以通過應用層面來實現,用同態加密這樣的技術,但目前效率不夠。所以我們目前的計劃是應用AMD SEV 技術,在硬件層面加密。但整個Internet Computer 的安全性並不依賴於硬件,有SEV 的保障是一個加分項。

Odaily:DFINITY 的名號其實早在6年前就已經打響了,雖然主網上線的過程比較慢,但我們可以看到DFINITY 團隊是真的想做一些顛覆性的東西,共識也是十分強大的。從“以太坊的姐妹鏈”到“世界級互聯網計算機“的轉變受到了哪些因素的影響?

Paul Liu:只要你不停地追問下去,不停地尋找答案,相信一個切實可行的方案會逐步浮現出來。這也是DFINITY 過去幾年堅持在做的事情。

只要你不停地追問下去,不停地尋找答案,相信一個切實可行的方案會逐步浮現出來。這也是DFINITY 過去幾年堅持在做的事情。

只要你不停地追問下去,不停地尋找答案,相信一個切實可行的方案會逐步浮現出來。這也是DFINITY 過去幾年堅持在做的事情。

Odaily:以太坊剛完成EIP-1559升級,邁出了通縮的第一步,代幣價格也逐漸走高。你認為對於去中心化基礎設施來說,代幣的表現給支持者激勵更大還是技術上的顛覆性更重要?怎麼做到兩者的相對平衡?

Paul Liu:技術的創新,也很容易被競爭對手拷貝過去。不過我們從整體來看,這些創新是一直推動整個行業向前的。落到單個項目上,到底能否因為純粹技術創新而獲益,還真不好說。業內都在說生態建設,生態項目在一個平台上到底能有多少保障,尤其是初創平台,怎麼能說服開發者來投入,不是一件容易的事情。

技術的創新,也很容易被競爭對手拷貝過去。不過我們從整體來看,這些創新是一直推動整個行業向前的。落到單個項目上,到底能否因為純粹技術創新而獲益,還真不好說。業內都在說生態建設,生態項目在一個平台上到底能有多少保障,尤其是初創平台,怎麼能說服開發者來投入,不是一件容易的事情。

我覺得最值得努力的方向就是把盡力圈子擴大,從支付轉賬,到DeFi,到NFT 和遊戲,就是一個不斷開疆擴土的進程。在這個大趨勢下,盡力把區塊鏈技術拓展到更廣泛的領域中去,比如讓原生網站跑在區塊鏈上這種目標。用技術的創新和代幣的激勵,一起來獲取新的用戶,才能繁榮生態,提升價值。

二級標題

Paul Liu:二級標題

來自社區的提問

Canister signature 一定程度上相當於event log 或者收據。因為我們不要求節點保留所有的歷史區塊,單獨為了event log 做這些也沒有很大意義。畢竟通過query call 和certified var 也能實現這樣的功能,並且更強大。

回答:Canister signature 一定程度上相當於event log 或者收據。因為我們不要求節點保留所有的歷史區塊,單獨為了event log 做這些也沒有很大意義。畢竟通過query call 和certified var 也能實現這樣的功能,並且更強大。

Canister signature 一定程度上相當於event log 或者收據。因為我們不要求節點保留所有的歷史區塊,單獨為了event log 做這些也沒有很大意義。畢竟通過query call 和certified var 也能實現這樣的功能,並且更強大。

Canister處理ICP代幣在技術上早就不是問題,是因為安全的考量才沒有放開權限。隨著系統的穩定我們的信心也增強不少,所以如果沒有意外,估計近期就會通過社區投票來決定。

回答:

回答:我的理解,價值的聚集,首先是來自人的聚集。所以一旦一個區塊鏈平台可以直接把人聚集起來,一定會有這樣社交類的項目誕生。但現在的Web 環境下想要做出一個社交類的爆款相當不易,所以這些項目一定會去嘗試不同的玩法。 tokenization 代幣化還沒有固定的套路,我也很期待看到這裡面的創新。

系統設計上總是要做一定的取捨,有時候添加限制比較好,有時候提供選擇比較好。我們的看法是單個方法調用符合原子性是一個比較合適的粒度,沒有必要強制整個調用棧一起做原子化。

回答:系統設計上總是要做一定的取捨,有時候添加限制比較好,有時候提供選擇比較好。我們的看法是單個方法調用符合原子性是一個比較合適的粒度,沒有必要強制整個調用棧一起做原子化。

如果需要這方面的組合性,傳統數據庫已經有很成熟的解決方案了,比如兩步提交(two-phase commit) 。這在完全可以在應用層面商議一個標準經由canister 接口實現,不一定需要在系統層面支持。

系統設計上總是要做一定的取捨,有時候添加限制比較好,有時候提供選擇比較好。我們的看法是單個方法調用符合原子性是一個比較合適的粒度,沒有必要強制整個調用棧一起做原子化。

回答:

回答:對外部進行http/https 調用可以分開看,一個是讀,一個是寫。前者需要預言機(oracle),後者如果對方滿足ren-entrancy 則完全是可行的。

回答:

回答:的確會造成一個不通用的問題,所以短期內只能提醒用戶標註一下哪個助記詞是哪家的。長期來看,希望社區能夠協商達成一個通用標準。

回答:

回答:硬件方面現在沒有涉獵。先把充分發揮已有的硬件的技能再說。

回答:

回答:我的理解是現在各個設備使用瀏覽器的支持比較好,但是手機上App的支持有一定難度,這需要進一步的研發工作。在中國使用安卓手機的用戶,如果上面不能安裝Google Play服務的話,會導致無法使用WebAuthn,這也需要一個合適的解決方案,我們正在調研。

回答:

回答:好像Solidity可以編譯到Wasm了,但編程模式不太一樣(比如原子性的粒度),而且需要支持的系統接口也不一樣,所以還需要做一定的工作才能支持。

回答:

回答:是PoS,目前沒有要求節點質押代幣。因為是准入機制,節點不可以匿名,所以相關的懲罰機制比較容易實現。節點需要定期領代幣作為工資,目前的懲罰機制是從中扣除。

回答:

回答:硬件錢包支持Ledger,馬上就會推出。

回答:

回答:二級標題

二級標題

開發者的需求

回答:

回答:標準的推行需要社區的積極參與,甚至需要社區出現領導者來帶頭推動。我們已經就許多熱點問題在社區裡展開討論https://forum.dfinity.org/c/roadmap/29/l/top

回答:

回答:目前治理內容包括更改網絡配置,添加節點子網,以及升級方面,都已經是投票通過立d即自動執行了。但對於推進技術標準,還應該做更多前的前期準備工作,讓更多的人知道並參與討論,才能合理地進行治理。這方面做的還不夠,接下來會使我們工作的一個重心。

回答:

回答:DFINITY 發布的發展路線只是一家之言,有些計劃提出後社區也有不少負面的反饋,所以還有改進的空間,如果社區主流持反對意見,也是無法通過投票的,所以我們也不會浪費精力去研發。有不少發展計劃,其實是社區要求的,我們也覺得合理,就放在路線圖裡了,畢竟我們有一定的開發實力能夠完成。但期望所有的發展計劃全部由我們完成也不現實。代碼都是開源的,有能力的都能參與開發。尤其是應用層方面,比如像bigmap 這樣的,完全可以由其它團隊領頭進行開發。

回答:

回答:代幣標準(FT 和NFT)目前社區正在討論,希望更多的開發者能參與進來發表意見,相信不久就能有很好的方案出台。

生態

回答:生態

生態

回答:

回答:Internet Computer 上做NFT 的一個優勢是它不僅僅是一個獨特唯一的哈希值,可以通過代碼賦予它對應的功能,讓NFT“活”起來,畢竟直接可編程,而且web 界面是全面打通的。 NFT 之間還可以建立聯繫,可以互相組合,玩法非常多樣,充分發揮想像力吧!

系統設計上總是要做一定的取捨,有時候添加限制比較好,有時候提供選擇比較好。我們的看法是單個方法調用符合原子性是一個比較合適的粒度,沒有必要強制整個調用棧一起做原子化。

回答:系統設計上總是要做一定的取捨,有時候添加限制比較好,有時候提供選擇比較好。我們的看法是單個方法調用符合原子性是一個比較合適的粒度,沒有必要強制整個調用棧一起做原子化。

如果需要這方面的組合性,傳統數據庫已經有很成熟的解決方案了,比如兩步提交(two-phase commit) 。這在完全可以在應用層面商議一個標準經由canister 接口實現,不一定需要在系統層面支持。

系統設計上總是要做一定的取捨,有時候添加限制比較好,有時候提供選擇比較好。我們的看法是單個方法調用符合原子性是一個比較合適的粒度,沒有必要強制整個調用棧一起做原子化。

回答:

回答:Internet Computer 的賬號模式不太一樣。用戶沒有統一的系統層面的帳號來記錄代幣信息。每個Canister 可以自行管理用戶,而賬目數字都是記錄在canister 狀態裡面的,所以如果需要保持所有歷史轉賬記錄的話,需要做一些額外的工作。

Internet Computer 用於治理的ICP 代幣,其實也就是一個canister 實現的,除了能轉換為cycles 用於運行canister 之外,並沒有什麼特殊的系統支持。它的實現也可以作為一個例子供開發者參考。

DeFi 目前來看有幾類,一個是交易所,一個是藉貸,還可能再加上一個穩定幣。在我看來,最佳方式是通過SNS 社區治理來配置參數和升級代碼,可以更快速地迭代並有效地降低風險。而且前端完全上鍊,能夠做到真正的去中心化。

另外一個方向,就是通過Canister 的ECDSA 簽名控制其它鏈上的資產,直接調用其它鏈上的合約。這個相當強大,相信會讓跨鏈資產的流動更迅捷更安全,估計會誕生新鮮的玩法。

回答:

回答:對,CeFi 體驗的DeFi 已經有社區項目在做了,完全可行。

開發工具

回答:開發工具

開發工具

回答:

回答:Rust 生態成熟,現成可用的庫相當豐富,但是語言比較底層,上手有一定難度。目前用Rust 開發canister 方面的文檔比較缺乏,如果是Rust 新手的話,我不太建議。

Motoko 有自動內存管理,上手比較容易,編譯器質量也比較高,但是生態不足,庫不夠豐富,經常需要自己搭梯子。

我個人的選擇是motoko,因為工作中寫Rust 寫太多,比較討厭它的一些缺點,當然這不是一個特別好的理由。

回答:

回答:Internet Computer SDK 自帶的replica 軟件就是一個本地的測試網絡,可以在一台機子上運行,然後團隊都能連到上面協作開發。

至於一個更大規模的公共測試網絡,目前我們沒有精力來維護,似乎也不是特別必要,因為直接在Internet Computer 公網上部署測試其實花費也很低。當然也歡迎到論壇上把這個要求作為正式的提案提出來,說不定社區可以出台一個方案運行一個這樣的公共測試網。

回答:

回答:歡迎提出這方面的具體要求,更歡迎開發者使用motoko 的包管理工具vessel,並提交開源的庫。有一些開發者已經在這樣做了,我們這邊肯定也會持續開發,但總體來講還是需要社區共同努力。

回答:

回答:目前Rust 工具鏈有cdk 和agent-rs,文檔和功能都比較欠缺,我們也在努力改進。 NNS 子網上的幾個canister 都是rust 實現的,可以作為例子參考。

回答:

回答:好像solidity 可以編譯到Wasm 了,但編程模式不太一樣(比如原子性的粒度),而且需要支持的系統接口也不一樣,所以還需要做一定的工作才能支持。

C/C++ 肯定是可以的編譯到Wasm,目前缺乏系統API 的頭文件,但實際上並不難寫,有一些開源的簡單例子。

二級標題

二級標題

關於gas

回答:

回答:是的,計算、存儲,安裝都需要消耗cycles。開發者可以申請免費的cycles 來啟動項目https://faucet.dfinity.org/

回答:

回答:可以通過實現canister_inspect_message 這個方法來迴避惡意的攻擊。這個方法本身不消耗cycles

回答:

回答:二級標題https://faucet.dfinity.org/

二級標題

關於存儲

回答:

回答:bigmap 在路線圖上,可以前往論壇參與討論

回答:

回答:擴容計劃在路線圖上,可以前往論壇參與討論

回答:

回答:相關技術成熟之後應該是沒問題的

回答:

回答:大規模存儲肯定是需要分片的,也就是分開到多個canister,可以參考bigmap 項目

二級標題

回答:二級標題

錢包與身份

回答:

回答:首先II 不是必須的,它是一個可選項。我自己做的App 就沒有用它。

其次,我的理解是現在各個設備使用瀏覽器的支持比較好,但是手機上App 的支持有一定難度,這需要進一步的研發工作

在中國使用安卓手機的用戶,如果上面不能安裝Google Play 服務的話,會導致無法使用WebAuthn,這也需要一個合適的解決方案,我們正在調研

回答:

回答:沒有統一的系統層面的帳號用於身份認證,一個公鑰直接對應一個身份。如果需要管理不同設備登錄,則需要在應用層面來解決這個問題。 II 是一個方案,但它不是必須的,它是一個可選項。我自己做的App 就沒有用它。 II 給同一用戶在不同的容器分配不同的ID,是出於隱私保護的考量。

另外也有其它的開發者做了跟傳統區塊鏈更接近的錢包插件,也是不錯的選擇。

回答:

回答:一個公鑰直接對應一個身份,想要在不同的canister 裡面使用同一身份的話,那麼需要用同一個公鑰。這顯然也是可行的,只不過II 選擇了保護隱私的做法。

允許不同的應用選擇自己的身份認證和賬號管理模式,顯然有好處也有壞處。最直接的壞處是,如果用戶習慣了其它區塊鏈上那種全局地址的做法,可能在這裡就不太適應。但我們看看在現實生活中,你在每家銀行開的賬號也可能是不同的格式,你在幣安和火幣的地址也並不相同,所以這種做法也不能說完全行不通吧。

回答:

回答:的確會造成一個不通用的問題,所以短期內只能提醒用戶標註一下哪個助記詞是哪家的。長期來看,希望社區能夠協商達成一個通用標準。

二級標題

回答:二級標題

未來發展分享

Q1:DFINITY 上容器的訪問鏈接會因為ic0.app回答:

回答:不同域名都可以解析到Internet Computer 上面的容器地址。比如fleek 就運營了自己的域名接入到Internet Computer,它的後綴是ic.fleek.co

在Canister ECDSA 簽名實現之後,會在域名上有更靈活的支持。

回答:

回答:是的,這個叫vanity URL 也在公佈的路線圖裡。它的前提是Canister ECDSA 簽名,所以開發工作正在進行中。

回答:

回答:目前只是一個提案,社區反對的意見也比較多,希望繼續討論。

回答:

回答:是可行的,歡迎社區提案,大家一起討論。

二級標題

回答:二級標題https://dfinity.org/howitworks/direct-integration-with-bitcoin

其它問題

回答:

回答:TPS 不是一個很有意義的比較,因為對transaction 沒有準確的定義,一條transaction 的大小可以是幾十個字節,也可以是MB 甚至GB。它做的事情可以只是加減賬本數字,也可以是讀寫GB 的內存。

如果我們僅僅考慮transaction 是簽名過用於執行的消息,那在Internet Computer 上面這包括用戶發來的消息和子網之間發送的消息。目前IC 上面對用戶發來的消息做了人為的限制,大約是350/s,主要目的是防止DoS 攻擊。隨著平台穩定,會逐步提高這個上限。

從整體來看,IC 處理的TPS 沒有天花板,因為它隨著用戶需求增加,可以隨時添加新的子網。

回答:

回答:目前的成本很低https://sdk.dfinity.org/docs/developers-guide/computation-and-storage-costs.html

回答:

回答:目前的懲罰機制是扣除節點運營商所得的獎勵。通常我們會要求一個運營商參與多個子網,所以一個節點作惡會影響它整體的收益,這樣作惡的成本就上去了。

回答:

回答:目前只支持Rust。例子如下:

    use ic_cdk_macros::*;

    #[query]

    fn hello() {

        ic_cdk::print("Hello World!");

    }

    #[link(wasm_import_module = "ic0")]

    extern "C" {

      pub fn accept_message() -> ();

    }

    #[export_name = "canister_inspect_message"]

    fn canister_inspect_message() {

       unsafe { accept_message(); }

    }

回答:

回答:準確的說,數據中心並不參與運營,通常是節點提供商把自己的服務器託管在數據中心參與運營。節點提供商必須經過KYC,除了增加作惡成本,還可以更好地根據地域、所屬數據中心以及利益方來在不同子網之間分配資源,做到更大程度的去中心化。相比比特幣和以太坊目前的礦池結構,IC的做法反而不會導致中心作惡,因為是網絡結構是通過NNS 統一分配的,不是節點自己決定的。

前面回答了

回答:前面回答了

回答:

回答:ECDSA 的閾值簽名可以打通和以太坊生態的整合。

Internet Identity 登錄符合OAuth 的標準,完全可以用到其它鍊或者任何其它網站上面。

通過和比特幣、以太坊的整合,肯定會增加跨鏈資產的流動性。

以太坊的生態目前跨鏈都需要通過中心化的橋接組件,並不能實現雙向自由調用,影響了跨鏈應用的可組合性。 IC 的整合方式會改變這一點

回答:

回答:比特幣的區塊會直接上載到IC 上,所以查看UTXO 的記錄很容易。

二級標題

二級標題

更多精彩內容,歡迎各位加入Odaily 電報社區

Odaily 電報頻道:https://t.me/Odaily_News

Odaily 電報社區:https://t.me/Odaily_CyptoPunk

DFINITY中國官方的聯繫郵箱:china@dfinity.org,大家有問題需求合作等歡迎聯繫此郵箱。

DFINITY