您好,登錄后才能下訂單哦!
DCR共識的特點是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
可能了解DCR的人都知道,DCR采用PoW和PoS混合的方式進行挖礦。在進行POS挖礦時有個硬性的要
求,那就是投票的錢包必須是一個長期穩定且一直處于解鎖的錢包,那為什么會有這樣一個要求呢?而
我們常說的投票到底是投的什么票,作用是什么?我們投票成功又是如何獲得我們買票的幣和對應的獎
勵呢?接下來我們就來說說DCR到底是怎么實現POW和POS混合挖礦的。
DCR的POW和我們熟悉的BTC的原理是一樣的,首先由礦工對交易進行驗證,之后把交易分為兩個類型
進行打包,一個是常規交易,一個是買票交易。對應的數據結構如下:
"stx" : [ "466fe29dd96e3f00f9aea94405a92b6717b2888def3dc43d42757b052cf8ee55", "494f27293061768ab68fbdf32648462ee0477f13a8c74e6d006d846f0c08a223", "0bdbb8acc9481d3af2744ff3e04d77b3c65a05f2f0e68a20b5c80e5a350ba4d7", "0fc020215bd93f17b2531e998937d2449fdc75cbe2d41c7f30f9a8a556a58112", "5026fdcefc675c19aca8f0078f2667038c8a5e756aa12174fcb994b0168c8e5a", "ac4e79927dd918ab4695a4e89a388c3226107fb6a05779b079d504ce09a6cbca", "4a6696e543383c8fd03339916bb58b6f9cf18e69870d298c1af5371f2125a146" ], "sbits" : 95.48797324, "merkleroot" : "81c157aff346e33ddc33be781f3562f80f5692ec5b654563d92b310fddf9e7c9", "height" : 249170, "tx" : [ "94ca365af201c29ce4eaf9dc8d40bf52571e7f7fc924c8cbc1f6c71700665d89", "e74da8d3a78a6ce4841582934ed7fc9c87972f5260674583956891797fde0149", "40c6c39a39f55a0475c8601af89c63ee2573dae2e30cb500d7ff63ca9381a4f8", "5046d4e4db049b5c8228301d9f227ed1b7956e2a4221245512cc2bc2efea1f24", "8a85db1ea71a5689287aefb1beb1e3409e109d336a7460542f3f36adba68824b" ],
上面的stx對應的就是買票交易,tx對應的就是普通的轉賬交易。礦工對對應交易的有效性進行驗證,之后
進行區塊頭hash的計算,找到滿足一定難度的計算目標的數字后,提交區塊通過P2P網絡進行傳播,到這
里POW的工作就完成了。
下面就是驗證區塊的有效性,這里和比特幣的共識機制就不一樣了,比特幣是依靠全網的礦工共同驗證,
最終以累積算力最大的鏈上的區塊為有效區塊,這樣的好處是安全。而對應的缺點就是效率低下,并且
由于從打包到驗證所有的過程都是由礦工參與并擁有決定權,就進而導致了誰擁有更大的算力就擁有了
話語權,就很容易出現去年(2017年)流行一時的各種分叉幣的局面,不利于社區穩定的發展。
而DCR則使用了另外一種更高效而且民主的方式來完成區塊有效性的驗證,那就是我們在文章開頭提
到的POS。我們都知道DCR在新區塊出現時會隨機從票池中選取5張票進行投票,只有在至少3張選票通
過的情況下區塊才被承認有效,這里的選票通過指的是什么呢。其實所謂的投票就是:新區塊會被隨機
選中的五張票所對應的買票地址(一般是一個個人錢包地址和礦池地址的多簽地址)對應的錢包和全節
點進行驗證,而不是被全網所有的節點驗證;這也就是我們之前提到的為什么pos投票需要有一個長期處
于穩定且一直處于解鎖狀態的錢包的原因,在DCR網絡發送被驗證區塊給買票地址對應的錢包時,錢包必
須驗證交易的有效性并給與反饋,否則該票則為丟失票。一旦用戶票為丟失票則不會再具有投票權,用戶
需要發起手動撤銷動作來釋放買票的DCR。
成功驗證區塊后得到的獎勵為30枚新DCR幣,它們將會被分成,60%歸PoW礦工,30%歸PoS選票持
有人,剩下10%預留給參與軟件開發的程序員。我們都知道Pow礦工會在coinbase交易中,生成一個指向
自己地址的UTXO來獲取挖礦獎勵;而我們通過POS投票成功之后,是如何獲取到相應的獎勵和我們買票的
幣的呢。當一個區塊被驗證是有效區塊之后,被選擇用來投票對應的錢包會發起一筆交易,該交易對應兩個
input,第一個是stakebase交易,這個交易就是我們投票成功獲得獎勵數量;第二個input是我們買票的時候
生成的UTXO,如下圖所示:
"vin" : [
{
"sequence" : 4294967295,
"blockindex" : 4294967295,
"amountin" : 1.25716648,
"blockheight" : 0,
"stakebase" : "0000"
},
{
"scriptSig" : {
"asm" : "30440220324e0a76af30921d284d69984fb5895af188da5cee292afccc72f6fb59657ed302203a8283e650c8e47d389434e881fee85096a451dd28d193c67adbbddb13332f1c01 5121027e489297a84b4ab0188f8e1a9db05785a64e839c00ebb0b4d27fcb9f6ea52aad2103d6851bf8fdb553003d8a532f1a8c38e5dbcc7f68f9c1ef11a1afd6256e95bcb652ae",
"hex" : "4730440220324e0a76af30921d284d69984fb5895af188da5cee292afccc72f6fb59657ed302203a8283e650c8e47d389434e881fee85096a451dd28d193c67adbbddb13332f1c01475121027e489297a84b4ab0188f8e1a9db05785a64e839c00ebb0b4d27fcb9f6ea52aad2103d6851bf8fdb553003d8a532f1a8c38e5dbcc7f68f9c1ef11a1afd6256e95bcb652ae"
},
"txid" : "08c0991a1da833d5a840b3a71c8ba5dc6323af82e666dccf53f58936866ea71c",
"sequence" : 4294967295,
"vout" : 0,
"tree" : 1,
"amountin" : 95.60623877,
"blockheight" : 238400,
"blockindex" : 8
}
],
我們買票成功的時候pos礦池(不是solo挖礦)會幫我們生成一筆交易,該交易會把我們買票的幣鎖定
在一個多簽名地址上(用戶和礦池的多簽地址),也就是上面對應的第二個input里面的UTXO。當投票成
功之后將其花費掉,轉到我們自己的錢包地址,這就是說我們是通過花費我們買票生成的utxo來獲得我們之
前買票的DCR。
從decred的共識機制的設計上來看確實解決了比特幣的一些弊端,從架構上來看,decred將dcrd和
dcrwallet、dcrctl分割開來,底層采用了模塊化的設計,具有非常好的擴展性,可以很容易地添加
新特性。所以從技術實現上來看是一個非常優質的幣種,也希望decred能發展的越來越好。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。