研读笔记2---交易理论基本概念(1)
本篇用于理清交易过程的基本概念,熟悉理论才能看懂代码
(1)交易在比特币系统中的地位:系统中任何其他的部分都是为了确保比特币交易可以被生成、能在比特币网络中得以传播和通过验证,并最终添加入全球比特币交易总账簿。
(2)每笔交易都有交易输入和交易输出。地址对应于私钥和公钥。账户对应于姓名和密码,比特币系统只认识地址 公钥和私钥,不认识账户。
(3)比特币交易的基本单位是UTXO(未花费的交易输出)。UTXO是不能再分割、被所有者锁住或记录于区块链中 的并被整个网络识别成货币单位的一定量的比特币货币。所以,应该明白,笑来钱包里并没有所谓的比特币余额,而是分散到区块链中的UTXO。那么问题来了,UTXO和余额都代表拥有财富,区别在什么地方。如果在无中心的点对点系统中,达成共识需要经过大多数节点的确认,如果信息传递有时间差,就不能同时确认所有庄户的余额,必然面临双重支付的问题。UTXO方案解决了余额方案的数据库巨大和双重支付的问题。
(4) 一个UTXO可以是一“聪”的任意倍, 但只要它被创造出来了,就不能再被分割。就像你拿了面额为10快的人民币,如果想花费5元买瓶脉动,就不能把10元的人民币撕成两半去消费,而只能是消费掉10元的人民币,找零5元。
(5)交易输出包含两部分: 一定量的比特币; 一个锁定脚本,也被当作是“障碍”,只有满足这些条件才能支付输出,否则则被锁住再一个地址上,锁定脚本为地址的公钥代码(scriptPubKey)。该地址再支付时,使用解锁脚本解锁输出。
(6)交易输入:指向特定的UTXO,并通过解锁脚本(含有生产的数字签名)提供所有权证明
(7)矿工费用是基于交易的数据量以千字节规模来计算,而不是交易的价值。
(8)数字签名解决的问题:1 确定内容上是没有被篡改过的。(内容的完整性)
2 该内容的发送者是谁。(身份验证)
3 该内容的发送者只可能是谁。(身份不可否认)
(9)韩梅梅要发数字签名给李磊的流程 如下
1.哈希密文,得到密文的哈希值
2.韩梅梅用自己的私钥加密哈希值,得到数字签名
然后把密文和数字签名一起发给李磊,李磊收到信息后,要做两件事:
1.用自己的私钥解密密文,得到原文
2. 确定对方的身份是否是韩梅梅,李磊只需要做一个判断:用韩梅梅的公钥解密数字签 名,和密文的哈希值比对,看两者是否一致,如相同,则确定对方就是韩梅梅。
(10)非对称加密既可以用公钥加密,用私钥解密,也可以用私钥加密,用公钥解密。前者用于加密信息,后者用于身份校验。
网友评论