解释比特币交易
翻译:DeepL,Google transalte 校对:李林
交易是一块数据,它接受输入,产生输出。忘记区块链的事情,比特币实际上只是一棵大的交易树。区块链只是一种保持交易秩序的方式。
想象一下,你有10个聪。这意味着你把它们放在一个未花费的交易输出(UTXO)中。你想花掉它们,所以你创建了一个交易。该交易应该引用未花费的输出作为其输入。每个事务都有一个不可变的ID,所以你用这个ID加上输出的索引(因为事务可以有多个输出)。然后你指定一个脚本来解锁该交易和相关的签名,然后你指定输出,以及一个脚本来锁住这些输出。
正如你所看到的,有这个锁/解锁的东西,有输入和输出。输入必须通过满足创建交易的人所指定的条件才能解锁。而产出必须被锁定,所以任何想花这些产出的人都需要解锁。
在大多数情况下,锁定和解锁意味着指定一个公钥,其控制者(拥有相应私钥的人)将能够花费。其他花哨的东西也是可能的,但我们现在可以忽略它们。
回到你想花的10个聪。由于你已经成功地引用了10个聪并解锁了它们,现在你可以指定输出(这都是在一个步骤中完成的)。你可以指定一个10聪的输出,两个5的输出,一个3和一个7的输出,三个3的输出,以此类推。输出之和不能超过10。如果输出的总和小于10,那么差额就会变成费用。在比特币的初期,你不需要任何费用,但现在你需要,否则你的交易不会被纳入任何区块。
举个例子,一个交易向2个产出支出,其中一个被一个向另一个产出支出的交易选中,另一个被向另外2个产出支出的交易选中,然后第四个交易选中2个输入并将其合并,它可以将它们的总和用于一个单一的产出或多个产出。
如果你仍然对交易感兴趣,也许你可以看看Andreas Antonopoulos那本书的这个小章。
如果你讨厌Andreas Antonopoulos,因为他是一个共产主义的屎壳郎,或者不想读超过半页,请到这里。