确认比特币交易
Confirm bitcoin transaction
我是区块链开发的新手,我需要验证一定数量的BTC已经从地址a发送到地址b.我正在调用 Blockchain api,并浏览接收方地址的交易。让我感到困惑的是,在某些情况下,输入中有多个地址。那么我如何才能确定我正在寻找的那个地址发送了所需的金额呢?另外关于交易,BTC 交易可以持有多个 'real' 交易吗?
谢谢
最好在 bitcoin.se 上提问,但每笔比特币交易都可能有多个输入和输出。如果你的钱包有 3 个地址,其中 0.5 btc 已发送但未花费,然后你将 1.25 btc 发送到某个地方,那么所有 3 个 0.5 btc 未花费的交易输出将用于构建 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:
可能有任意数量的输出,这完全取决于您的钱包如何决定发送它们。请记住,如果输入加起来不等于输出,就像用 20 美元的钞票买一包口香糖一样,会有一些变化。当你在你的钱包构建的区块浏览器上查看交易时,可能有 100 个输入、100 个输出(如果你有很多人要付钱),如果多个输入被拆分并发回给你自己,甚至会有多个变化。如果你把你的钱包比特币余额想象成熟食店里的奶酪块,它们的重量各不相同,3 个人来了,都想要不同的数量,熟食店服务员可能会得到 6 块奶酪,必须将它们切开并组合在一起多次不同的方式,然后交出。它们也不一定会重新组合;人们可能会带着多块奶酪走开,达到他们想要的总量,然后如果他们想把奶酪作为礼物赠送,他们会把它细分。最终,奶酪的细分会继续下去,直到你得到的只是面包屑,那不能被交易,因为将它们全部放在一个交易中会使交易太大(千字节)以致于网络不允许,因此您可能会进行合并它们的练习;将它们以精确的倍数发送给你自己,这样就不会发生细分。因此它们又变成了大块的奶酪。如果您听到人们谈论钱包布满灰尘,这意味着他们正在追踪大量的微量物品 - 灰尘。
我想我现在理解了困惑;如果两个人同意用 5 BTC 从你这里买东西,一个给你 5 个,但另一个不诚实,只给你 1 个。这些可能发生在同一个区块中,但它们不会发生在同一笔交易中,因为它们来自不同的钱包。如果你的困惑在于如何区分它们,即哪个人给你发了 5,哪个人给你发了 1,这就是为什么你让你的钱包生成 2 个不同的地址并给每个人一个。由于不同的交易,你总是可以知道你收到了 5 和 1,但是当你查看发送 5 和 1 的不同地址时,你可以知道是谁发送了 1,因为他们使用的地址。同样,您正在查看交易的输出端,而不是输入端,因为发送 1 的不诚实的人可以查看区块浏览器并找出诚实的人使用的输入详细信息,然后声称自己是诚实的人。
我是区块链开发的新手,我需要验证一定数量的BTC已经从地址a发送到地址b.我正在调用 Blockchain api,并浏览接收方地址的交易。让我感到困惑的是,在某些情况下,输入中有多个地址。那么我如何才能确定我正在寻找的那个地址发送了所需的金额呢?另外关于交易,BTC 交易可以持有多个 'real' 交易吗? 谢谢
最好在 bitcoin.se 上提问,但每笔比特币交易都可能有多个输入和输出。如果你的钱包有 3 个地址,其中 0.5 btc 已发送但未花费,然后你将 1.25 btc 发送到某个地方,那么所有 3 个 0.5 btc 未花费的交易输出将用于构建 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:
可能有任意数量的输出,这完全取决于您的钱包如何决定发送它们。请记住,如果输入加起来不等于输出,就像用 20 美元的钞票买一包口香糖一样,会有一些变化。当你在你的钱包构建的区块浏览器上查看交易时,可能有 100 个输入、100 个输出(如果你有很多人要付钱),如果多个输入被拆分并发回给你自己,甚至会有多个变化。如果你把你的钱包比特币余额想象成熟食店里的奶酪块,它们的重量各不相同,3 个人来了,都想要不同的数量,熟食店服务员可能会得到 6 块奶酪,必须将它们切开并组合在一起多次不同的方式,然后交出。它们也不一定会重新组合;人们可能会带着多块奶酪走开,达到他们想要的总量,然后如果他们想把奶酪作为礼物赠送,他们会把它细分。最终,奶酪的细分会继续下去,直到你得到的只是面包屑,那不能被交易,因为将它们全部放在一个交易中会使交易太大(千字节)以致于网络不允许,因此您可能会进行合并它们的练习;将它们以精确的倍数发送给你自己,这样就不会发生细分。因此它们又变成了大块的奶酪。如果您听到人们谈论钱包布满灰尘,这意味着他们正在追踪大量的微量物品 - 灰尘。
我想我现在理解了困惑;如果两个人同意用 5 BTC 从你这里买东西,一个给你 5 个,但另一个不诚实,只给你 1 个。这些可能发生在同一个区块中,但它们不会发生在同一笔交易中,因为它们来自不同的钱包。如果你的困惑在于如何区分它们,即哪个人给你发了 5,哪个人给你发了 1,这就是为什么你让你的钱包生成 2 个不同的地址并给每个人一个。由于不同的交易,你总是可以知道你收到了 5 和 1,但是当你查看发送 5 和 1 的不同地址时,你可以知道是谁发送了 1,因为他们使用的地址。同样,您正在查看交易的输出端,而不是输入端,因为发送 1 的不诚实的人可以查看区块浏览器并找出诚实的人使用的输入详细信息,然后声称自己是诚实的人。