确认比特币交易

时间:2018-12-15 20:10:39

标签: blockchain bitcoin

我是区块链开发的新手,我需要验证,已经从地址a向地址b发送了一定数量的BTC。我正在调用 Blockchain api ,并浏览接收方地址的交易。让我感到困惑的是,在某些情况下,输入中有多个地址。那么,如何确定我要查找的那个地址发送了所需的金额?关于交易,在BTC交易中能否持有多个“真实”交易? 谢谢

2 个答案:

答案 0 :(得分:2)

bitcoin.se上的要求可能要好一些,但每个比特币交易可能都有多个输入和输出。如果您的钱包有3个发送了0.5 btc且未使用的地址,然后又将1.25 btc发送到某处,则这0.5 btc未使用的交易输出中的所有3个将用于构建1.25以及0.25更改的新地址。发送钱包也将拥有0.25零钱发送到的地址。这样,一个btc钱包最终可以拥有数百万个地址

实际上,您发送的总数很有可能由多个输入组成,因此,如果您想证明您发送的是1.25 BTC,那么您不会在交易X输入中查找源自1.25的单个地址,您会在tran X输出中查找您奶奶的地址(总共收到1.25)。请记住,在当今这样的时代,您的btc交易可能会引用100笔输出,其中12笔是祖母的地址,总计1.25笔btc

是的,一次btc交易可以为数十个或更多不同的个人保留数十笔或更多笔款项


根据第1条评论进行编辑:

可能有任意数量的输出,这完全取决于您决定如何将其发送出去的钱包。记住,如果输入的总和不等于输出的总和,就像买一包二十美元的口香糖,情况就会有所变化。当您在钱包构建的区块浏览器上查看交易时,可能会有100个输入,100个输出(如果您要支付很多人的话),如果拆分了多个输入并将其发还给您自己,则可能会有多个更改。如果您将钱包中的比特币余额想像成熟食店中的奶酪块,它们的重量各不相同,三个人来了,都想要不同的金额,那么熟食店服务员可能会得到6块奶酪,必须将其切碎并合并在一起多次重复,然后移交给他们。它们也不一定要重组。人们可能会放弃使用多个零碎的奶酪,制作出他们想要的总量,然后如果要把该奶酪作为礼物送给他们,那么就细分它。.最终,奶酪的细分一直持续到您最终得到的都是面包屑,进行事务处理是因为将它们全部放入一个事务中会使事务太大(千字节),网络无法承受,因此您可能需要进行合并这些事务的练习;将它们以精确的倍数发送给自己,因此不会发生细分。因此,它们又变成了一大块奶酪。如果您听到有人在谈论钱包里满是灰尘,那意味着他们正在追踪大量的微量-灰尘。

我想我现在已经明白了困惑;如果两个人同意以5 BTC的价格从您那里买东西,一个人给您5,但另一个人不诚实,只给您发送1。这些可能发生在同一区块中,但不会出现在同一笔交易中,因为它们起源于不同的钱包。如果您想知道如何区分它们,即哪个人给您发送了5地址,哪个人给了您发送了1,则这就是为什么您让您的钱包生成2个不同的地址并给每个人一个的原因。您总是可以说由于交易分开而给您发送了5和1,但是当您查看不同的地址时,就将5和1发送给了您,因为他们使用的地址,您可以知道是哪个人发送了1。同样,您正在查看事务的输出端,而不是输入端,因为发送1的最不诚实的人可以在区块浏览器中查看并找出诚实人使用的输入详细信息,然后声称是诚实的人。

答案 1 :(得分:0)

如果查看具有多个输入和输出的事务块,则无法了解输入的确切方向。您只能知道输入,输出及其数量。

例如,有3个输入,分别是A,B,C和3个输出,分别是D,E,F。它们共享同一事务块,因此无法说A将BTC发送给D,E ,或F。可能性为1/3,所以这就是CoinJoin“比特币交易匿名化技术”的基础。

有关CoinJoin的更多信息。