Client

比特幣安卓錢包中是否實現了默克爾樹的修剪?

  • January 5, 2016

我知道 satoshi 的客戶端不會修剪,因為我們需要儲存所有交易,以便我們可以將它們發送到其他節點。但是這個來自 de.schildbach 的android 比特幣錢包會修剪嗎?智能手機上的空間溢價更高,因此它似乎是一個修剪的好地方。

修剪可以節省多少空間?有沒有被檢查過?

該錢包使用 bitcoinj 作為其客戶端,實現了“簡化支付驗證”模式。

以下是客戶端在此實現中所做的事情:

  • 連接到受信任的節點。

  • 僅下載塊頭。

  • 驗證標題。

    • 他們會連結回創世區塊嗎?
    • 難度夠高嗎?
    • 我是否足夠信任這個節點?
  • 僅下載對您的地址產生所有權的交易。

  • 足夠深的塊頭被丟棄。

此實現中的資源使用僅取決於您自己發送/接收的事務。

截至 2012 年 10 月(區塊 203258),已經有 7,979,231 筆交易,但未使用的輸出集的大小小於 100MiB,這足夠小,即使是非常舊的電腦也可以輕鬆放入 RAM。

換句話說,2012 年 10 月的近 800 萬個 txns 可以通過丟棄沒有可用輸出的 txns 合併到 100MiB。

因此,您可以想像僅儲存與您的地址相關的交易需要多少空間。


  • <https://code.google.com/p/bitcoin-wallet/>
  • <http://code.google.com/p/bitcoinj/source/browse/core/src/main/java/com/google/bitcoin/core/BlockChain.java#26>
  • <https://en.bitcoin.it/wiki/Scalability#Storage>
  • <https://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification>

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