原力研究院

關注數字貨幣挖礦、交易所及熱點項目

RSK:利潤最高的比特幣雙挖平臺

RSK:利潤最高的比特幣雙挖平臺

作者|Rajarshi Mitra (本文由作者授權發佈,版權歸原創者所有。)編譯:原力研究院出處:Blockgeeks 通過鏈接查看英文原版:https://dwz.cn/zlKus5PD

創建 RSK 的初衷是將區塊鏈的智能合約功能賦予比特幣。

RSK 是最有趣的智能合約開發平臺之一,因爲它結合了比特幣的網絡安全與 Solidity 語言易於使用的特性。爲了給系統提供動力,Rootstock 使用雙挖方式。想知道雙挖是怎麼回事嗎?讓我們開始吧!

工作量證明(Proof-of-Work)的簡要概述

在進一步討論之前,讓我們快速地總結一下工作量證明 (POW)。

  • 礦工通過解決密碼學難題來“挖”區塊並將其添加到鏈上。

  • 這個過程需要大量的能源消耗和計算能力。這些加密問題的設計方式使它變得難以解答,並對系統造成負荷。

  • 當一個礦工解決了難題時,可以向網絡提交區塊以供驗證。

在比特幣的生態系統中挖礦是一個艱難的過程。這就是爲什麼礦工將他們的資源和算力集中起來以創建“礦池”。 礦池遵循客戶端-服務器架構,其中礦工(客戶端)連接到礦池服務器(服務端)。礦池服務器運行礦池服務器軟件。常見的軟件有 CKpool、BTCpool 和 Eloipool。

如果您想更深入地瞭解 POW,請參閱本指南(https://blockgeeks.com/guides/blockchain-consensus/)。接下來,讓我們更深入地討論雙挖。

什麼是雙挖?

雙挖https://dwz.cn/xQtXvIjL是一種允許使用相同算法的不同加密貨幣同時挖礦的機制。在這種情況下,由於比特幣和 RSK 都基於 SHA-256 算法,它們可以通過雙挖的方式聯合挖礦。雙挖的兩個最大優勢是:

  • 大大降低了礦工的投資成本,因爲他們不需要購買新的挖礦設備。

  • 具有較低算力的加密貨幣可以通過與具有較高算力的加密貨幣錨定來獲得足夠的算力。

  • 礦工也可以通過維護雙挖鏈獲得額外獎勵。

Namecoin 是第一種和比特幣雙挖的加密貨幣。讓我們來看看雙挖的總體工作流程:

  • 雙挖鏈的區塊 ID 嵌入在主鏈的區塊中。該區塊 ID 是二級鏈中區塊的加密哈希。

  • 該雙挖區塊的哈希值以雙挖的“標籤”爲前綴。該標籤可以是一些簡短的描述性文本或魔術字節(magic bytes)。

  • 爲避免混淆,主鏈中的區塊只能與第二鏈中不超過一個區塊相關聯。

  • 爲了確保雙挖的整體安全性,必須保證:在主鏈上挖出一個可與副鏈中的兩個區塊關聯的主塊的難度,要難於在主鏈上挖出兩個分別只關聯一個副鏈區塊的主塊的難度。

在 RSK-比特幣的例子裏,RSK 的挖礦難度相當於 70-bit,而比特幣難度相當於 74 bits。

比特幣礦池通常在向礦工提供的每個採礦作業中都引用 RSK 的區塊。每次礦工找到解決方案時,都會將其與比特幣和 RSK 的挖礦難度進行比較。此時可能出現三種情況:

  • 礦工計算出的解決方案滿足比特幣網絡難度。區塊被封裝併發送到網絡。比特幣網絡還將傳播 RSK 的雙挖參數。因爲 RSK 的難度比比特幣低,所以這個解決方案也適用於封裝 RSK。

  • 此解決方案滿足 RSK,但不滿足比特幣。解決方案將提交給 RSK 網絡,而不是比特幣網絡。

  • 解決方案不滿足任何難度要求。

無論如何,最終提交給 RSK 的解決方案允許節點構建 SPV 證明。如果證明是有效的,那麼它將成爲提交給網絡的區塊的一部分。

深入研究雙挖

比特幣區塊頭類似於雙挖中的 POW 代理。RSK 區塊鏈解釋了比特幣區塊頭的工作量證明。通過在比特幣區塊中搜索標籤以確定 RSK 鏈上的哪一個區塊應該與之相關聯。同時我們需要記住,RSK 區塊鏈不需要一個完整的比特幣區塊來驗證區塊頭的 POW,並將其與相應的 RSK 區塊頭部相關聯。一個簡易 SPV 證明就足以建立這種關係。我們將會繼續探討一點 SPV 證明。在此之前,讓我們對 RSK 標籤做進一步的理解。

RSK 標籤的當前格式是:

RSKBLOCK:RskBlockHeaderHash

其中:

  • “RSKBLOCK:” 是由 52 53 4b 42 4c 4f 43 4b 3a 字節組成的 ASCII 字符串。

  • RskBlockHeaderHash 是不含雙挖區域的二進制格式的 RSK 區塊頭的 Keccak 哈希運算結果摘要,雙挖區域將在 PoW 解決後被填充。

雖然不是強制性的,但 RSK 標記應該包含在輸出腳本的 OP_RETURN OP_PUSHDATA1 操作碼之後。這有助於防止向比特幣 UTXO 發送垃圾數據。

RskBlockHeaderHash 由標準 RSK 節點(rskj daemon)創建。礦池服務器插件輪詢 rskj daemon,並維護提供給礦池服務器的最新 RskBlockHeaderHash 值。

除上述規定之外,以下附加限制也可能適用:

  • RskBlockHeaderHash 之後直到 coinbase 最新交易之間的字節數必須小於或等於 128 字節。

  • 二進制字符串“ RSKBLOCK:”(52 53 4b 42 4c 4f 43 4b 3a)不能包含在結尾的原始字節中。

  • 如果 RSK 標記位於非最後一個輸出腳本中,那麼它有可能出現在下一個輸出的字節中。這就是爲什麼強烈建議使用最後一個輸出腳本用於 RSK 標記的原因。

  • 如果 RSK 標記位於 coinbase 區域中,那麼“RSKBLOCK:”就有可能出現在 Coinbase 區域中。

什麼是 SPV 證明 ?

如上所述,二級 RSK 區塊鏈與一級比特幣區塊鏈之間的關聯可以通過 SPV 證明來建立。SPV 證明主要由 Merkle 樹成員證明構成。

藍色方框表示 SPV 證明中包含的信息,並沿 RSK 塊傳輸。由於尾隨字節的限制,RSK 全節點將創建 SPV 證明的壓縮版本,包括 :

  • 比特幣區塊頭(80 字節)。

  • 一個 Coinbase 交易的 Merkle 分支(約 320 個字節)。

  • 消耗 Coinbase 交易頭的 SHA-256 中間狀態(32 字節)。

  • 一個由 Coinbase 交易記錄和 RSK 標籤組成的 64 字節對齊的數據塊(最大 169 字節)。

  • 目前,SPV 雙挖證明的最大大小爲 780 字節。

礦池服務器軟件可以向 rskj daemon 發送完整的區塊或 SPV 證明。如果 rskj 接收到一個區塊,它將解析它並提取必要的字段來構建 SPV 證明。

雙挖難度

在繼續之前,我們需要弄懂難度的含義以及爲什麼首先引入此概念。你可能知道,比特幣的上限是 2100 萬枚。隨着越來越多的礦工參與挖礦,需要有一個機制來防止礦工很快挖完所有的比特幣。

爲了防止比特幣的供應失控,並使其成爲一種更可持續的模式,中本聰(Satoshi Nakamoto)引入了難度機制。隨着挖掘出越來越多的區塊,解決密碼學問題的難度呈指數級增長。基本上,挖掘出的比特幣越多,挖掘過程就越困難。

考慮到 RSK 鏈的難度遠低於比特幣。在系統內部,難度被轉換成“目標”,與難度成反比。目標是一個 256 位無符號整數。

在同一天,合併挖掘出的區塊鏈是一個近似的目標。而 RSK 有更高的目標,因爲其出塊頻率高達比特幣的 20 倍以上。

這就是爲什麼解決 RSK POW 難題的區塊頭可能無法被比特幣網絡接受的原因,因爲它可能無法滿足其難度。因此,這裏要問的問題是:如果一個礦池總是在尋找比特幣區塊,它怎麼才能探測到一個 RSK 區塊呢?現有事實已經證明,礦工們一直在尋求以較低難度解決區塊的方法。這些中間的、低難度的區塊稱爲“配額(Shares)”,它們是礦池服務器在記帳時需要的。礦池中的許多礦工將在比特幣的真實解答之間積極地創建更多的配額,從而爲礦工的貢獻提供更高的顆粒度。

以下是關於配額需要注意的事情:

  • 配額會非常頻繁地傳輸到礦池服務器。因此,服務器可以根據相關礦工的算力貢獻,在他們之間分配未來的收入。

  • 取決於系統的整體算力,比特幣挖礦的難度有時會下降。這就是爲什麼要在系統內傳遞配額,因爲它有可能是解決當前比特幣 POW 運算的辦法。

  • 如果配額的哈希摘要低於比特幣當前的目標,那麼它會被轉發到 bitcoind daemon,後者會在網絡上傳播它。

  • 不同的次級區塊鏈可能有不同的難度。這就是爲什麼一個能夠進行雙挖的礦池服務器必須將配額的目標與它所支持的次級區塊鏈的所有目標進行比較的原因。因此,如果配額滿足 RSK 的目標,那麼相應的區塊就被認爲對 RSK 網絡是有效的。

RSK 雙挖的安全性

在 RSK 雙挖的機制中,一個理性的挖礦者只需要進行 2^69 次運算(RSK 當前的難度)。一個惡意的攻擊者需要在 30 秒內計算多達 2^80 次哈希運算才能對系統造成破壞。爲了進行這種攻擊,攻擊者必須投入比礦工多 2000 倍的硬件。投入總額約爲 5 萬億美元。

然而,這裏還有一件事需要考慮。攻擊者也可以只爲相同的 RSK 區塊高度生成一個或多個共享其 POW 的區塊。如果是這樣的話,也需要浪費 5 萬億美元的成本才能實現。

(譯者注:所以 RSK 網絡現在已經非常安全了。)

SHA256 算法的假設弱點

RSK 使用一種非標準的加密手段來壓縮交易生成。RSK 只傳輸尾部,而不是通過對 Merkle-Damgard 構造的中間態進行哈希來傳輸整個交易。 然而,這個手段假設 SHA256 算法完全抵抗“自由啓動碰撞(freestart collision)”。根據 RSK 的設置,SHA256 至少需要和暴力破解 80 比特的難度一樣安全。

在 SHA256 中目前沒有發現自由啓動碰撞,最接近的結果也只是在 SHA256 的簡化版中發現半自由啓動碰撞(64 輪中的第 38 輪,代價是 2^65 次運算)。

到目前爲止,該算法被認爲是安全的。然而,如果發現這樣的攻擊,RSK 可以通過網絡升級來應對。在這種情況下,RSK 將不使用加密壓縮技術。當然,這將導致區塊大小的小幅增加。

注意:如果 SHA256 遭遇了自由啓動碰撞攻擊,它將完全失效。對於比特幣來說,這也是一個非常大的問題。

另外,RSK 的 1.0.0 版本提供了 80 位的安全性,以防止可能的標籤衝突。80 位碰撞攻擊在理論上是不經濟和無法計算的。

  • POV 計算 : 如此大規模的攻擊將需要天量的內存。而且,碰撞攻擊的 CPU 成本比解決 RSK PoW 難題的成本高出 2000 多倍(69 vs 80 比特)。

  • POV 理論:RSK 的 DECOR+共識認爲碰撞的區塊可共享區塊獎勵,因此,如果過去的區塊獎勵大約等於新區塊的獎勵,挖出過去區塊的新替代區塊將變得無利可圖。這實際上意味着攻擊者將主要與他們自己競爭。

  • POV 經濟:善意的雙挖礦工可以賺取比特幣交易手續費,因此雙挖由比特幣補貼。 另一方面,攻擊者將必須支付碰撞攻擊的全部費用。這意味着對 POW 鏈接的任何攻擊都是沒有成本效益的。

RSK 團隊表示:“即使考慮到計算效率的提升,我們認爲標籤在未來 20 年仍然是安全的。然而,如果計算趨勢發生根本變化,則未來的網絡升級可以很容易地將哈希的大小擴展到完整的 32 字節。”

總結

RSK 是比特幣雙挖中最賺錢的選擇。RSK 團隊已經爲 CoiniumServ、CKpool、BTCpool 和 Eloipool 等礦池開發了幾個完全可用的插件。其他礦池也開發了他們自己的插件。RSK 團隊更推薦 CKpool,因爲它做了適當的優化。如果您是一個新上線的礦池,只需遵循 RSK 雙挖的說明進行操作即可。

點擊左下角藍色“閱讀原文”即可查看英文原版。

RSK:利潤最高的比特幣雙挖平臺

RSK:利潤最高的比特幣雙挖平臺

【原力研究院簡介】

原力研究院專注於區塊鏈領域的技術研究、行業分析、應用創新、模式探索和企業諮詢。我們希望搭建涵蓋區塊鏈完整產業鏈的研究平臺,爲實驗性項目提供堅實的理論基礎,推動整個區塊鏈行業的發展。目前重點關注交易所行業,挖礦行業,熱點項目及事件。

RSK:利潤最高的比特幣雙挖平臺