首页 > 其他 > 详细

认识比特币

时间:2020-03-11 23:57:48      阅读:116      评论:0      收藏:0      [点我收藏+]

比特币 密钥就是账户的一切 

比特币交易过程

1.用你的密钥在一笔交易上签名 通过系统验证 证明你拥有这笔交易里等额比特币

2. 当我们花费比特币时,会产生一条新交易,这笔交易只有小明的密钥可以打开

去中心化的交易系统

全节点客户端 300GB

轻钱包

比特币交易不可逆

比特币系统流程

1.记账   2.发行货币  3.账户管理 

账户管理 1.私钥管理 2.发送和接收管理 3.账户余额及流水

比特币私钥 256个二进制数字

比特币椭圆曲线算法  技术分享图片

上面公式中,技术分享图片 是取余符号,而 ?技术分享图片 是一个很大的素数,到这一步,公式中就只剩下自变量 ?技术分享图片 和因变量 ?技术分享图片 了,你完全可以把它看成初中学过的二元多次函数,不过,并不是所有实数 ?技术分享图片 都满足这个曲线,所以实际上椭圆曲线是一个散点图,

spec256k1 椭圆曲线

p = 115792089237316195423570985008687907853269984665640564039457584007908834671663

 技术分享图片

 

椭圆曲线的运算 比特币公钥算法

公钥算法就是运用了这些基本运算

1.加法运算 2.无限点定义 3.乘法运算

技术分享图片

 

 

比特币公钥算法

比特币的公钥是椭圆曲线上的点 他的 x和y很大 所以需要比特币地址

比特币地址生成

1.通过哈希算法将公钥转换成定长的字符串

2.将第一步生成的结果进行压缩编码 输出地址

技术分享图片

 在比特币地址生产中使用了两个哈希算法 第一个是 SHA256 算法 另一个是 RIPEMD160算法

先用SHA256吧公钥映射为一个32字节的数字 再用RIPEMD160把产生的数字映射到一个20字节的数

压缩编码使用base58算法 比base64 少了6个字符 

base58check 进行验证

技术分享图片

 

加入我们需要一个字符串 “1215309” 进行checksum 算法 和为21 ,并将21添加到字符串末尾进行验证   如果不小心将2写成了5那么和为24 就与末尾21不一致

比特币 base58check算法

1.在上一步20个公钥hash的基础上 增加一个版本前缀 输出一个新字符串

2 利用SHA256 算法 将第一步产生的字符串进行2次哈希 取结果前4个字节作为 checksum

3.将 checksum 添加到公钥Hash的尾部

4 对整个字符串进行 base58 压缩编码 产生比特币地址

 

不同version含义
TypeVersion prefix (十六进制表示)Version prefix (Base58 表示)
Bitcoin 地址 0x00 1
脚本Hash地址 0x05 3
Bitcoin 测试网络地址 0x6F m or n
Private Key WIF 0x80 5, K, or L
BIP-38 加密私钥 0x0142 6P
BIP-32 扩展公钥 0x0488B21E xpub

所以比特币地址都是以1开头的地址

 

 

认识比特币

原文:https://www.cnblogs.com/validate/p/12462110.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!