比特币通过“交易记录哈希指针”验证交易合法性的一个疑问! - V2EX
huzhikuizainali

比特币通过“交易记录哈希指针”验证交易合法性的一个疑问!

  •  
  •   huzhikuizainali Feb 27, 2024 1657 views
    This topic created in 806 days ago, the information mentioned may be changed or developed.

    声明一下。这里所说的哈希指针不是指向前一个区块的哈希指针!

    老师说全节点在收到一个交易记录的时候首先会根据 UTXO 去检查输入方的比特币来源。比如下面这个交易。在审查 B->C 交易的时候要根据 B 提供的哈希指针去验证 B 的比特别来源。如果发现在发起 B->C 交易之前,B 已经将比特币转给 D 了。那么就认为这是“双花”或者说“透支” ,则会拒绝将 B->C 交易打包!

    关于这个流程我有两个疑问:

    1 、老师给出的例子是 A->B 5 个比特币(假设 B 只有 5 个比特币)。然后 B->D 5 个比特币。最后 B->C 5 个比特币。根据交易记录的哈希指针可以发现 B->D 的交易。 -----这我就不明白了。如下图:既然 B->C 的 Vout 哈希指针指向的是 B 作为输出角色(收款方)的那一笔交易记录。那么如何根据这个哈希指针发现 B->D 的交易记录呢? B->D 的交易,B 作为输入也会有一个哈希指针指向 A->B 的交易的输出方。但是 B->C 的交易去向 A->B 的 vout 查询时如何能发现 B->D 的交易呢?

    2 、假设 B->D 的交易确实发生了。但是金额只有 2 个比特币。那么 B 此时剩余 3 个比特币。在假设第三笔交易 B->C 的交易额是 3 个比特币。那么交易应该是合法的。但是全节点如何通过这些哈希指针完成定量审核的呢?

    Adelell
        1
    Adelell  
       Feb 27, 2024
    BTC 使用点对点分布式时间戳服务器为基于时间的交易序列生成计算上的证据来解决双重支付问题。

    https://bitcoin.org/files/bitcoin-paper/bitcoin_zh_cn.pdf
    再看一遍白皮书吧。
    dhb233
        2
    dhb233  
       Feb 27, 2024
    看起来比特币没有提供什么快速的查找方式。可能数据量还不算太大,遍历就能找到 B->D 的交易?或者那些节点可以自己创建每个钱包的缓存,只记录钱包可用的 UTXO 。

    第二个,我记得一次交易可以分拆多个接收方。5 个币,可以 3 个给 D ,2 个给自己。
    xx6412223
        3
    xx6412223  
       Mar 7, 2024
    建议你学习:比特币数据结构
    数据从属关系:
    chain - block- tansaction - output
    你所的验证本质就是基础的数据遍历过程,当然会做缓存,并在每次产生新区块后更新缓存
    About     Help     Advertise     Blog     API     FAQ     Solana     5781 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 911ms UTC 02:42 PVG 10:42 LAX 19:42 JFK 22:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86