钱包描述符:先核对派生范围再核对余额
只读钱包余额说明:在已导入资料与已完成扫描覆盖下,钱包识别出了多少输出。它不自动等于一家机构历史派生的全部地址余额,也不证明观察者有权花费。发生余额差异时,先核对描述符覆盖,再解释数字。
本题交付脚本类型、公开派生资料、分支、索引区间和历史起点的覆盖说明。共享研究记录无需发布真实扩展公钥,也不必向真实钱包导入新资料来完成论证。
先检查描述符承担什么角色
Bitcoin Core三十版importdescriptors文档分别定义range、next_index、timestamp与internal。生成下一地址的状态、扫描起点和找零分类是不同控制项,应一起阅读,不能相互替代。
记录资料描述单一固定脚本,还是可派生的一族脚本。若为后者,在私有底稿保留路径和分支关系,对外只用脱敏标识。接收与找零分支可能需要单独覆盖记录,导入一个分支并不说明另一个也被检查。
共享示例采用“接收R”“找零C”等虚构名称。扩展公钥即使不能签名,也可能暴露关联地址历史,没有必要为了展示计算而公开真实资料。保存资料的授权范围,也与保存数字本身同样重要。
假设的范围对账
设虚构机构授权提供两个分支的公开派生资料。本次已核接收索引零至九十九、找零索引零至四十九,明确包括两端。在同一截止点,识别出的未花费输出分别为三个BTC与一个BTC。
| 覆盖部分 | 已核索引区间 | 发现的未花费数量 |
|---|---|---|
| 接收R | 零至九十九 | 三个BTC |
| 找零C | 零至四十九 | 一个BTC |
| 原覆盖集合 | 两段合并 | 四个BTC |
| 后续核到的接收项 | 索引一百二十 | 零点五BTC |
| 扩展已知集合 | 原集合加该项 | 四点五BTC |
原数为三加一等于四;加入新核实输出后,四加零点五等于四点五。研究更正没有创建币,只扩大了观察集合。索引一百二十不在原接收范围,因此不能仅凭遗漏就认定节点算错了已导入集合。
先比较钱包识别脚本集合与机构声明的实际派生范围,再讨论链上数据是否冲突。也不能把四点五BTC称为机构完整总额,因为其他分支、更高索引仍未进入本例证据。有限检索可确定其集合内数量,却不能据此给所有未披露派生一个可信余额上界。
若机构后来确认这就是全部分支,应保存确切声明、日期和适用对象。该声明能加强覆盖论证,但仍不能自动认证私钥控制,也不能保证之后没有启用新分支。完整性判断本身有观察时间。
范围、下一索引与历史各自核对
用于生成下一地址的索引,不是此前和此后地址已经扫描的证书。生成状态、明确导入范围与实际扫描完成情况应分别保存。界面显示下一索引一百二十一,不单独证明零至一百二十的全部历史已处理。
上界设置也不等于实际使用。将范围延至二百只是增加候选脚本,不表示中间每个地址都被机构用过。应保留实际输出,不能用平均余额乘候选地址数估算总资产。
文档中的timestamp决定重扫从哪里开始,特殊值now可以跳过历史扫描。因此,即使公开派生资料正确、索引范围足够,过晚扫描起点仍可能留下历史缺口。描述符内容正确与观察任务完成,是两个需要分别证明的状态。
对连续研究,保存范围修订前后的差集。新增索引发现旧输出时,应把它归于原始创建区块,而不是新增索引的日期;否则范围扩张会伪装成资金流入。
边界例:脚本覆盖,时间没有覆盖
另设一个独立假设:接收索引二十有零点二五BTC未花费输出,但创建早于导入时设定的扫描起点。范围确实包括二十,本次研究却没有建立其更早创建历史已经检查的证据。这是时间覆盖缺口,不是索引缺口。
只扩大索引未必修复它。核对扫描开始区块或时间戳、完成状态,以及节点能否提供所需历史。之后更早扫描找回该输出时,应记为恢复的历史证据,不是恢复日新存入零点二五BTC。
扫描中断或所需历史取不到时,空结果不能直接写零。保存成功覆盖区间和失败信息,让重做者区分“没有匹配”和“没有完成观察”。若另一个服务显示输出,先比较对象与历史范围,不要仅因它的金额更大就选择它。
控制权与归属另需材料
描述符可以识别锁定条件,却不必包含满足条件所需的私有授权。分开记录只读识别、已知花费政策和已证明控制。无需为补全研究表而真实花费资产,更不能把可以识别写成可以支配。
同样,一份文档提供派生资料,不代表命名机构受益拥有每个被识别输出。保存认证声明的范围和日期。托管服务可能提供覆盖多个受益人的监测视图,技术识别与法律、经济归属仍是不同问题。
观察同一输出被多个导入记录识别时,应按outpoint去重,再保留它与各描述符的识别关系。不能因为接收和找零标签同时命中,就把一个输出加两次;标签冲突也应单独核对,而非删除其中一份来源历史。
可执行覆盖清单
| 操作 | 保存内容 | 未满足时处理 |
|---|---|---|
| 确认网络与脚本类型 | 私有描述符身份、脱敏标签 | 解决脚本不兼容或不明 |
| 列声明分支 | 接收、找零目的及路径关系 | 未知分支保留未知 |
| 固定索引区间 | 明确上下界 | 不从next_index推完整性 |
| 检查历史 | 起点、完成状态、可用区块 | 区分未完成与零匹配 |
| 对账输出 | 同截止点的不同outpoint与数量 | 去掉重复识别,保留后续发现 |
| 说明控制范围 | 只读状态与归属材料 | 不宣称全机构资产可花费 |
发布时将余额与覆盖句一起写明:哪些分支、哪些索引和哪些已核历史,在指定截止点包含哪些未花费输出。出现更高已用索引、分支改变、历史起点更正或归属声明更新,应重新打开记录。覆盖修正应改善观察,不能重写币真正到达的时间。
常见问题
有扩展公钥就能花费比特币吗?
不能仅据此判断。公开派生与输出识别不同于满足锁定条件所需的私有授权。
有限范围没有匹配,是否证明钱包再无其他输出?
不是。它只涉及该脚本集合与完成扫描的历史,其他分支、索引及时间缺口仍需另核。