Transaction-Verification
如何計算簽名生成、簽名驗證、交易驗證速度?
我閱讀了有關比特幣可擴展性的這篇文章。據我了解比特幣的步驟順序,執行交易的簡化版本應該如下:
在發件人方面:
- 創建交易
- 生成簽名並簽名
- 向同行廣播交易
在 Peer 方面:
- 獲取交易
- 驗證簽名
- 驗證交易
- 傳遞給下一個同伴。- ???
//如果peer是礦工
- 將交易收集到塊中
- 計算區塊的 PoW
- 如果找到將其包含到他的區塊鏈版本中
- 廣播區塊(帶有隨機數和目標)
其他同行:
- 獲取塊
- 驗證區塊的 PoW 是否有效
- 將塊包含到他們的區塊鏈版本中
如果可能的話,我想了解比特幣在每一步的性能速度,或者給定我的筆記型電腦規格。 我如何計算簽名生成、簽名驗證、交易驗證、區塊 PoW 驗證、等 速度?
您要計算的所有這些東西不僅高度依賴於您使用的硬體,還高度依賴於您使用的軟體。例如,您可以通過多種不同的方式生成簽名,每個比特幣錢包的生成方式都略有不同。bitcoinJ 中的 Java 的簽名生成性能將不同於 btcwallet 中的 Go 的簽名生成性能,以及比特幣核心中的 C++ 的簽名生成性能等等。此外,確定性簽名將具有與非確定性簽名等不同的性能配置文件。
也就是說,如果您真的想要,您可以對其中任何一個進行一些性能測試,儘管並非所有這些都存在。為了驗證 btcd 中的簽名,您可以使用一個基準測試。
請注意,區塊驗證(或創建)必然意味著驗證區塊中的所有交易以及檢查工作量證明。順便說一句,檢查工作量證明實際上就像計算雙 sha256 或單個“雜湊”一樣簡單,礦機每秒可以執行數十億或數万億次。