Client
比特幣安卓錢包中是否實現了默克爾樹的修剪?
我知道 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>