acess
V2EX  ›  Bitcoin

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

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

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

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

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