比特币的交易

比特币

比特币地址的产生

在这里插入图片描述

比特币的交易

例:
随机选取一个32字节的数作为私钥(大小介于1~0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C
D036 4141之间) : 18e14a7b6a307f426a94f8114701e7c8e774e7f9a47e2c2035db29a206321725
计算私钥所对应的非压缩公钥: (共65字节, 1字节0x04, 32字节为x坐标, 32字节为y坐标)
0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11
A1DF38855ED6F2EE187E9C582BA6
计算公钥的SHA‐256哈希值: 600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408
计算上一步哈希值的RIPEMD‐160哈希值: 010966776006953D5567439E5E39F86A0D273BEE
在上一步结果之间加入地址版本号: (如比特币主网版本号"0x00") 00010966776006953D5567439E5E39F86A0D273BEE
计算上一步结果的SHA‐256哈希值: 445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094
再次计算上一步结果的SHA‐256哈希值: D61967F63C7DD183914A4AE452C9F6AD5D462CE3D277798075B107615C1A8A30
取上一步结果的前4个字节: ( 8位十六进制数) D61967F6,把这4个字节加在第五步结果的后面,作为校验(这就是比特
币地址的16进制形态) 00010966776006953D5567439E5E39F86A0D273BEED61967F6
用base58表示法变换一下地址: (这就是最常见的比特币地址形态) 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM

① Randomly select a 32-bit number as the private key
② Calculate the uncompressed public key corresponding to the private key: (a total of 65 bytes, 1 byte 0x04, 32 bytes for x coordinate, 32 bytes for y coordinate)
③ Calculate the SHA‐256 hash of the public key:
④ Calculate the RIPEMD‐160 hash of the previous step:
⑤ Add the address version number between the results of the previous step:
⑥ Calculates the SHA‐256 hash of the result of the previous step:
⑦ Calculate the SHA‐256 hash from the previous step again:
⑧ Take the first 4 bytes of the result of the previous step and add these 4 bytes to the end of the result of the fifth step as a check (this is the hexadecimal form of bitcoin address).
⑨ Convert addresses using base58 notation:

默克尔树

Merkle树是一种树(数据结构中所说的树),通常称为Merkle Hash Tree,常用于高效汇总和验证大数据集的完整性.,可简化区块验证(Simplifies block validation)

具有以下特点:
① 默克尔树常见的结构是二叉树,但它也可以是多叉树,它具有树结构的全部特点.
② 默克尔树的基础数据不是固定的,因为它只要数据经过哈希运算得到的hash值.
③ 默克尔树是从下往上逐层计算的,就是说每个中间节点是根据相邻的两个叶子节点组合计算得出的,而根节点是根据两个中间节点组合计算得出的,所以叶子节点是基础

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值