acess
V2EX  ›  Bitcoin

为什么 Bitcoin Core 启用修剪模式(prune=550)就不能 rescan 了?

  •  
  •   acess · Dec 17, 2017 · 1814 views
    This topic created in 3246 days ago, the information mentioned may be changed or developed.
    开启修剪模式的话,把区块里的那些只包含已花费输出的交易修掉,只留下一个 UTXO 数据库(这些 UTXO 也经过自己的验证),这样还不够计算余额吗?为啥还是非得从头下载一遍上百 GB 的区块链?
    9 replies  •  2017-12-20 17:40:55 +08:00
    kaichen
    kaichen
    Dec 18, 2017 via iPhone❤️1
    1
    因为当你 importprivatekey 时需要重新扫描一遍原始区块数据,确定这个私钥从来没有使用过。

    prune 模式只保留两天左右的 raw block data,和 utxo。
    acess
    acess
    OP
    Dec 18, 2017 via Android
    2
    @kaichen
    为什么要确定私钥从来没使用过?
    保证一个地址只使用一次吗?
    kaichen
    kaichen
    Dec 18, 2017❤️1
    3
    @acess

    因为 bitcoin core 除了节点功能,还包含了钱包功能,钱包的话为了提供历史交易记录,需要从过往的区块中拿数据。

    刚上 prune 模块时,开启后是不能启用 wallet 模式的,后来隔了一个版本才能开启,但导入私钥时要指定是否 rescan,如果不 rescan 那么不能正确显示余额和历史记录。
    acess
    acess
    OP
    Dec 18, 2017
    4
    @kaichen
    额,我觉得,是不是有可能开一个不顾历史记录、只显示余额的模式,然后就不需要下载整个区块链了?
    kaichen
    kaichen
    Dec 19, 2017
    5
    我不清楚你的场景是什么,一般来说你这种用法的话还不如直接用 SPV 客户端。
    acess
    acess
    OP
    Dec 19, 2017 via Android
    6
    @kaichen 比如导入新私钥,用户不关心历史,只关心余额。
    还有目前蛋疼的交易被卡问题,zapwallettxes 好像也是不支持 prune。
    i730
    i730
    Dec 19, 2017 via Android
    7
    没历史上哪儿找余额?
    acess
    acess
    OP
    Dec 19, 2017 via Android
    8
    @i730 第一遍区块链验证跑完不就有 UTXO 集合了……
    i730
    i730
    Dec 20, 2017
    9
    @acess #8 那还不是要跑,还不如轻钱包
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1916 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 09:12 · PVG 17:12 · LAX 01:12 · JFK 04:12
    ♥ Do have faith in what you're doing.