一起学习比特币白皮书--交易--比特币长什么样子?
Posted LaoAlex
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起学习比特币白皮书--交易--比特币长什么样子?相关的知识,希望对你有一定的参考价值。
比特币白皮书的第二章主要讲了3个问题:
如何定义一枚比特币?
交易如何进行?
如何防止双重支付?
下面按照白皮书中的描述做一点解释。
如何定义一枚比特币?
换成一个更为通俗的问题:比特币长什么样子?我们从网上可以看到大量类似这样子的图片:
这个容易让不了解原理的人产生误解。事实上的比特币长这样:
白皮书中明确指出:一枚电子货币是一条数字签名链。
We define an electronic coin as a chain of digital signatures
数字签名就是基于非对称加密和数字摘要技术的身份认证方法。通过验证数字签名可以证实这个东西的确是来自某个人的。
数字签名链就是一系列的数字签名按时间顺序形成的链。
举个例子:A用一枚比特币跟B买了一杯奶茶,B拿了A的比特币后又跟C买了一件衣服。那么这枚比特币现在到了C的手上。那么C手上的这枚比特币应该怎么证明就是C的呢?这就涉及第二个问题。
交易如何进行?
按中本聪的说法:每个拥有者都通过将上一次交易和下一个拥有者的公钥的哈希值的数字签名添加到此货币末尾的方式将这枚货币转移给下一个拥有者。
Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin
这个说法比较难懂,接着上面的例子:
这枚比特币之所以是C的,因为经过验证是B发送给他的;
B之所以能发送这枚比特币,因为经过验证是A发送给他的,;
C手上的这枚比特币,就形成一个数字签名链;
每一次的交易就是通过数字签名完成货币的转移。
如何防止双重支付?
接着上面的例子,如果A手上只有一枚比特币,但他跟B买了一杯奶茶后又跟C买了一件衣服。因为交易是点对点的,没有第三方的参与,这时就存在一个双重支付的问题。
中本聪提出的办法是:将所有的交易公开。
The only way to confirm the absence of a transaction is to be aware of all transactions
每个节点都存有一个交易账本,通过共识系统来防止双重支付。
接着刚刚提到的问题:
刚开始时,A、B、C手上都一个账本,记着A有一个比特币;
A向B买了一杯奶茶,支付了一个比特币。这时B和C都会更新手上的账本,记着A把这枚比特币给了B;
如果A偷偷地不更新自己的账本,试图把这枚比特币支付给C,这时C通过查账就可以发现A进行了双重支付,因为B和C对交易账本形成了共识。
以上是关于一起学习比特币白皮书--交易--比特币长什么样子?的主要内容,如果未能解决你的问题,请参考以下文章