主页 > imtoken苹果版 > 你从未想过的比特币基础知识

你从未想过的比特币基础知识

imtoken苹果版 2023-07-04 05:14:59

由于公钥有两种形式,一个公钥对应两个地址。 两个地址都可以使用相同的私钥签署交易。

公钥生成地址算法:

版本 = 1 个字节的 0(零); 在测试网络上,这是 111 的 1 个字节

密钥散列 = 与 RIPEMD-160(SHA-256(公钥)) 连接的版本

校验和 = SHA-256 的前 4 个字节(SHA-256(密钥哈希))

比特币地址 = Base58Encode(密钥散列与校验和连接)1234

下图显示了从非压缩公钥生成地址的过程:

比特币基础知识 你绝对想不到

压缩公钥生成地址时,只能取公钥的X部分。

派生关系

推导出三者的关系:私钥>>公钥>>两个地址。 这个过程是不可逆的。 有了私钥,就万事大吉了,但通常为了方便比特币取不出来怎么办,也会存储对应的公钥和地址。

贸易

比特币交易(Transation,简称Tx)不是通常意义上的一手支付、一手交付等交易,而是转账。 一笔交易由 N 个输入和 M 个输出组成。 交易的每一个输入都是正向交易的一个输出比特币取不出来怎么办,所以追根溯源,必然有一个没有输入的交易。 这种类型的交易称为 CoinBase Tx。 CoinBase交易是奖励矿工产生的交易,交易总是位于Block的第一个区块。

比特币基础知识 你绝对想不到

有一个输入输出Tx数据:

输入:

上一个交易:f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6

指数:0

脚本签名:304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10

90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501

输出:

价值:5000000000

scriptPubKey:OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d

OP_EQUALVERIFY OP_CHECKSIG12345678910

一旦某个 Tx 的第 N 个输出成为另一个 Tx 的输入,比特币就被花掉了。 每笔交易都由一个唯一的哈希字符串标识,该哈希字符串是通过对交易数据进行两次 SHA256 哈希运算得到的:

Tx 哈希 ID = SHA256(SHA256(Tx 数据))1