全国咨询/投诉热线:400-618-9090

首页技术文章正文

精通比特币系列第一篇:前沿

更新时间:2018-04-20 来源:黑马程序员 浏览量:

当下,要问最火爆的概念是什么,那么这个桂冠必定被”区块链”摘得,自正月以来,“比特币”、“区块链”、“ICO”等等概念铺天盖地,占据了各大版面,刷爆了我们的朋友圈,币市井喷式的爆发让很多传统行业的人惊掉了下巴,同时又匪夷所思的发问:比特币到底是什么?区块链又是什么?两者有什么关系?比特币在哪里?能拿在手里么?...


从时间顺序讲,是先有比特币,后有区块链;从从属关系讲,区块链是从比特币上抽离出来的概念,比特币是区块链上的应用,由于比特币是区块链的始祖,虽然其与时下区块链概念有一些区别,但它仍极具代表性,所以,在这里我们主要介绍比特币(BTC,bitcoin),我们将用一系列文章,从最基本的概念聊起,细数一下比特币的前世今生,从多个角度看看比特币,从比特币入手,逐步开启认知区块链的大门。


关于区块链,我们听到最多的描述是:区块链是一个去中心化的,不可伪造,匿名的,基于密码学的分布式账本,    这里面涵盖的信息比较多,我们先了解一下比特币的基本信息,如下图:


 1524210219112_1.png


说说中本聪:


比特币的创始人“中本聪”是一个神秘人士,至今无法确定其身份,他是“密码朋克”组织成员之一,“密码朋克”一个汇集精英IT极客的加密邮件系统,维基解密网创始人阿桑奇、万维网发明者Tim-Berners Lee爵士等都是其成员。在2008年金融危机爆发之后,政府和银行管理经济的能力遭到各方质疑,信用降入谷底,政府随意增发美元,导致物价飞速上涨,中本聪对这种中心机构随意影响市场的现象十分不满,他想建立一个无需中心机构参与的金融系统,重塑金融秩序,即将货币去中心化,所以他在2008年10月31日发布了比特币白皮书,即《比特币:一种点对点的现金支付系统》, 并在次年(2009年1月3日)发布了首个比特币系统客户端,公诸于世,最初比特币系统仅有几个人共同使用,且由中本聪自己负责维护代码,后期随着比特币社区人才的加入,中本聪逐渐隐退,从此销声匿迹,将所有维护工作交给社区人员,现在比特币有一个专业的核心开发团队维护,社区良性发展。


说说比特币系统:


比特币系统是一个开源的软件,它对所有人都是开放的,每个人都可以下载并运行,只要在上面创立账号,每个人都可以参与到比特币的交易中来,包括接收和发送比特币。


我们都知道比特币系统是一个电子交易系统,既然存在交易,那么就一定需要货币媒介,在比特币系统里面,起到流通媒介的货币我们称之为比特币(BTC),那么它从哪里来呢?比特币系统是去中心化的,没有中心发行货币机构,那它到底如何产生呢? 对此,比特币系统有一个独特的发行比特币机制,即挖矿,挖矿使得比特币从无到有的产生,并且比特币系统制定了一个挖矿产生BTC数量的递减规则,随着挖矿的进行,货币持续发行量逐渐减少,最终完成全部比特币的发行工作,使系统内比特币数量稳定在一个2100万这个数值,且永不增发。


至此我们了解到比特币的产生来自于挖矿,挖矿又是什么?谁负责挖矿?想深入了解比特币网络,我们需要先了解几个概念。


说说比特币的相关概念:


节点:每一个运行比特币客户端的设备都是一个节点,节点与节点间互联,同步数据,从而构成整个比特币网络


矿工:每个拥有强大计算能力的节点都可以成为矿工,他们通过运行比特币的挖矿程序进行挖矿


挖矿:由矿工执行挖矿,矿工在设备上(也可能是专业的挖矿设备)上运行一个程序,这个程序会拼命的找一个满足要求的数字,如果找到了,那么这个矿工就有会争取到记账的权利,有权对网络中存在的转账交易进行打包,并且记录到账本中,进而得到比特币奖励,这个过程很像开采埋藏在地底下矿物的过程,所以我们称之为挖矿,并且该过程没有捷径可走,从而有效避免了作弊的可能


算力:算力即计算的能力,上面说了,挖矿要运行计算程序,找到目标数字,这个算力就是矿工设备的计算能力,即每秒钟能做多少次运算查找,查找这个数字的过程是运行一个哈希算法(一个密码学算法),我们称之为“哈希碰撞”,算力的单位是hash/s,即每秒种能碰撞多少次,算力越强,计算速度越快,获得记账权的几率就越大


共识机制:是指被整个区块链网络共同认可的、能够让陌生节点间达成共同认可的规则,只要节点按照这个规则做事,做出来的结果就会得到对方的认可,从而达到彼此信任的目的。比特币网络使用的共识机制是POW(Proof of Work,工作量证明),上述所说的比特币挖矿过程就是POW共识机制,共识机制还有很多其他的方式,如POS(Proof of stake,权益证明),DPOS(Delegated Proof of stake,股份授权证明机制)等等


区块,区块链:所谓区块就是账本的一页,里面记录了在一个时间段内(比特币系统10分钟出一个区块)整个比特币系统产生的所有交易,每个区块被打上时间戳(时间戳就是把产生这个区块的具体时间),按照严格的先后顺序,连接起来,形成一个账本,这个账本就是”区块链“


介绍的概念比较多,我们整理一份导图,梳理一下:


 1524210232206_2.png


现在我们模拟一下整个交易流程,以方便大家理解比特币系统:


Alice是一个客户,她想买一杯咖啡,向Bob支付0.1个比特币,具体过程如下:


Alice登录自己的钱包(比特币客户端,或者其他比特币钱包),输入对方Bob的地址(相当于银行卡号),输入转账金额0.1BTC,选择交易手续费(手续费可以为零,那么这条交易被写入区块链的优先级会降低,转账就会被延迟),点击发送,那么这条交易就会被发送到比特币网络中去,当某个矿工收到这笔交易之后,会先校验一下这笔交易的有效性(校验过程我们后续再讲),当确定这是一笔有效的交易之后,会把这笔交易暂存到本地的“待确认交易池”中,同时将这笔交易广播到其他节点,每一个节点都可以独立验证这笔交易的有效性,然后再向外传播,通过这种P2P网络,这笔交易迅速的在整个网络中发布。当一个新的挖矿周期开始时(10分钟),矿工会从“待确认交易池”中取出合适的交易,将交易打包,随即开始挖矿,即做哈希碰撞,试图最先找到那个符合条件的目标数字,一旦某个矿工A算出这个数值,矿工A便向整个网络公布结果,所有其他矿工收到这条消息后,立刻停止运算,验证这个数值是否有效,当其他节点确认该数值有效后,矿工A得到记账权,将他打包的区块添加到区块链上,同时获得新生的比特币奖励,整个网络同步最新的账本,随即进入下一轮挖矿竞争中去,循环往复。


当包含Alice的这笔转账的区块被矿工写入到区块链之后,Bob的账户中便会收到Aclie的转账。实际网络中,需要6个区块确认之后,Bob才能使用这笔转账,这是比特币系统为了安全而设置的限制,我们后续再讲。


同样,我们画一个图,便于理解:


1524210242363_3.png

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

14天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

8天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

0天免费试学

基础班入门课程限时免费

申请试学名额

12天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

10天免费试学

基础班入门课程限时免费

申请试学名额
在线咨询 我要报名