Transaction-Verification

如何計算簽名生成、簽名驗證、交易驗證速度?

  • June 17, 2017

我閱讀了有關比特幣可擴展性的這篇文章。據我了解比特幣的步驟順序,執行交易的簡化版本應該如下:

在發件人方面:

  1. 創建交易
  2. 生成簽名並簽名
  3. 向同行廣播交易

在 Peer 方面:

  1. 獲取交易
  2. 驗證簽名
  3. 驗證交易
  4. 傳遞給下一個同伴。- ???

//如果peer是礦工

  1. 將交易收集到塊中
  2. 計算區塊的 PoW
  3. 如果找到將其包含到他的區塊鏈版本中
  4. 廣播區塊(帶有隨機數和目標)

其他同行:

  1. 獲取塊
  2. 驗證區塊的 PoW 是否有效
  3. 將塊包含到他們的區塊鏈版本中

如果可能的話,我想了解比特幣在每一步的性能速度,或者給定我的筆記型電腦規格。 我如何計算簽名生成、簽名驗證、交易驗證、區塊 PoW 驗證、 速度

您要計算的所有這些東西不僅高度依賴於您使用的硬體,還高度依賴於您使用的軟體。例如,您可以通過多種不同的方式生成簽名,每個比特幣錢包的生成方式都略有不同。bitcoinJ 中的 Java 的簽名生成性能將不同於 btcwallet 中的 Go 的簽名生成性能,以及比特幣核心中的 C++ 的簽名生成性能等等。此外,確定性簽名將具有與非確定性簽名等不同的性能配置文件。

也就是說,如果您真的想要,您可以對其中任何一個進行一些性能測試,儘管並非所有這些都存在。為了驗證 btcd 中的簽名,您可以使用一個基準測試。

請注意,區塊驗證(或創建)必然意味著驗證區塊中的所有交易以及檢查工作量證明。順便說一句,檢查工作量證明實際上就像計算雙 sha256 或單個“雜湊”一樣簡單,礦機每秒可以執行數十億或數万億次。

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