TokenGazer一問到底|第十二期:研究員 vs QuarkChain

TokenGazer一問到底|第十二期:研究員 vs QuarkChain

前言

TokenGazer《一問到底》是一檔辨析區塊鏈領域一級市場項目優劣的優質欄目。每一期將針對區塊鏈領域早期的一級市場項目,邀請項目負責人做客現場,和社群內百餘名研究員深度問答、科學辨析。旨在通過項目方與研究員高質量的對弈問答,打造專業級別的項目評析平臺,釐清項目價值,探尋早期優質項目。同時,讓社群用戶真正參與價值評析,傳遞評析方法,在“問與答”中獲取價值信息。

本期項目:

QuarkChain

活動時間:

10月11日 21:30

QuarkChain:基於分片技術的區塊鏈底層技術方案,它具有安全、去中心化、高吞吐能力和可擴展的特性,它將實現每秒10萬級鏈以上的交易處理能力。

以下為互動文字整理版:

01.TokenGazer研究員 L:QuarkChain的分片技術與市場上運用分片技術的項目(以太坊、Zilliqa)有何區別?有什麼特別的優勢嗎?

QuarkChain 週期:

現在市場上面做分片主要有兩個:

①Zilliqa是使用網絡分片,這樣的話,每個節點的存儲開銷會比較大。我們要做狀態分片,通過集群的方式來管理。以太坊的話,是支持狀態分片,但是設計的更加復,要保證向後兼容性。

②還有一種交易分片,其實網絡分片和交易分片比較類似,在Zilliqa裡面,是通過網絡分片來實現交易分片。

02.TokenGazer社區成員 HILL:QuarkChain是如何保證算力被分片分散的情況下網絡安全的?

QuarkChain 週期:

關於算力被分片分散的問題,這個是一個很有意思的話題。

首先,我們認為一個鏈的安全,現在很大的程度上面不是擁有全網多少算力,而且有多少算力,並且在擁有這些算力的情況下,攻擊的成本。

舉個例子來說,以太坊現在的算力是227.34 TH/S 以太坊經典的算力是14.97 TH/S。以太坊經典的算力連以太坊的10分之一都不到。也就是說以太坊上面的一個礦主,只要擁有7%的算力,就可以對ETC進行攻擊,但是現在ETC還沒被攻擊,那是因為即使要使用14.97 TH/S進行攻擊,成本也不少。

而我們的設計目的在於,讓根鏈有一般以上的算力,比如如果是Ethash的例子,有(227.34 + 14.97)/2 = 141 TH/S的算力在主鏈保護大家安全,同時(假如有100個分片),有141 TH/S / 100 = 1.41TH/S在每個分片上面來出交易的塊,使得1,每個分片更加安全(比ETC),每筆交易需要的算力更低 (比ETC/ETH),提高算力對安全和交易的效率。

03.TokenGazer社區成員 AV數字化教主|Viviyorg|周鵬:狀態分片之間有什麼類型和程度數據交互方式,如何實現的?

QuarkChain 週期:

狀態分片之間的數據交流叫做跨片交易,現在支持跨片之間的轉賬。打個比方,我在各地有多個銀行,比如中國和美國。我現在在美國有些餘額,需要在中國開展業務,那麼我需要把美國銀行賬戶的金額轉到中國哪裡,才能開展。這個轉賬過程就叫跨片交易。數據類似銀行之間轉賬需要的數據,包括髮起方的地址,接收方的地址,金額之類的。

04.TokenGazer社區成員 張瑜:首先我是QuarkChain的老粉條,從去年12月開始,其他人問的問題這大半年我都有了答案,QuarkChain是顆耀眼的星。問周總一個區塊鏈問題,區塊鏈有不可篡改特質,假如上鍊信息是黃賭毒等國際共識不允許的信息上鍊,不可篡改該怎麼辦,怎麼面對?

QuarkChain 週期:

這個是一個很好的問題哈。首先,區塊鏈上面信息的成本相對於網站而言要高很多。比如Google的數據,以前默認是存三個備份,現在更多。但是區塊鏈上面,每個節點都需要存儲所有的數據,也就是備份係數會高很多(比如以太坊有差不多16000個節點,也就是備份)。這樣的話,大規模提交這些信息在區塊鏈上面,會有高的成本,很難規模化。

當然,不可避免的會有一些信息上傳,但是傳播的影響力就會小很多了。

05.TokenGazer研究員 旭蟈蟈:會不會出現分片向根鏈上提交數據失敗這種情況,如果出現了,QuarkChain分片上對已經記錄的交易是怎麼處理的?

QuarkChain 週期:

不會出現分片向根鏈提交數據失敗的問題。跟以太坊上面的L2解決方案不一樣,L2的解決方案需要不定時的提交數據到以太坊上面,一旦擁堵,會導致數據不能及時上傳。

我們的設計裡面,有兩個主要方法避免這個問題:

①我們的根鏈除了包含分片的片頭數據之外,不處理額外的交易。這樣的塊的大小非常小,擁堵的情況比較難(除非是交易達到百萬級每秒的規模)。

②我們有一個叫做納稅的代幣經濟學。根鏈的回報是根據包含分片的數目來覺得的。這樣的話,其實是根鏈的挖礦人有非常強烈的動力來包含每個分片的數據的。

TokenGazer研究員 旭蟈蟈:就是一個是本身的數據結構的優化,一種是激勵模型保證分片跟根鏈通訊正常?

QuarkChain 週期:

可以這麼理解哈。

06.TokenGazer研究員 L:再問一下關於跨分片的問題,分片之間的通信是有固定頻率嗎?頻繁的跨分片通信是否會影響主鏈的TPS?

QuarkChain 週期:

分片之間的通信頻率是根據用戶提交的跨片交易的頻率來決定的。因為根鏈只確認每個分片的塊頭數據,所以不會影響主鏈(或者系統的)的吞吐。

但是如果跨片交易太多,尤其是發送到某一個分片的跨片交易太多,系統會通過共識來限制,避免出現一個分片過熱的問題(Hot Shard Problem)。關於跨片交易的限制,現在我們還不允許跨片直接調用智能合約。但是允許用戶轉賬到目的分片的地址之後再來調用智能合約。

07.TokenGazer研究員 L:QuarkChian如何對分片節點進行分配,是否運用某種隨機的機制?是否存在一個分片內存在大部分惡意節點的情況?

QuarkChain 週期:

對節點分配也是現在一個比較火的問題。一般的思路是通過一個很大的節點池子來選擇節點參與到不同分片。這樣需要:

我們現在解決的思路比較暴力,讓每個全節點處理所有的分片和根鏈的數據。當然,一個用戶可以只運行某幾個他感興趣的分片的節點。這個想法給EOS的超級節點有點類似。但是有幾個關鍵的不同:

①很好的隨機機制來分配,並且該機制要足夠隨機並且大家都能夠達到共識。

②分片的數目不能太多,要保證分片裡面有足夠多的節點避免惡意節點的問題。

③當節點要切換到不同分片的時候,需要做數據遷移。

TokenGazer研究員 L:會採用哪些具體的隨機機制嗎? 因為其他項目比如Algorand或者Dfinity是用了VRF的完全隨機性。

QuarkChain 週期:

我們現在沒有用這些隨機性,如果用的話估計會用PoW/VRF的一些特性來做。

08.TokenGazer研究員 旭蟈蟈:QuarkChain這樣的狀態分片是否會根據交易進行分配到相應分片?

QuarkChain 週期:

每筆交易都會有一個字段,來說明該交易對應的分片是哪個,然後每個收到這個交易的全節點(或者集群),會根據這個字段,把這個交易廣播到該分片的網絡裡面。

TokenGazer研究員 旭蟈蟈:這個字段是隨機的還是根據地址或者交易哈希來的?

QuarkChain 週期:


TokenGazer一問到底|第十二期:研究員 vs QuarkChain


這個是以太坊的Uncle Rate圖,可以看到在進入2018,以太坊火爆下,網絡節點數目和挖礦數目的增加,Uncle Rate的增長也是大大增加。這個字段是根據發起方的金額所在地(分片)來決定的。

還是之前的轉賬的例子,我要從美國轉賬到中國,我必須在美國銀行發起該交易,並提交中國銀行的信息,才能執行。


TokenGazer一問到底|第十二期:研究員 vs QuarkChain


這個是https://whattomine.com/裡面顯示的以太坊和以太坊現金的算力和其他的挖礦信息。

09.TokenGazer社區成員 HILL:能具體談下挖礦獎勵具體是如何在全節點與分片/小節點之間分配的嗎?有哪些維持全節點與分片/小節點上算力平衡的機制呢?

QuarkChain 週期:

一般一個區塊鏈(比如比特幣,以太坊),每個塊的挖礦獎勵包含兩個:1. 該塊本身的收益;2. 交易的手續費。

在我們的設計裡面,引入的稅率 alpha,分片的收益是 (塊本身的收益+手續費) * (1 - alpha)。而主鏈的收益是根據包含的多少分片塊頭的信息,每個塊頭的收益是 (分片塊本身的收益+手續費) * alpha。這樣導致主鏈會盡量多的包含更多的分片的塊頭,收取更多的稅收。這個整體的共識,我們叫玻色子共識。

具體信息可以看:

中文:

https://www.chainnews.com/articles/370079246435.htm

英文:

https://medium.com/quarkchain-official/quarkchain-explained-part-4-sharding-in-quarkchain-consensus-8032704319bd

10.TokenGazer研究員 L:第8個問題中,如果發起了一筆交易那麼是哪一方的分片來記錄這筆交易呢?就像是您舉例的,從美國轉賬到中國,如果是美國記錄這筆交易的話,那麼為什麼還需要跨分片通信呢?是不是隻需要發起方的那一部分分片記錄就行了?

QuarkChain 週期:

第8個問題的回答補充,需要發起方和接收方都要記錄這個交易。發起方要保證轉賬的金額被扣除(發起交易),接收方要保證金額被確認並存入賬號(接受交易)。這個過程其實跟nano特別像。大家可以去參考一下(其實我們認為nano就是一個極致的分片方案,使得所有交易都是跨片交易)。

11.TokenGazer研究員 旭蟈蟈:分片上的塊是如何提交到根鏈上的,是隨機選取代表節點由專門的節點提交麼,整個提交流程能談下麼?還有就是如何保證每個分片的提交數據的時效性?

QuarkChain 週期:

因為每個全節點都有所有分片的信息,所以知道有哪些分片還沒有被根鏈確認。在挖根鏈的一個新塊的時候,為了能夠拿到最大的收益,該全節點會把所有分片沒有被確認的塊收集起來,打包在該主鏈的塊裡面。在這裡面,使用的是代幣經濟學,就像BTC/ETH的每個塊,大家都儘量包含多的交易來收集更多的交易費作為挖礦的回報的經濟學原理一樣。

TokenGazer研究員 旭蟈蟈:集群過後的全節點提交麼?

QuarkChain 週期:

全節點就是一個集群。

12.TokenGazer研究員 L:QuarkChain的具體應用場景是哪些?有什麼Dapp生態的計劃嗎?

QuarkChain 週期:

應用場景很多。首先,作為支持智能合約的通用公鏈,我們可以完成現在以太坊/EOS的工作,並且能夠把很多應用能夠更好的擴容。其次,我們QuarkChain 2.0,會支持垂直公鏈的加入。包括:新的共識機制,新的虛擬機甚至新的代幣經濟學。

Dapp我們已經有50多個合作伙伴了,現在我們在做程序員社區,在舉辦TPS比賽,第一名有1個BTC的獎勵。具體可以看:

https://www.chainnews.com/articles/868040677528.htm

13.TokenGazer社區成員 AV數字化教主|Viviyorg|周鵬 :QuarkChain 在GitHub代碼提交不多呀,還有目前哪個社區平臺討論技術這塊呢?

QuarkChain 週期:

我們的pyquarkchain的提交在半年左右時間已經有965個了,對應的以太坊pyethereum ,也才2997個。這個算不多嗎?而且我們每個提交的commit都是很有料的,不像我們瞭解的一些項目,修改幾個註釋,也來提交,刷提交的數目。另外,我們還有一部分的代碼還沒有開源(錢包之類的),所以一些開發信息還沒有看到。

14.TokenGazer社區成員 HILL:V神和吳忌寒在前一段時間上海區塊鏈全球峰會上都強調了隱私的重要性,QuarkChain在此方面有哪些設計和考量呢?

QuarkChain 週期:

這方面的話,我們可以通過兩方面來支持:

https://github.com/QuarkChain/pyquarkchain/blob/master/quarkchain/cluster/master.py#L731

TokenGazer研究員 旭蟈蟈:對問題14 的一些疑問,QuarkChain提到了一些靈活性,對分片的虛擬機進行升級,升級會不會對分片內的共識進行改動?

QuarkChain 週期:

升級一個分片的虛擬機,類似以太坊本身的一個硬分叉(比如最近的以太坊在測試最新的硬分叉),不需要對共識進行改動。

以上為本期《一問到底》內容彙總,如有更多問題,可關注公眾號(TokenGazer)給我們發送信息,感謝您的閱覽。


分享到:


相關文章: