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