自從4月份以來,我們夸克鏈進展迅速,4月底上線主網,現在已經穩定運行了大半年了。
第一個,我們主網從4月底上線,中間經過兩次大的升級,現在已經支持交易轉帳和智能合約。可以說我們白皮書大部分的內容都實現了。
第二個,現在節點數目50多個,其中一半多都是社群的節點,分片上面大部分算力都來自社群。
第三個,我們主網已經被包括Upbit, Gate, Kucoin, Piexgo交易所支持,到現在為止都是穩定運行,沒有匯報過重大的問題(比如丟幣或者無法同步的問題)。
第四個,跨片交易(包括跨片合約的調用,交易所提幣打幣)都如期的運行。
記住,這些都很重要。相對於其他的分片/多鏈項目而言,比如Cosmos的IBC現在還沒有打開,Polkadot還沒有主網上線,而我們作為一個從底層重寫的項目,現在都已經跑的很不錯了:)
另外,近期我們隆重開源了Go版本QuarkChain: https://github.com/QuarkChain/goquarkchain 。
Go語言性能表現比Python語言更好。另外,多個版本之間可以相互驗證,互相提供安全性。
因為使用的代碼如果有一個發生了錯誤或者漏洞,還有另一個份不同代碼語言,這樣就可以在網絡正常運行的基礎上進行修復,修復之後新版本還能保持同步,安全性更好。
有更多語言更多的程式設計師可以用,影響力更大。Python開發速度更快,但Go版本性能更好。
跟現在市場上面的項目對比,我可以自豪的說,夸克鏈QuarkChain是除了以太坊以外唯一的從一開始就支持多語言項目。
Go版本的內測的性能是大概 Python版本的三到五倍,但是上線是多少,我們也不知道。
所以我們最近舉行了第二屆的TPS比賽,邀請我們社群的小夥伴們一起幫我們驗證, 不需要編程基礎,只需要有一定的動手能力就可以。
比賽規則:很簡單!在規定時間內,搭建一個QuarkChain 網絡並進行負載測試,我們將根據TPS峰值排名進行獎勵。
一、最高TPS峰值獎:第一名:0.5 BTC + 1,000,000 QKC第二名:0.15 BTC + 300,000 QKC第三名:0.1 BTC + 200,000 QKC第四 〜 五名:0.05 BTC + 100,000 QKC
二、TPS峰值挑戰獎。該獎項用來獎勵最先達到100,000 TPS的有效提交:第一個達到100,000+ TPS的:0.1 BTC + 200,000 QKC另外,挑戰獎將不設限!當第一個100,000+ TPS得主產生時,我們將公布下一個最先達到TPS的數字以及相應的獎勵!
三、參與獎30,000 QKC / 位參與獎用來獎勵前50位參與QuarkChain夸克鏈TPS比賽(以提交時間為準)且TPS峰值達到20,000+的程式設計師,我們將為每位參賽程式設計師設立30,000 QKC的獎勵!
具體信息,可以請大家關注我們的社群網站 https://community.quarkchain.io
Q1:提問:能否用最通俗的語言和大家來解釋一下跨鏈的難點在哪裡?你們是怎麼解決跨鏈難題的?有人認為跨鏈有比較成熟的理論依據, 而分片幾乎沒有, 你怎麼看這個觀點?或者, 你們目前的分片是有理論基礎的, 或者是找到了工程上的最佳實踐?
周期:這個是一個很好的問題。我先說一下,我們的跨鏈,更直接的應該是說跨分片鏈的通訊。 我們認為我們在理論上,還有工程實現上面都找到了比較好的結論。
我們最近發表了我們的共識文章,玻色子共識Boson Consensus,從理論角度描述了如果能夠安全的做到跨分片鏈的交易: https://github.com/QuarkChain/pyquarkchain/blob/master/papers/boson.pdf 。其中,有一個中文的描述版本可見: https://mp.weixin.qq.com/s/dWTaiw7CbqK6LxL1-h9j4g
這個理論是從我們做QuarkChain上面總結,抽象出來的。但是後來我們發現,Polkadot本身的跨parachain的通訊也可以來描述。
甚至,Vitalik最近寫的關於Eth2.0 分片的文章 : https://notes.ethereum.org/@vbuterin/HkiULaluS 也有類似的描述, 比如我們的一個圖:
vitalik一個月前proposa的方案
為什麼跨鏈交易難?這裡面關鍵幾點,1,安全,怎麼保證源鏈和目標鏈上面的操作都能夠按照時間順序完成?Cosmos其實是不能保證的,所以做了很多弱化的處理(雖然他們說沒有問題,但是我覺得問題還挺大的), Polkadot和我們都引入叫「共享安全」的模型,可以從理論上證明兩個操作(源鏈和目標鏈)都可以順序執行。
2,從工程角度來說,我們也非常大的簡化了跨片交易對用戶體驗的影響。Polkadot的跨片交易,在他們白皮書也承認,不能保證每次跨片交易的成功,如果失敗的話,需要複雜的恢復過程(白皮書提到,但是怎麼恢復現在還是問號)。
我們從代幣經濟的激勵角度出發,用戶可以安全的發送跨片交易,包括跨片合約的調用。基本上用戶可能都沒有意識到一個交易是跨片的。也就是除了地址比ETH長一些,上面所有的交易,基本上跟ETH一樣(不管是跨片還是片內)。我認為這對於用戶來說是非常重要的。對了,另外說幾句,我們會近期把我們的經驗,在以太坊社群裡面溝通 :)
紅軍大叔:嗯, 從直覺上大家對於協作模型覺得master slave 的模式比較符合直覺, 或者說一個航母+N個飛機。 所以, 可以說「共享模型」更靠譜?
周期:一個航母+N個飛機很形象。我一般喜歡的比喻是一國N制,或者一國多省, 共享模型,大家共享了安全, 但是又可以擁有自己的制度,非常多樣化。
紅軍大叔:「 Qi Zhou: 我們從代幣經濟的激勵角度出發,用戶可以安全的發送跨片交易,包括跨片合約的調用。基本上用戶可能都沒有意識到一個交易是跨片的。」這裡感覺你們取了個巧?怎麼理解代幣經濟的激勵角度?
周期:嗯嗯,ETH每個塊有個gas limit,打包者為了能夠獲取最大利益,一般會包打滿。我們裡面,每個塊有兩個gas limit,一個是片內,一個是跨片。如果一個礦工不打包跨片交易,那麼跨片交易這部分的gas limit就會浪費掉。所以會鼓勵礦工儘量多打包跨片交易,避免浪費。
而Polkadot說,每個礦工可以跳過打包,甚至丟棄掉。在我們共識裡面,相當於這些手續費都不要了,但是不會丟棄掉,下一個礦工還是可以撿起來,繼續打包,收手續費。
紅軍大叔:解決了經濟激勵之後應該還沒有全部解決問題, 即跨片交易過程本身有什麼技術挑戰嗎?
周期:本身的技術還有一些挑戰,比如兩個不同帳本(一個UTXO,一個account)怎麼互通,怎麼支持更多的帳本模型?支持當一模型(比如都是account),根據我們現在主網跑出來的效果,應該是不錯的。我建議大家可以試一試 (比如用qpocket.io)
紅軍大叔:主要是智能合約這塊在跨片的時候有哪些核心問題要處理?
周期:嗯嗯,另外一個約束是,我們可以讓用戶調用不同分片的合約(這裡Vitalik最近也寫了一個帖子,叫Cross-shard DeFi Composibiilty,其中大部分的例子,我們都可以跑了)
但是合約調用另外一個不同分片的合約,然後這個合約還可以調用其他分片的合約,還是難題。我認為短期沒有通用的解決方案。
紅軍大叔:我印象中以太坊提到了一個pull的動作, 具體沒太理解。
周期:主要是這個核心問題。不過好處在於,大部分的DeFi的composibility只需要token能夠在不同分片移動就可以,這個我們是完全支持的。相應的帖子在 https://ethresear.ch/t/cross-shard-defi-composability/6268
Q2提問:我看pyquarkchain裡有不少從以太坊裡Fork的內容, 夸克和以太坊應該是關係很近了, 那麼能否說說夸克從以太坊這裡學習和借鑑的思想以及教訓?
周期:先說明一下,我們分片鏈可以使用任何的單鏈共識,帳本模型,交易模型和代幣經濟學.
我們現在實現的分片主要是基於以太坊的模型,但是我們計劃馬上要支持類似比特幣(還有比如zcash)的帳本和交易模型,也就是一個網絡,支持多種共識和帳本,交易模型。做到海納百川。
以太坊擁有使用最廣泛的虛擬機,還有開發環境,以及社群,我覺得都是非常不錯的。
另外,我認為以太坊的成功,其實是相對於比特幣而言,提供了更好的靈活性 - 通過合約可以不需要做鏈就可以發幣了,可以通過幣來參與DeFi,等等.
但是以太坊的交易模型(gas),以及必須使用以太坊作為gas,我覺得靈活性還是差了一點。很多dapp都需要向用戶解釋,為什麼需要購買他們的幣之外,還需要eth,什麼是gas。
我們這一方面,對自己的革命做的更加徹底。每個用戶可以發行自己的原生代幣,可以使用原生代幣直接調用合約,並且支付手續費。直接跳過了QKC。這樣每一步對用戶的要求降低,我認為對於dapp來說,都是好處。
另外,除了代幣經濟提供更高的靈活性,我們還可以在其他維度提供更高的靈活性。
在以太坊在公鏈的4個維度裡面,其他的比如共識機制(PoW),帳本模型(Account)和代幣經濟(ETH),都是寫死的。對於很多社群來說,就不能完全滿足要求。
比如最近Aragon項目就自己做了一個鏈,Polkadot也可以做一鍵發鏈。但是對於大部分社群而言,自己做鏈的成本太高了。另外,對社群有很不好的效果,就是每添加一個新鏈,都會某種程度上,對社群進行割裂。
比如挖礦社群,ASIC和GPU社群就是相對獨立的,到現在PoW社群和PoS社群又進一步分化,ASIC社群內部比如比特幣挖礦也因為BCHABC/BSV的出現,進一步分裂。
為了凝聚社群的共識,我們著力打造的就是一套公鏈系統的靈活性,QuarkChain每一個分片可以單獨保持自己的特點,不需要和其他分片保持一致(實現了不同分片共識機制、帳本模型、交易模型和代幣經濟四個維度的可定製化)。這樣一來,如果有新的單鏈功能,就可以通過開設新分片的方式加入,並且能夠和其他分片互聯互通,不用擔心會稀釋已有社群的共識,大家可以很方便的在同一個網絡裡面共建生態。
Q3提問:看到夸克也有在同時做多個客戶端開發, 能說說當前兩個項目各自的狀態和感悟?以及為什麼考慮做多個客戶端。
周期: 首先,夸克鏈QuarkChain始終手握核心技術,堅持自主創新,不受行業大環境波動影響,始終聚焦技術開發。在測試網上線、代碼開源、主網上線、開放交易、智能合約功能如期上線後,為了鼓勵更多開發者的參與,提升網絡的穩定性和進一步優化QuarkChain主網性能,經過10個月開發後,Go語言版本今日如期上線。是夸克鏈QuarkChain團隊的技術實力、工程實力、交付實力的體現。
除了展示技術能力外,更關係著夸克鏈QuarkChain對區塊鏈行業未來發展的重要布局。更多的程式語言的支持,意味著能夠覆蓋更多的開發者,讓開發者們充分利用不同程式語言的優勢,並提供更加穩定的網絡,避免單個版本可能出現的單點系統故障。但是目前的行業僅有夸克鏈QuarkChain和以太坊在多語言方面在一開始進行布局。
另外一開始用Python是開發效率高,現在的Go版本,運行效率更高。但是兩個語言版本的外部功能完全一樣,包括共識協議和JSON-RPC。這樣,網絡會更加穩定,為了保證網絡不會因為一個版本出錯而導致網絡故障,Python版本也會繼續維護和更新。
夸克鏈QuarkChain從一開始秉承開源精神,鼓勵社區參與。我們認為,對行業的推動都需要切實落實在可以理解、改進和復用代碼上,因此我們堅持開源以供社區檢驗和參與優化。此次Go版本上線同時開源,不僅是自身實力的表現,更展現了夸克鏈QuarkChain的開放胸懷和為區塊鏈行業貢獻累加式創新的努力意願。
紅軍大叔:python和Go版本的代碼量是什麼樣的?周期:
我們的go程式設計師經常說,為啥python一行語句,go要寫10行
紅軍大叔: 在夸克的開發者工具棧目前有哪些?包括前端
周期:前端我們有javascript的庫(web3庫),後段有jsonrpc, 另外,其他工具,比如quarkchain上面的標準合約庫也在不斷更新, 見 https://github.com/QuarkChain/quarkchain-contracts .
周期:類似ERC20這樣的庫,包括發行新的原生代幣, 包括staker和挖礦質押挖礦的操作, 等等。
Q4提問:大部分對分片總體上還是了解比較少的, 能否說說以太坊2.0的分片方案和你們的分片方案有哪些主要的不同?
周期: 主要不同來自於我們的靈活性,以太坊2.0將共識機制從PoW改成了PoS,各個分片也都是同質的,也就是各個分片的虛擬機、共識機制、代幣經濟學、帳本模式都是完全一樣的(雖然虛擬機上面可以做拔插式的)。
而我們的特點就是不同分片可以支持不同的虛擬機、共識機制、代幣經濟學還有帳本模式。可以提供更高的靈活性。
另外,可能比較明顯的是我們的開發進度和功能設計方面。以太坊2.0因為已經是一艘「大船」了,所以轉向比較困難,現在分片還沒有上線,跨片交易細節還是研究和設計中,這兩項功能我們現在已經實現了。
比如之前提到的分片技術不會影響DeFi的可組合性,就是不同DeFi的應用都能夠互相簡單的溝通。比如我可以用ETH質押做DAI,然後通過DAI去Compound做抵押,換取利息。這裡面的關鍵橋梁是用戶發行的代幣(ERC20)是否可以方便的在不同分片直接轉移。
並且實現轉移之後,他給了幾個DeFi的例子,來表現用戶可以通過這些代幣,在不同的DeFi應用(包括在不同的分片),怎麼滿足可組合性。這裡,我們很欣喜的發現,Vitalik提出的這些例子,現在都可以在QuarkChain上面實現了!!!
首先,用戶可以發行自己的原生代幣,可以跟QKC在分片/鏈之間做轉帳操作,測試網已經完全支持。我們最近也在做關於原生代幣發行的標準(QCEP)。
另外,通過發行用戶原生代幣(比如DAI),用戶可以使用這些代幣,直接調用不同分片上面的合約,參與DeFi。而且從用戶體驗來說,跟現在的以太坊基本上沒有區別!!!可以說,我們已經提前實現了以太坊,Vitalik上個月提出來的構想。
紅軍大叔: 是不是也從另一方面說明, 同質的分片更容易實現?或者說問題更少?
周期:對的. 尤其是共識同質,大家整齊劃一,就會容易很多。
而我們自己叫一國N制,也就是一個區塊鏈網絡裡面,多個制度(多個共識,帳本,交易,代幣經濟)都運行。
我們一開始也是從同質入手的,而且現在的主網的分片也是比較同質的。但是後面發現,即使不是同質,我們的系統的泛化能力一樣可以支持,後來我們玻色子共識的論文因此就出來了。
周期:好的,我們團隊現在大概30人,雖然不多,但是非常精悍。一般多都是程式設計師(包括我本人),有Google, FB, Uber, 微軟,Adobe,EMC出來的工程師。
另外也打下廣告,我們長期招聘優秀,對區塊鏈感興趣的小夥伴,不管是工程師,市場,bd,我們都需要哦.
團隊也分布在中國,韓國,美國矽谷, 計劃歐洲,這樣所有大的時區都有.
Q5提問:目前看來,異構分片的夸克鏈QuarkChain每條分片可以支持不同的虛擬機,共識,帳本以及代幣經濟學,這感覺其實就是可以支持靈活定製的』鏈』。聽起來和cosmos, polkadot的構想非常類似,你們和這兩個項目的異同點是什麼?
周期:
Cosmos的思路是每個鏈自己負責自己的安全,這裡面我們認為安全問題還是會發生。
Polkadot跟我們一樣,會共享安全,Polkadot的Substrate也做的很不錯。但是Polkadot還是非常依賴於PoS的共識模型,包括parachain根據現在代碼是不能隨意配置共識的,靈活性方面相對於夸克鏈來說,約束多一些。
另外,Cosmos和Polkdot的網絡還在早期(比如Cosmos還不支持跨鏈),而我們的主網已經穩定運行了6個多月。跨片/鏈的交易,在上面已經跑了3-4個月,現在沒有發現任何主要問題。所以不管是靈活性還是開發進度而言,我們都是走在前面的。
Q6提問:如果對分片發起算力攻擊, 會是通過什麼方式?有多大難度?你們在算法兼容上目前是如何做的?
周期:如果分片要被攻擊,我們共識一個重要的屬性是這個攻擊必須也要攻擊根鏈。
比如這個圖裡面,攻擊者想要攻擊b3。如果只是攻擊分片鏈,比如創建一個更長的分片鏈,是不能成功的。
要攻擊,就需要創建一個更長的根鏈。但是攻擊根鏈的成本就高很多了。這個原理,也是玻色子共識的核心原理。
紅軍大叔: 這張圖問一個小細節問題, 攻擊後的Fork為什麼在Rootchain上是B0而不是B1?
周期: 因為B1包含了b3塊,因為攻擊了b3,所以B1的fork (B0 <- B1)就必須也要被攻擊, 所以最後根鏈的fork變成了 B0 <- B2 <- B3
紅軍大叔: 關於算力再補充問下:市面上現有哪些類型的礦機是可以直接挖QKC的?
周期: 顯卡礦機(ethash)或者CPU也可以, 後面,我們會支持更多的礦機哈。
紅軍大叔: 那這種情況其他幣種的算力遷移過來沒有51%的問題?
周期:不會的,因為被根鏈保護。另外,我們也提供了押幣挖礦的算法,需要質押(應該少數)的QKC,所以解決方案是挺多的.
這個是我們提升系統安全性的一個想法,主要是結合PoS和PoW的好處。避免51%的攻擊, 而且我希望很多小幣,尤其是被攻擊過的小幣都可以通過這個方法提高自己的安全性。
Q7提問:1024講話之後, 很多公鏈也開始考慮加入到聯盟鏈的研發和提供諮詢服務中, 夸克對聯盟鏈有什麼自己的想法?以及, 未來的區塊鏈的落地會是一個怎樣的方式是可能的?
周期:我們在2B的領域一直有所布局,從去年開始已經同多家企業或機構籤署協議,依靠我們的玻色子共識,我們就可以支持聯盟鏈或者私有鏈。
其中玻色子共識 和 QuarkChain的關係,類似於區塊鏈和比特幣的關係。我們發現使用玻色子共識,做聯盟鏈,或者私有鏈,可以做到現在很多做不到的功能,所以我們認為這裡是一個非常大的市場。
早期版本Go語言主網作為我們面向企業的,已經提供。另外,我們也希望好的技術,能夠給更多的實體賦能。
比如我們認為,央行推行的數字人民幣,如果使用區塊鏈和玻色子共識,我認為完全可以達到visa的處理能力,並且支持全球流通,能夠更好的發揮人民幣國際化的作用。
雖然,這個領域有了比如IBM的競爭者,但是我們擁有自己的獨立研發的核心技術,我認為中國人在這裡領域裡面,也可以走在最前列!
Q8提問:近期Nervos也是剛剛上線, 他們採用的是Layer1,Layer2的分層方案, 你覺得夸克的分片和Nervos的分層不同主要在哪裡?
周期:Layer2的方案,包括閃電,側鏈,等等,跟分片很大的不同在於,分片技術可以保障分片鏈上面數據的正確性。
但是很多layer 2從原理不能保證,需要從經濟激勵來滿足。一方面提高了複雜度,另外一方面,安全性也會降低。所以我們現在可以做到基本上對eth1.0的無縫支持,但是layer2 很難。
但是,分片和layer2不是衝突的, 而且我們一個分片可以自定義共識,帳本,交易模型。所以任何layer1上面對layer2的創新,我們都可以海納百川,包含進來的哈。
Q9DeFi發展當前熱度較高, 你們怎麼看待DeFI,夸克鏈上有DeFi相關的項目規劃麼?
周期:這也是我們在研究分片DeFi的Composibility,並且注意到Vitalik的帖子, 我們近期已經有若干項目對我們在分片上面做DeFi感興趣,可能短期就看到相應的進展。
Q10夸克鏈的特點是根鏈 + 分片, 根鏈為分片提供算力安全保護, 同時也從分片鏈上收稅來保持整個生態的運轉, 很像一個國家像諸侯國收稅的模式, 夸克自己的分片鏈本身也是一條相對獨立的鏈。那麼問題是, 什麼樣的項目願意進到夸克的體系裡來做一個「小國」?現有的項目更多覺得自己可以來「打拼」, 或者說自己來做「更性感」, 那麼剩下來的, 對於夸克鏈更感興趣的群體似乎是之前做dapp這類的應用為主的群體, 你覺得會是這樣的嗎?分片就是一個獨立的應用模式可能嗎?
周期:我覺得是一步一步的關係, 第一步是我們先把國家做好。美國一開始也就只有東海岸的幾個州, 但是隨著實力增加,越來越多的地方參與(包括擴張,吞併).
不斷求新:通過添加新分片的方式,支持針對應用優化的共識(比如DPoS,BFT),Ewasm虛擬機,隱私技術等等。所有的QuarkChain用戶能夠立即獲得新分片的好處。
老幣賦新能:通過分叉已有的幣,可以讓現有的持幣用戶,享受QuarkChain網絡帶來的好處。比如分叉萊特幣之後,所有的萊特幣用戶都能夠在QuarkChain上面調用智能合約,玩DApp,並且參與DeFi。
但是歷史也告訴我們,當一個國家到了一個高度之後,自然會有外部想要加入,比如夏威夷就是想加入美國,結果美國還要投票。現在的波多黎各想成為美國一個州,美國還不讓。
所以我們從歷史經驗出發,我們要不斷的完善自己,擴張新的社群(挖礦,隱私,dapp)。一旦我們量級達到一定規模,自然會有項目過來,以一個分片的形式加入。
而且我可以斷言,大部分的為了單個dapp的鏈,很難成功,因為社群的冷啟動,是很困難的。而且跨鏈操作的體驗也會非常差。但是如果以分片加入進來,就可以立即享受我們社群的用戶,這個對很多早期項目來說,是非常有吸引力的。
紅軍大叔: 假設萊特幣的社區覺得夸克鏈對他們有吸引力,遷移到夸克鏈複雜嗎?遷移到夸克之後會新產生一個代幣是嗎?
周期: 需要一定的支持,但是我們逐步簡化。遷移過來,會有一個萊特幣的分片,上面是幣是萊特幣分叉出來幣。相當於我們用我們上面的一個幣對所有的萊特幣社群空投。
萊特幣的社群的好處是,每個人多按比例多了一個夸克鏈的幣,而且可以使用這個幣完dapp,做defi,等等。我認為對於萊特幣社群(甚至其他比如ETC,或者ETH),都是一個大大的利好。
紅軍大叔: 嘿嘿, 如果空投多一個token挺好哈, 這麼說, 條件合適, 你們可以選幾個項目【霸王硬上弓】嗎?
周期:「霸王硬上弓「這個詞好。我們會準備幾個項目,跟我們現在提供的功能差異化比較大的,比如萊特幣就是一個例子,新的分叉出來的萊特幣,就可以享受原來沒有的智能合約功能。另外一個例子就是zcash,除了可與你享受智能合約,我們現在的用戶還可以使用zcash的隱私功能,真正做到 1 + 1 > 2的效果!
我們期望以後文案是:QuarkChain(夸克鏈)在做下一輪分叉分片鏈投票,BTC, ETH, EOS社群同時要求QuarkChain分叉,投票過程非常火熱🔥
紅軍大叔: 吳軍曾經說過, 【第三眼美女】這個概念, 我覺得夸克對我來說有點像『第二眼美女「, 哈哈, 第一次看到的時候覺得很多東西不太理解, 不過了解的越多覺得很多有意思的東西逐漸被發掘出來了。祝夸克順利。