比特币也可以说是加密货币,本质就是信任,而非物质。
引用一篇很好的文章(阮一峰)中的一句话:
钱的本质,或者说货币的本质,就是它的可信性。
这里对比特币所涉及的一些关键技术进行介绍,有助对其进行更深入的了解,也算是按照自己的理解方式对后面参考资料文章的一篇读书笔记以及总结整理。
相关技术
- hash技术:生成公钥的hash做为钱包地址
- 区块链技术:存储交易信息不可更改,保证资金的数额
- 非对称加密:生成每个人的公钥和私钥
- 数字签名技术:私钥加密,公钥解密验证身份
交易规则
必要信息
比特币协议规定,申报交易的时候,除了交易金额(数量:本次交易的规模),转出比特币的一方还必须提供以下数据:
- 上一笔交易的 Hash(来源:你从哪里得到这些比特币)
- 本次交易双方的地址(流向:你将比特币支付给谁)
- 支付方的公钥(支付者提供的验证信息:支付比特币的人应当是拥有比特币的人)
- 支付方的私钥生成的数字签名(拥有者提供的验证信息:拥有比特币的人才能提供正确的公钥)
主要是为了保护支付方。
验证过程
通过上述信息,验证这笔交易是否属实:
- 第一步,找到上一笔交易,确认支付方的比特币来源。(上一笔交易信息在公共区块链中查询到,其收款方是当前交易的付款方)
- 第二步,算出支付方公钥的指纹,确认与支付方的地址一致,从而保证公钥属实。(支付地址即上一笔交易的收款方地址,应和公钥指纹一致)
- 第三步,使用公钥去解开数字签名,保证私钥属实。(用公钥配套私钥对上一笔交易的签名,保证是支付本人发送的真实交易信息)
实现思想
思想是:完成一笔交易,必须是(1)本人(2)用本人的钱(3)有能力
关键:对是否是“本人”+“用本人的钱”,通过公钥来验证。
即:你必须是支付的人(公钥匹配指纹),并且拿着自己的钱(公钥匹配私钥签名),才能够开始交易。
在没有对方私钥的前提下,如下都认为是非法的信息:
- 能证明是本人的钱,没证明本人是交易者的情况:即便你证明是自己的钱(同时拥有你的私钥和公钥),也不一定能说明你是支付的人(支付指纹不匹配你的公钥)
- 能证明本人是交易者,没证明是本人的钱的情况:即使你能说明你是支付的人(同时拥有支付公钥和指纹),也不一定能说明钱是你的(支付公钥不匹配你的私钥)
对是否“有能力”支付,通过上一笔交易结果验证(上一笔交易的hash)。
在此重新强调,当然所有以上这些过程合理的前提,都要求生成的一笔交易:
- 包括接收方地址(用于指定正确的接收方,以及下一笔交易验证本人是支付者)
- 包含支付者数字签名信息(用于下一笔交易验证钱是支付者的)
- 支付者的公钥(即前面被签名和接收地址验证的信息)
- 所有信息存于区块链中(上一笔交易hash保证钱财的来源历史可靠,上一笔交易的接收方是本笔交易的支付方才行)。
交易确认
即交易数据写入区块链数据库。
原比特币协议: 每个区块1M,每个交易大概500字节,所以一个区块大约2000笔交易,10分钟更新一次,则每秒3-5笔交易。
后来有一个新比特币协议:区块增加到8M,其它不变,由于是分支,所有以前拥有比特币的,也有了一份新比特币。
信息传播
点对点网络同步。
运作基础
矿工完成区块链更新,需要有手续费作为收益(系统生成+支付方意愿)。
所有比特币系统每更新一次区块链时自动生成,每4年减半,至2018是12.5个比特币。比特币精确到小数点后8位,所以2140年系统比特币总量将不会增加。
网友评论