本文介绍比特币中常见的术语;
主要参考《精通比特币》,PDF下载地址:区块链相关网站、资料分享
地址、私钥、公钥
比特币地址由一串字符和数字组成,以阿拉伯数字“1”开头。如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV。
比特币地址类似于email地址,用户转账的时候,直接使用地址进行转账;类似于给某个用户发送Email。
私钥和公钥就是我们常说的非对称加密的公钥、私钥;在比特币系统中,使用私钥生成公钥,公钥生成比特币地址,并且都是不可逆的。使用的是椭圆曲线加密算法(ECDSA)
区块
一个区块也就是区块链上的一个节点,是若干交易数据的集合,它会被标记上时间戳、高度号、和前一个区块的标识码。
所以可以说:一个区块通过hash码唯一标记,有唯一的高度;但是反过来只能说一个hash码确定唯一区块,但是不能说一个高度确定唯一区块。
区块链
通俗的说 区块链就是一个大账本。
技术上说,就是所有区块链在一起的一个链表结构;类似于C/C++中的单项链表数据结构。只是每个区块保存前一个区块的hash码值;所以从某个区块逆向上溯,最终都会找到创世区块。
如下图为一个区块链和区块的结构图:
比特币网络
比特币网络是一个P2P网络,这也是区块链必须依赖的一个环境。因为只有P2P网络才可以实现去中心化。比特币网络真正实现了我们一直讨论的云计算。整个P2P网络中有很多节点,这些节点可以广播和同步区块链信息。
矿工、挖矿、奖励
矿工就是有一定算力的网络节点(机器)。
挖矿就是对交易 确认的计算,也叫工作量证明(POW)。
奖励就是比特币系统赠送的比特币或者交易费用。奖励最终会显示在钱包(软件)中,其实奖励就是一个UTXO。
难度、工作量证明
网络会通过调整“难度”这个变量来控制生成工作量证明所需要的计算力。满足全网目标难度的情况下求解SHA256算法。
UTXO
比特币交易的基本单位是未经使用的一个交易输出,简称UTXO。某个用户钱包中的比特币数量(金额)就是交易最后到他账号中的所有UTXO的总和。所以比特币系统并不像某宝这样的中心化的存储,一旦数据库宕掉,你的余额(存储在数据库中)就看不到了
。比特币余额是整个区块链中UTXO的计算,所以永远不会宕机!
交易
一次BTC的转移就可以看做一个交易。当然交易的形式有很多种,但是归根结底还是区块链中的一次BTC流转。
脚本
比特币的交易验证引擎依赖于两类脚本来验证比特币交易:一个锁定脚本和一个解锁脚本。
如果你还是不懂,我给你讲个故事吧:
比如有个餐厅,每天的交易流水都要记录在一个本子上,每一页上面记录当天的所有交易。那么我们就可以说这一页就是一个区块,它包括了无数次交易记录。由于每天都有交易,所以每一页都可以找到上一页,这就相当于把所有区块链接起来了,那么这个记账的本子就是区块链了。
那么挖矿、奖励又是什么呢?比如老板每天晚上会来查账,会问:谁能给我准确汇报今天的交易明细、总额?(不同问题难度不一样),这个时候每个员工的运算速度(算力)是不一样的,聪明的员工会先算出来给老板汇报,老板觉得是正确的,就会给予奖励,这个过程你可以理解为挖矿和奖励。
所以随着交易的增多,难度和计算力要求也越来越高,普通人就胜任不了,只有专业的(机器)才可以在一定的时间内给予确认。
现在挖矿已经很难了,但是区块链技术的普及才刚刚开始。就像上篇文章我说的那样,这是一次革命,颠覆生产关系的革命!
可以加小编好友
多年编程经验,精通Java、Python、NodeJs、C++等;
目前致力于深度学习、大数据分析研发工作;
我们都是程序员!
这里是程序员实战基地!
领取专属 10元无门槛券
私享最新 技术干货