今日比特币最高成交价突破了8000美元,这个惊人的数字给大众反映了一种投资机遇,也诱惑着大众向这个乌托邦奔涌,而有的人甚至对比特币还一无所知,就贸然展开翅膀想要高飞,最后会摔得很惨。而比特币的出现又离不开区块链技术,对于一些人来说,要理解起来就更困难了。如果你是一名小白,又有这方面的倾向,但是又碍于其复杂难懂的概念理论而却步。那刚好,这里有一份较为全面的比特币、区块链科普文,用最通俗易懂的语言,通过三大部分来阐明比特币和区块链的概念、产生原理以及实现原理,文章最后还添加了一些疑问解答,能够更好的理解比特币和区块链,并为小白成长为精英的路上贡献知识储备。
一、比特币(Bitcoin)和区块链(Blockchain)到底是什么呢?
要了解比特币和区块链,得先来了解一下传统货币和银行的相关知识。我们平时使用的人民币,美元,欧元等传统货币,都是由银行或相关发行机构发行的,发行方具有货币的支配权。
在中国大陆,像支付宝这些第三方支付平台的转账,转的一般是人民币,人民币是中国人民银行发行的,人民币的发行量由中国人民银行根据社会发展需要决定。使用支付宝需要绑定银行卡,转账受支付宝和银行管理。我们正常的支付交易都是由银行作为中心进行记账,实时反馈交易结果到每个用户的账号。但是如果银行方出现黑客攻击或者金融危机等问题,那我们所有的交易信息和财产就无法得到保障。
为了避免中心化管理的不安全性,同时实现货币自由化。2008年中本聪提出了比特币概念,同时区块链作为比特币的底层技术而诞生。
比特币是一种数量限定,无发行机构,去中心化的、虚拟的加密数字货币,其实就是一串代码。比特币的交易方式是P2P(Peer to Peer,允许单个节点与其他节点直接交互的网络)形式,就是用户直接对用户,不需要经过银行等中间机构,直接进行交易。
有交易就伴随着转账记录。
上面提到,传统的转账记录由银行管理储存,而比特币是不依附任何的机构的,所以需要拥有自主的记账本,区块链就担任记账本的角色。
区块链上的所有转账记录数据是完全公开透明的,任何用户都可以参与记账、管理和检视。准确来说,区块链是一种按照时间顺序将储存着转账记录的数据区块,以顺序相连的方式组合成的一种链式数据结构(计算机存储、组织数据的方式),并以密码学方式保证的不可篡改和不可伪造的分布式账本。
二、比特币、区块链是如何产生的?
和法定货币相比,比特币没有一个集中的发行方,而是由网络节点的计算生成。谁都有可能参与制造比特币,而且可以全世界流通,可以在任意一台接入互联网的电脑上买卖。不管身处何方,任何人都可以挖掘、购买、出售或收取比特币,并且在交易过程中外人无法辨认用户身份信息。
2009年1月5日,不受央行和任何金融机构控制的比特币诞生。比特币是一种数字货币,由计算机生成的一串串复杂代码组成。新比特币通过预设的程序制造,而产生比特币的过程(挖矿)就是通过庞大的计算量不断的去寻求一堆复杂算法所生成的特解(方程组所能得到有限个解中的一组),方程组被设计成了只有 2100 万个特解,所以比特币的上限就是 2100 万个。随着比特币总量的增加,新币制造的速度会减慢。
要挖掘比特币需要下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就会正式开始。
区块链概念最初是在中本聪的白皮书中提出,中本聪创造了第一个区块,即“创世区块”。
区块链系统被设置了一个功能:每隔10min就产生一张用于记录比特币转账信息的账单(区块)。每一个区块中包含上一区块生成到本区块生成的这段时间内,比特币网络中全部的交易信息。所有的节点都有添加新区块的权利,生成新区块就必须解决一个难题,节点间通过一套算力竞争机制(共识机制)竞争权利,算力最快的节点(矿工)就能来生成新区块。当新区块被主链承认后,就可以被各个节点进行验证并添加到已有的区块后面。系统只承认和接受最长的唯一主链。矿工在挖矿成功的同时能够获得一定的报酬,新比特币就作为对矿工的报酬进入比特币网络进行流通。
区块链的本意是实现一种在完全公开、对等的网络条件下实现大规模协作的工具。在现实中,还没有构建这样一套体系的条件,而根据现有的可能的应用,区块链又衍生出了四种不同的结构类型:公有链、私有链、联盟链、侧链。
公有区块链(Public Block Chains):
世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是应用最广泛的区块链。
联合(行业)区块链(Consortium Block Chains):
由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账),其他任何人可以通过该区块链开放的API进行限定查询。
私有区块链(Private Block Chains):
中心化系统,由中心控制者指定参与人员,系统只对特定主体内开放(主要用于内部研发测试);仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。
侧链(Sidechain):
在主区块链之外的另一区块链,锚定与主区块链的一个节点,并可以与主区块链进行一定的数据交互。主要为了方便数字资产在不同区块链间互相转移。
三、比特币交易、区块链记账是如何实现的?
比特币的交易主要有两种方式,一是在比特币客户端直接转账,二是在交易所平台上进行交易。
比特币客户端
进行比特币交易,就需要下载比特币客户端。
客户端安装后,可以直接获得一个比特币地址,当别人付钱(比特币)的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。特币客户端还会分配一个公钥和一个私钥。公钥和私钥是利用SHA-256算法和非对称加密法制作的数字签名,数字签名是为了确认这笔交易是由你发起的。接收方想要验证这个签的准确性,需要用付款方的公钥进行解密。私钥不能告知任何人,你需要备份包含私钥的钱包数据,才能保证财产不丢失。如果不幸计算机完全格式化硬盘,或者坏了,就永远地失去了里面的比特币,而且2100万的总量也会减少。
如果是使用支付宝转账,转账受支付宝和银行管理。转账转错了人,可以找支付宝和银行协调,有可能挽回损失。而比特币所有的转账不受任何机构监督和管理,转错了人,没有后悔药,完全没有挽回的余地。所以资产的管理就主要看用户的安全意识了。一般来说,只要私钥不泄露,资产都是安全的。
交易所平台
比特币客户端提供了各用户间转账的功能,但并没有提供交易和支付的功能,造成比特币不能与外界沟通,更无法真正流通,也就不能成为真正的货币。
而且比特币的转移在其底层的区块链上记账产生新的区块时,系统为了算法安全的需要,一笔交易至少需要其后的 6 个区块确认后才算交易成功。然而,比特币中每个新区块的产生需要 10 min,这就意味着至少需要 1 个小时才能确认或交割。而且实际应用上,由于比特币交易量的大幅度攀升,而网络算力却依旧有限,用户等待确认或交割的时间往往会更长,甚至 10 多个小时。这些延时对大多数用户来说是很难接受的。
为此,人们将传统交易所的机制运用到了先进的比特币领域:交易所首先要卖方先把币存在交易所,用户之间的交割其实是内部账户数字之间的划转,因此可以实现秒到账。
除交易和支付外,交易所具体的功能大致为资产管理、撮合交易及资产清算等等。这种交易所属于中心化交易所,具有交易能零延时地确认、交割;交易量足够大,能及时找到交易对象的优点。但资产安全性差。
交易所的交易流程如下:
1、用户钱包直接充值交易所
开户(获得账户和密码,交易所会分配用户的地址)→充值(从钱包地址充值币到交易所分配的用户地址)→自动转账(交易所会进行自动转账到交易所的地址)→交易(用户在交易所提交交易的指令,交易所中心化服务器就会进行交易撮合)→提现(交易完成后提现币到钱包地址)
2、用人民币进行购买交易
场外交易(用人民币找商家购买USDT)→场内交易入场(在交易所内用USDT购买比特币)→场内交易出场(在交易所内卖出比特币拿回USDT)→场外交易(找商家卖出USDT换回人民币)
区块链记账,就是把从上一区块生成到本区块生成的这段时间内的全部转账信息打包到区块中。区块很像数据库的记录,每次写入数据,就是创建一个区块。
每个区块包含两个部分:区块头(Head),记录当前区块的元信息;区块体(Body),记录实际交易数据。
区块头的元信息,包含:时间戳(当前区块生成的时间)、随机数(当前区块工作量证明的参数)、前一区块Hash值(通过对前一个区块的区块头数据进行SHA256算法得出)、难度系数(标记着当前区块被“挖”出来的难度)、默克尔根(为当前区块的区块体计算出的Hash值)。
区块不等于节点:一个节点实际上就是一台接入区块链的计算机(服务器),任何一台联网的计算机都可以接入区块链中,区块链上的节点是可以有无数个的;由于平均每10min产生一个区块,区块的产生是恒定的,一个活跃(算力强)的节点就可能有多个区块的记账权,不活跃(算力低)的就可能只有很小一部分区块的记账权
在记账过程中,有一些规则需要注意:
1、为了保证各个节点信息的同步,新区块添加的速度不能太快,系统设计为平均每10min全网才能生成一个新区块,产出速度并不是通过命令达成的,而是故意设置了海量的计算;
2、为了保证平均每10min产出一个区块,系统设计了具有难度系数的动态调节机制,每两周(2016个区块)调整一次难度系数,比如两周内区块平均产生得的速度如果是9min,则难度系数要调高10%,反之亦然;
3、如果区块链分叉了(即一个区块上接入了两个区块),最先达到6个新区块(称为“六次确认”)的链条会被采纳作为主链,支链就会被舍弃。
值得一提的是,有许多人包括我自己,一开始都会下意识地以为,作为去中心化应用的典范,交易所中的每一笔交易都应该被记录在区块链上,而事实却恰好相反。
从一个地址转账到另一个地址的转账,这属于链上交易(On-Chain),会被记录在区块链网络上,通过区块链浏览器能查到。
而在中心化交易所里用户之间发生的交易,是通过中心化的交易所来记账的,交易信息没有上链,属于链下交易 (Off-Chain) ,所以在区块链浏览器上查不到。
所以,交易前后,比特币并没有真正在区块链中移动,交易所只是修改了与你的合约。对于你的交易对手而言亦是如此。
中心化交易所的记账模式叫IOU。
总结
比特币(BTC)属于加密数字货币的一种,目前主要的加密数字货币还有ETH(以太坊)、 BCH(比特现金)、LTC(莱特币)等。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。各大虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。而紧密缠绕的区块链是很难被篡改的——任何地方如果有任何一点点的数据被改变,那么该笔交易所涉及的整个区块链便会崩溃,变得无效,此时作弊者的攻击也变得无意义。
相关问题
1、谁来管理比特币网络平台?
由世界各地的用户和贡献者进行自愿管理维护。
2、比特币的源头(发行方)是哪儿?会不会枯竭?
新比特币作为对矿工的奖励进入比特币网络进行流通。
每生成21万个区块,奖励金额减半。
从第0个区块开始的21万个区块,每生成个区块矿工获得5比特币作为奖励;从第21万个区块开始的21万个区块,每生成一个区块矿工获得25比特币作为奖励;从第42万个区块开始的21万个区块,每生成一个区块矿工获得125比特币作为奖励;以此类推,从第693万个区块开始,对矿工的奖励为0,也就是不再有新的比特币流入比特币网络。到时,累计有2100万比特币流入到了比特币网络,矿工的收入将完全来自每笔比特币转账交易的交易费,交易费只是比特币在账户之间转移,不是新产生的比特币。也就是说,比特币网络上的比特币总量永远不会超过2100万个。
3、为什么会出现炒币行为?
交易者的活动表现为低价收购各种虚拟货币、虚拟产品,然后再高价卖出,依靠这种价格差赢取利润。
4、数字货币的价格为什么会涨跌?目前数字货币市场交易所数量众多,为什么同个币种在不同交易所上的价格并不一致呢?
价格由供需关系而决定的,在数字货币市场也不例外。当需求大于供给时,价格就会上涨;供给大于需求时,价格就会下跌。价格的涨跌属于市场行为。数字货币在交易所显示的实时价格为交易所内该数字货币的最新成交价格。
5、区块链的节点是怎么定义和分布的?
在一个公有网络中分布着无数的计算机节点,这些节点看上去是一个独立的个体,但节点担负的功能却不尽相同。以现有的比特币网络来分析,区块链中节点主要包含四种功能:钱包功能、挖矿功能、存储功能、路由功能。
钱包功能:发起交易请求;
挖矿功能:矿工生成区块添加到区块链;
存储功能:存储现有的完整区块链数据;
路由功能:通过自身节点将数据传递给更多节点的过程。
节点不一定要包含上述四种功能的全部,但每一个节点都需要有路由功能,以保证数据能够通过该节点传递到更多节点。
6、其他的区块链也会有虚拟货币吗?也会有奖励吗?
公有链需要有激励层机制,因为公有链中币链是一体的,包括比特市在内的虚拟货币,都是区块链技术的一种产物。实际上区块链并没有要求产生可交易货币,以及用其兑换实体货币。区块链是用来存储和验证信息的。虚拟货币只是用于激励更多人参与节点验证,不是必须要存在的。