戳蓝色字“
币圈邦德
”关注我们哟
!
币圈邦德特约情报员忘吃药解读白皮书系列之比特币交易模型。
在讲比特币的交易模型之前,先介绍正文要用到的名词。
1.非对称加密技术:
非对称加密技术和普通加密技术有很多不同,最大的不同在于拥有两个密钥。这两个密钥其中一个是公钥,另一个是一个私钥,两者通过特定算法联系起来,就是用非对称加密技术联系起来的。
对于持有者来说,公钥是可公开的,任何人都可以用持有者公钥验证信息,但私钥仅可供持有者本人拥有,信息不可外漏。
像摩尔斯电码作为普通加密技术,字母可以转换成嗒嗒的声音,嗒嗒的声音也可以被解读成字母,这些只需一张国际摩尔斯电码的表,我们自己就可以实现信息的加密和解密。
但是在非对称加密这里,两种不同的数据不能互相转换。两组数据A和B,A通过非对称加密技术无法计算出B,但B可以反过来计算出A。在这个例子里面,A是公钥,而B就是私钥。
非对称加密技术包括RSA,椭圆曲线算法,Elgamal等,比特币采用椭圆加密算法ECDSA。
2.哈希算法:
也叫散列函数,能将任意长度的输入,转变成固定长度的输出。
比特币的网络应用中多处技术都运用了哈希算法,例如,将公钥转换为地址需要做二次散列;在新区块产生时,区块头中包含了前一区块的哈希值;新区块产生条件之一还包括必须用散列函数去计算符合条件的哈希值,计算者不断的穷举数值,直到找到一个参数满足条件:放入哈希计算公式后得到的数值结果大小在某一个规定的区间范围内。
哈希算法包含多种不同的函数,比特币采用的哈希函数是SHA-256。
3.工作量证明PoW:
PoW是Proof of Work的简称,共识算法的一种。共识算法就是大家参与就必须认可的算法。
PoW是为了筛选出符合记账要求的节点的一种证明方式,为了争取记账后可以获得的区块奖励和交易费用,节点们通过比拼算力,暴力破解哈希函数,不断穷举可能符合要求的数值,直到找到某一个数值,并在系统设定的难度范围内。最快找到哈希值的节点获得记账权力和对应的区块奖励及交易手续费。
除了PoW证明机制外,还有权益证明机制PoS、股权授权机制DPoS等其他共识算法,以后情报员还会为大家解读。
下文通过3个部分详细阐述比特币的交易模型。
1.创建比特币账户地址
2.比特币交易流程
3.比特币网络记账(挖矿)过程
1.创建比特币账户地址
与中心化机构统一创建账户再分发给用户不同,比特币的账户地址完全由用户自主创建,无创建数量的上限限制。因此,从创建账户的原理的角度出发,比特币网络保障了使用者的身份隐私权。除此之外,比特币的账户地址采用了非对称加密技术,因此会产生两个秘钥——公钥和私钥。
比特币账户地址是由公钥通过哈希加密和编码规则后获得,而公钥又是由私钥通过非对称加密算法中的椭圆加密算法获得,具体流程如下图所示:
由于采用了非对称加密技术,加密和解密算法都是全网公开开源,人们只需拥有交易者的公钥便可验证交易的真实性并记录下来。这也解决了对称加密技术在大规模广泛群体中难以得到大规模应用的难题。
2.比特币交易流程
假设有交易双方A和B,A要转帐比特币给到B。在传统交易过程中,必需要有一个中介机构在账本上记录A扣减了多少比特币,B增加了多少的比特币,并从交易中抽取一定的佣金。
基于比特币网络的交易去除了中介机构,我们来模拟一下基于比特币网络的交易的整个过程。
① A查询到B的地址,发布一条交易信息广播,将若干比特币交易从自己的地址中转出,转入B的地址。并且,A用私钥对这一交易信息进行加密签名。
② 网络中的节点收到A的交易请求广播后,追溯A地址所有历史交易记录(UTXO),验证剩余额度,并用A的公钥通过特定算法解密签名数据,并与A用私钥签名后获得的签名摘要对比,验证通过后,交易信息待写入区块链中。
需要注意的是,在比特币交易网络中,并没有寄存、存款的概念,比特币网络账本仅仅记录比特币的转移状况,账户余额完全是通过区块链上流水账的汇总计算得出。
换句话说,比特币既不是一串密码,也不是一个困难数学题的答案。比特币只是比特币的区块链上账本上,记录某地址中拥有若干块比特币(UTXO),该地址就拥有若干块比特币。
3.比特币网络记账(挖矿)过程
网络中的节点们收到交易信息后,需要解决一个问题,就是由哪个节点来进行记账,比特币网络采用工作量证明机制PoW来竞争记账权力。
首先发生交易信息的节点将交易信息广播到全网,其他节点校验数据记录是否合法,若通过校验后,数据记录将被打包为一个区块,所有节点执行共识算法,最先计算出小于系统设定目标值的哈希值的节点获得记账权,其他节点将这个节点的区块作为父区块继续竞争计算产生新的区块。
截止2017年11月20日,比特币在2017年消耗的电力占据了全球消耗电量的0.13%,超过了159个国家。由于消耗的电力资源过于巨大,工作证明法也引起了广泛的争议。(下图中浅色部分国家耗电量小于比特币)
▼