分散式資本許超逸:新型數字貨幣的技術創新研究| 捕手志
2017年是區塊鏈與數字貨幣行業井噴爆發的一年,大量基於以太坊體系的ERC20代幣出現,與行業應用場景相結合,產生出了各種各樣新穎的應用,在交易市場獲得高度認可而價格飆升,甚至因此而受到一些政府的嚴厲監管與限制。
與此同時,我們也看到市面出現了一些非常優秀的,在底層加解密演算法、數據結構與共識協議方面進行了一些新探索、新研究、新設計的數字貨幣,因此我們挑選了三個比較有趣的項目進行重點分析,並與大家介紹分享。
1、RaiBlocks(XRB)支持快速轉賬的點陣區塊結構
與經典的公共區塊序列化結構不同,RaiBlocks在白皮書中表述採用的是類似IOTA與ByteBall的DAG結構,但實際上仍有很大的差別。
IOTA的方法是用戶在交易之前先進行挖礦驗證,交易圖像密度要更加分散,而ByteBall採用的是見證人集中驗證的模型,交易圖像在大部分時間裡接近於線性排列,RaiBlocks把自己稱之為區塊點陣結構,每個賬戶擁有自己獨立的區塊鏈,在交易時,在發送方賬戶與接受方賬戶的鏈結構中均通過POW的方式各生成一個新區塊(分別叫做「發送區塊」和「接收區塊」)。
這樣做的好處,一來是可以避免大量的歷史交易記錄冗餘,減少區塊佔用機器的硬體存儲容量,二來是加速了交易的處理,能夠將轉賬時間縮短到秒級甚至更低,三來因為不需要有第三方的記賬和驗證,交易的時候不需要支付手續費,第四通過POW的機制可以用來防止攻擊者進行垃圾交易。
(每個賬戶擁有自己獨立的區塊鏈)
(交易時分別生成「發送區塊」與「接受區塊」)
為了加快微小交易的處理,RaiBlocks使用傳輸層的UDP協議進行交易,相對於可靠的傳輸協議TCP與SCTP,UDP不需要進行握手與確認,因此可以做到大量微小交易的非同步快速傳輸,UDP傳輸協議可以支持最大64K的單個報文數據長度,這個足可以容納RaiBlocks的交易數據。
(在發送交易之前進行POW挖礦並創建區塊)
前面所說,POW機制在RaiBlocks裡面的作用實際是用防止垃圾交易的,RaiBlocks採用共識機制是DPOS協議,因為只有賬戶所有者才有能力在自己的賬戶區塊鏈進行簽名並生成一個新的區塊,當區塊鏈出現分叉的時候,其原因必然是賬戶所有者自身的錯誤操作(不正確的調用了系統提供的API介面)或者惡意的雙花消費。
此時,RaiBlocks系統中的代表們將創建一個投票,引用分叉塊之前的正常塊,並在1分鐘之內由DPOS代表投票決定獲勝的區塊分支,另一個分支將被丟棄。
RaiBlocks的代幣XRB總量為1.33億枚,在2017年10月已經全部分發完畢。因為沒有交易手續費,做為見證人代表、全節點也沒有任何的獎勵,目前不清楚這樣是否會有人有動力去做見證人與全節點。
RaiBlocks的出現帶給了數字貨幣行業的研究者們一些新的思路,即有別於IOTA與ByteBall的網狀結構,使用點陣式的區塊來支持點對點的交易,據說RaiBlocks目前的性能已可以達到7000TPS,應該來說這是一個不錯的嘗試,但從我們目前使用來看,RaiBlocks的錢包還比較簡陋,我們也期待著RaiBlocks新版本的問世,以及其他安全方面的一些機制改進。
2、Decred(DCR)致力於更佳社區治理結構的比特幣
眾所周知,在比特幣生態體系中,雖然Core團隊是比特幣的開發者,但礦工對比特幣的硬分叉以及共識是擁有決定權的,比特幣商業化之後,礦池已經進行集團化的運作,前三家大礦池就已經佔據了全網超過52%的算力,理論上可以發動51%攻擊。
而礦池的目的是以盈利為第一要務,因此商業化方面的考量往往會超過技術方面的考量。這也導致比特幣網路日漸擁堵,手續費居高不下,手續費設置較少的交易往往長時間得不到打包而導致停留在mempool裡面,我們可以看到目前礦工費已經在千分之1.5左右,甚至在擁堵時刻達到千分之5,這意味著高峰時期每筆交易的手續費約為500-600人民幣,對於微小交易來說這是不可接受的,嚴重影響了比特幣的商業普及。
Decred想要從治理結構上永久性的解決比特幣所存在的問題,因此他設計了POW+POS混合的分層共識機制,即:通過POW來創建區塊搭建區塊鏈,通過POS來確保挖出來的區塊符合用戶的利益。
我們先來看看Decred的POW機制,我們知道Bitcoin在POW上面採用的是SHA256演算法,由於其演算法本身的瑕疵導致了一種被稱之為AsicBoost的專利技術,基於該技術Asic礦機可以通過簡化SHA256演算法中的一些關鍵步驟來獲得挖礦效率的提升(接近30%),這種不公平使得對比特幣的挖礦生態產生不利影響,而Decred使用的是Blake256演算法,需要顯卡的硬計算能力,該演算法在x86-64架構上面有著更好的性能表現,而且安全性要更高。
在POS機制方面,Decred上的POS協議使得用戶可以通過持票(ticket)來為Decred的某項改進提案(DCP,類似於比特幣裡面的BIP與以太坊裡面的EIP)進行投票,比如開發團隊是否需要在某項新功能的開發上投入時間,是否要激活某項功能,如何使用經費等等。
為了參與POS,用戶需要鎖定自己的一部分DCR代幣來換取ticket,每張ticket可以進行一次投票,投票完成之後,用戶解鎖相應的DCR代幣並能夠獲得一定的獎勵,這個過程我們稱之為POS挖礦。每張ticket會被隨機的選舉以參加投票,平均時間大約是28天,但最高可能會達到142天,並有0.5%的機票選票被作廢。
POW礦工生成每個區塊的時候最少應有5張選票來進行確認,如果少於5張時POW礦工的獎勵會減少以示懲罰,同時最多可以有20張選票。POS的難度調整演算法將每隔144個區塊調整一次ticket的價格,使得維持票池裡的票數在40960左右。用戶參與POS挖礦需要支付選票費給POW礦工,以便POW礦工將自己的ticket打包放入新挖的區塊之中。當ticket被選中進行投票的時候,用戶的錢包應當在線以行使自己的投票權,如果無法投票,則用戶不能獲得獎勵,為了方便無法保持全天在線的用戶,用戶可以選擇POS礦池代為投票,並向POS礦池支付一定的費用。
如下是我們從Decred錢包截取的關於Ticket的頁面設置圖,用戶可以直接購買ticket並委託給礦池進行管理,同時ticket經過打包之後便成為活躍的(live)狀態可以參與投票。而隨著參與POS挖礦的用戶越來越多,被鎖定的DCR代幣也越來越多,因此流通的DCR就會相應的減少,而提升DCR代幣的價值。
Decred總供應量與比特幣一致,均為2100萬枚,在塊0處預挖168萬枚,之後每5分鐘左右會產生一個新塊,出塊獎勵從31.2DCR開始,每6144個塊(約21.33天)減產一次,出塊獎勵中有60%是屬於POW礦工,30%屬於POS選民,10%歸為發展基金。
Decred是我們所研究的數字貨幣中在治理方面做的比較好的一種,很好的平衡了POW礦工、用戶、POS礦池之間的關係,他們互相受益又互相制約,並且我們已經看到,通過POW+POS的混合共識機制,在Bitcoin方面爭議很大的一些關鍵特性(例如閃電網路)能夠很快的在Decred上面投票通過並付諸實施。
這使得Decred的功能改進能夠快速發展,開發者們將更能夠專註在於技術的不斷創新,而不必把自己的精力消耗於無止境的爭論與利益鬥爭之中。
(2017-11-26 Decred官方推特)
3、PascalCoin(PASC)
接近於銀行系統的數字貨幣
初發現PascalCoin的時候,他的設計讓我們感到興奮不已,因為從技術細節上來看,PascalCoin包含了非常多的新特性,看起來非常接近於銀行系統,同時又融入相關密碼學的功能。
PascalCoin的第一個特點在於他同時使用了「賬戶」與「操作」兩個資料庫,賬戶資料庫稱之為SafeBox,保存了每個賬戶的餘額。操作資料庫也就是我們一般意義上理解的區塊鏈,存放每次操作的數據,之所以我稱其為操作,因為在區塊鏈上不僅僅只是在賬戶之間轉移資金,還包括修改密碼,更改賬戶名稱和賬戶狀態等操作。
我們知道,經典的區塊鏈結構是在區塊上面保存每次交易的數據,因此隨著時間的推移,區塊會變的越來越龐大,對於全節點的要求也越來越高,這個要求高不僅是指對硬體存儲能力的要求,同時全網同步區塊數據也是一件非常耗時的事情,需要一天甚至數天的時間。
PascalCoin在交易數據這個層次上面把自己稱作為「無限擴展」的解決方案,他只保留最近100個區塊,過往的交易數據區塊內容會被丟棄,因此他的區塊資料庫的大小几乎是固定的,佔用的存儲空間非常小。
PascalCoin會每隔100個區塊設置一個檢查點,並在SafeBox裡面進行存檔。相比於比特幣系統使用UTXO的方式來說,因為比特幣總需要歷史的UTXO進行回溯,因此全節點必須要保存所有的數據。SafeBox當然也會隨著賬戶的不斷增多而增長,但其增長的幅度幾乎可以忽略不計。
PascalCoin的第二個特點在於他的賬號體系,他在傳統的公鑰/私鑰之上,疊加了一個賬戶,這個賬戶是由若干個數字加上橫線組成的,沒有晦澀的大小寫字母穿插在裡面,可讀性很好,類似於銀行卡號,容易記憶,並且用戶還可以很方便的通過內置的賬號交易所購買短小的「靚號」,還可以給自己的賬號設定類似於「域名」、「電子郵箱」的名稱以對外宣傳並接受付款。
用戶首次使用錢包的時候,需要先從錢包裡面獲取一個公鑰,然後將公鑰關聯到一個賬號才能夠開始交易與接受資金。更加有趣的是賬號這個並不是能夠無限生成的,而是POW礦工在打包每個區塊獲得PASC代幣獎勵的同時獲得了新的賬號並將其掛接在SafeBox裡面。
目前這個賬號數量配置是5個,從經濟模型來看,有非標且限量的賬號體系的獎勵,這使得礦工更有動力去打包交易而不是僅僅考慮出塊時收取的礦工費用的問題。
同時PascalCoin的賬戶體系使得在傳統的賬戶間資金轉移的交易方式之外,新的一種更安全的匿名交易方式成為可能,那就是用戶可以將賬戶資金進行拆分,並把其中一個賬戶直接轉移到別人的公鑰之下,從而使得別人可以擁有這個賬戶。
(PASC的賬號,如「32851-41」)
(用戶可以直接在錢包裡面出售與購買賬號)
PascalCoin的第三個特點在於他所設計的「0確認」交易體系,我們知道比特幣的區塊時間平均是10分鐘,因此至少要等待1個區塊確認之後通常才會被視為有效交易。
當然,由於現在比特幣的網路極其擁堵,礦工們是依手續費從高到低來打包交易,較低的手續費可能很久都不會得到打包而導致最終從礦池的mempool中廢棄,這也是為什麼比特幣需要鏈外閃電網路的原因。
PascalCoin採用了一些不同的做法,首先PascalCoin並不是基於UTXO模型的設計,資金是從賬戶餘額中劃轉,如果賬戶裡面仍然存在餘額的話,消費者發起雙花攻擊是沒有意義的,因為他的賬戶餘額會被劃轉兩次,其次PascalCoin將計劃推出一項「雙花檢測服務」,商戶將可以在收到0確認交易時使用這項服務來檢測全網節點中是否存在雙重支出,並在5-10秒之內返回結果,如果確認沒有發現,那麼商家幾乎可以確信,該0確認交易能夠被礦工所打包與接受。
如大家所見到的,PascalCoin所做出的各項改進,包括可讀賬號、無限擴展、0確認交易,以及限於篇幅原因,本文中並沒有過多闡述的Layer-2架構,貨幣化的API介面,似乎是開發團隊有意將數字貨幣系統朝著類似銀行系統的用戶體驗去做的,我們也期待著PascalCoin能夠迎來真正被廣泛應用的那一天。
以上我們所整理並分享的一些新型的數字貨幣的技術創新之處,相對於為用戶所熟知的BTC,ETH,EOS等,均在某些方面做出了改進,目的也是去嘗試著解決在實際應用中所出現的一些問題。
最近一段時間數字貨幣行業大幅上漲,牛市行情見好,很多朋友在短時間內實現財務自由,完成逆襲的過程。但作為數字貨幣行業的從業人員,我們仍然希望在這個快速發展的區塊鏈與數字貨幣行業當中,有人能夠不忘初心,還原區塊鏈與數字貨幣的科技本質,繼續堅持技術創新,努力探索並樂在其中。
本文在寫作過程中,參考了網路上多篇文章的觀點,在此一併表示感謝!
作者簡介:許超逸分散式資本戰略管理部總監,BKFund管理合伙人。畢業於安徽大學化工專業,十三年高科技行業研發與管理經驗,對人工智慧、互聯網、區塊鏈、數字貨幣與數字經濟擁有深刻理解,多家科技公司的早期天使投資人。
本文來自分散式資本(ID:gh_bb09dd2478bc),經授權發布。捕手志是一家專註優秀投資人的新媒體,轉載請留言獲得授權,歡迎轉發,更多原創獨家內容請關注微信公眾號捕手志(ID:ibushouzhi).
推薦閱讀: