主页 > imtoken下载官方 > 比特币交易(一)

比特币交易(一)

imtoken下载官方 2023-03-24 07:46:10

在比特币白皮书中,有三个关键段落解释了交易是什么。

虽然数字签名部分解决了电子现金系统的问题,但如果仍然需要第三方的支持来防止双花,那么系统就会失去价值。电子货币被定义为一串数字签名。电子货币从所有者到下一个人的转移是通过,所有者使用私钥对交易进行数字签名交易和下一个人数字签名的公钥,并将数字签名附加到这个电子货币上(数字签名链)在后面。收款人检查数字签名以验证他或她是否收到了电子货币。每次交易结束后,电子货币将由铸币局收回,铸币局将发行新的电子货币;只有铸币局直接发行的电子货币才被认为是有效的。这可以防止双花成为双花。

第一段明确指出,电子货币交易诞生的土壤是数字签名。

第二段解释了比特币中的电子货币是什么以及如何进行交易。

请结合比特币谈一谈什么是电子货币

第三段阐明了比特币中电子货币的创建和销毁过程,以保证电子货币的唯一性。

电子签名

在密码学中,我喜欢用 Alice 和 Bob 作为例子。Alice代表路人A,Bob代表路人B,后面会经常用到。

请结合比特币谈一谈什么是电子货币

在现实世界中,交易是基于文本形式的签名进行的。例如,爱丽丝签署一张支票“爱丽丝给了鲍勃100元”,并通过秘书将签署的支票交给鲍勃。Bob 找到专家验证签名后,确认交易。在互联网上请结合比特币谈一谈什么是电子货币,交易是基于数字签名完成的。

数字签名基于非对称加密。我们来看看维基百科对非对称加密的定义:

非对称密码学是一种密码学算法,需要两个密钥,一个是[public key](),另一个是[private key]();当一个用于加密时,另一个用于解密。用其中一个密钥加密明文得到的密文只能用对应的另一个密钥解密得到原始明文;即使最初用于加密的密钥也不能用于解密。

请结合比特币谈一谈什么是电子货币

数字签名是非对称加密的一种应用方法。在数学上,它可以用一个简单的公式来表示。整个数字签名的大致流程如下:

hash:    x = hash(data)
send:    c(x) and data
------- network -------
receive: c(x) and data
verify:  d(c(x)) = x = hash(data)

请结合比特币谈一谈什么是电子货币

Alice 需要向 Bob 转账 100 元电子货币。Bob 需要一种方法来验证交易是否来自 Alice,并且 Alice 不能否认它。Alice 写入交易信息数据:Alice 给 Bob 100 元电子货币。Alice 使用哈希算法生成交易信息的哈希值 x = hash(data)。Alice 通过随机数生成器生成一对密钥,其中一个是公钥 d,另一个是私钥 c。Alice 使用私钥 c 对交易信息 x 进行签名,得到数字签名 c(x)。Alice 使用 Internet 将数字签名 c(x) 和交易信息数据传递给 Bob。Bob 使用公钥 d 对数字签名 d(c(x)) 进行解密,得到交易信息哈希值 x。Bob 用公钥 d 对数字签名 c(x) 的值进行解密,得到交易信息的哈希值 x。Bob 使用哈希算法生成交易信息的哈希值 hash(data)。如果 Bob 生成的交易信息的哈希值 hash(data) 等于 Alice 生成的交易信息的哈希值 x,则 Alice 有私钥,否则 Alice 没有私钥。如果 Alice 拒绝,任何人都可以重复 Bob 的验证步骤并确认交易数据:Alice 给 Bob 100 元电子货币。如果 Bob 生成的交易信息的哈希值 hash(data) 等于 Alice 生成的交易信息的哈希值 x,则 Alice 有私钥,否则 Alice 没有私钥。如果 Alice 拒绝,任何人都可以重复 Bob 的验证步骤并确认交易数据:Alice 给 Bob 100 元电子货币。如果 Bob 生成的交易信息的哈希值 hash(data) 等于 Alice 生成的交易信息的哈希值 x,则 Alice 有私钥,否则 Alice 没有私钥。如果 Alice 拒绝,任何人都可以重复 Bob 的验证步骤并确认交易数据:Alice 给 Bob 100 元电子货币。

电子货币

请结合比特币谈一谈什么是电子货币

那么如何定义这个100元的电子货币呢?回到比特币白皮书。

将一枚电子货币定义为**数字签名链**( a chain of digital signatures)。电子货币从所有者转移给下一个人是通过,所有者使用私钥,对交易 Transactions 和下一个人的公钥进行数字签名,并将数字签名附在这枚电子货币(数字签名链)的后面。收款人对数字签名进行检验,就能校验自己是否收到了电子货币。

在比特币源代码中,电子货币被定义为数字签名链。只要 Alice 签署电子货币,就相当于属于 Bob 的电子货币。该过程基于上述数字签名。

至此,比特币交易的整体思路已经基本清晰。还有很多细节,需要深入到源码层面请结合比特币谈一谈什么是电子货币,比如