Bitcoin-Core-Development

regtest 和建議的圖章之間的主要區別是什麼?

  • April 7, 2021

regtest 和建議的圖章之間的主要區別是什麼?

主要區別之一是使用 regtest 並不適合公共網路,因為任何地方的任何人都可以通過探勘大量區塊來隨心所欲地重寫區塊鏈。還有其他人嗎?

signet 是嚴格優於 regtest 的替代品嗎?

如果不是,那麼將來何時有人會使用 regtest 而不是 signet?

signet 和 regtest 之間的主要區別在於,signet 是一個實際的網路,而不是沙盒環境。

在 regtest 中,網路拓撲完全是手動的。您啟動節點,並在它們之間手動建立連接。您可以精確控制開採哪些區塊以及何時開採。這對於測試共識邏輯之類的東西非常有用,但是用它來測試實際的大規模網路效應是不方便和人為的。

在 signet 中,有一個帶有公共節點的實際網路,其執行方式類似於主網網路。它不僅可以讓您測試共識邏輯,還可以測試對等點發現、交易和區塊傳播、交易如何被選擇……

Signet 不會取代 regtest;regtest 設計用於比特幣核心自動化集成測試,並將繼續在那裡使用。但對於 Core 和其他軟體的其他更大規模的測試,signet(s) 可能會成為更好的選擇。

與 regtest 相比,Signet 與 testnet 的可比性更高。

Regtest 是供私人使用和測試的。即使 signet 可用,擁有自己的區塊鏈來測試您可以隨意生成硬幣、區塊、分叉和重組的地方仍然很有用。它允許測試快速執行並針對一組特定的條件進行測試。無需依賴外部各方,甚至根本無需連接到網際網路。這使得 regtest 對開發非常有用。Bitcoin Core 的回歸測試使用 regtest(因此得名,regtest 是回歸測試網路的縮寫),並將繼續使用 regtest。

Signet 是一個公共網路,簽名者將在某個時間間隔生成塊。簽名者確定以何種速率生成塊、其中包含哪些交易、是否有分叉以及是否有重組。作為使用者,您無法控制任何塊,這與您擁有絕對控制權的 regtest 不同。所以這更像是目前的公共測試網路testnet。signet 和 testnet 都將允許您使用其他人正在完成生產區塊工作的區塊鏈。這為您提供了更真實的主網模擬。

signet 和 testnet 之間的主要區別在於,signet 將產生更均勻分佈的塊(就像它們在主網上一樣),甚至計劃進行重組以允許您在這些條件下測試您的軟體。測試網的主要問題是,由於其難以重置的行為,塊被非常快速地探勘並且經常聚集在一起。因此,區塊之間通常有很大的差距,隨後在短時間內開采了幾個(數千)個區塊。Signet 避免了這個問題。

最後,您可以通過簡單地選擇其他人作為簽名者來使用不同的簽名。無需創建新的創世塊並定義新的網路,您可以使用相同的規則,只是不同的簽名者。這使您可以測試不同的場景,幾乎不需要任何工作,只需選擇一個簽名者,該簽名者正在執行您想要測試的某些塊模式。

引用自:https://bitcoin.stackexchange.com/questions/89640