为了增进大众对区块链技术的认知,促进区块链服务技术的研究和应用,中山大学区块链与智能金融研究中心推出 InPlusLab 区块链黑板报栏目。本栏目将以系列推文的形式介绍区块链相关技术和知识。本期主要介绍什么是区块链、挖矿及信任机器。
一、 区块链热潮
近日,在中央就区块链技术进行集体学习以后,区块链吸引了社会各界极大的关注。从下图百度指数关键词搜索趋势可以看到,党的十九大以来,在几次关于前沿技术的集体学习中,区块链受社会的关注程度远远高于大数据和人工智能。需要补充的是,这不是中央首次展现出对区块链的关注,早在2018年5月召开的两院院士大会中就有提及区块链,但在如此高度上对区块链进行集体学习,尚属首次。
在Gartner的全球十大科技趋势预测中,区块链在2017-2020中连续四年上榜,其它能够连续四年上榜的科技仅有人工智能一项。那么,区块链究竟是什么?它为什么如此重要?
二、 区块链定义
如上图所示,区块链按时间顺序将区块(block)以顺序相连的方式组成一种链式(chain)结构。每个区块里面存储的是数据。以比特币为例,每个区块存储的是比特币网络过去10分钟的全网转账记录。区块中除了带有数字签名的交易信息(TX)、时间(Timestamp)外,还包括了上一个区块的特征信息。如果上一区块的数据被修改了,那么特征信息就会随之改变,跟当前区块的值就对不上了,很容易就能被发现。这种结构是“可回溯的”,比特币的所有交易历史都记录在这条链里面,一环扣一环,无法修改,因为牵一发而动全身。比特币网络目前全球有约9400个节点,每个节点都会各自存储完整的一条链(大概是200多个GB)。这样分布式存储带来的好处是数据的“不可篡改”性,某个节点可以改本地的数据,但是改不了别人的。相比中心化数据库而言,这种分布式记账的方式使得链上的数据更加的可信,通过冗余存储使得数据很难被篡改。
因为账本每个节点都有一份,隐私容易泄露。为了保障数据的隐私性,比特币的账号是匿名的。虽然每个节点知道账号里有多少钱,但是不清楚该账户是属于谁的。
三、 比特币挖矿
比特币网络目前全球有约9400个节点,每有一笔转账发生,都会广播给每个节点。因为各节点各自记账,容易带来数据的不同步(比如顺序不同,缺漏等等)。因此需要定期对各个节点的数据进行同步。比特币采用的方式是每10分钟推举一个节点把过去10分钟的交易打包成一个区块,然后把区块广播给网络中的其它节点,通过这种方式来确保各节点数据的一致性。
这里有一个关键问题,选择哪个节点来打包区块呢?这就涉及到区块链的共识机制(大家需要对推举出来的节点达成共识,如果一部分人认可,一部分人不认可,那就乱套了)。最容易想到的推举方式是抽签,但是,比特币网络是匿名的,黑客容易创建大量的账号来提高被抽到的可能性。抽签不可行的根本原因是它没有门槛,黑客不需要付出代价就能创建大量账号来搞破坏。解决这个问题的核心思想是提升坏人的作恶成本。比特币通过PoW工作量证明(Proof of Work)的方式来解决。顾名思义,如果一个节点想争取打包区块的机会,要付出一定的工作量,并且这种工作量是可以被证明的,是不能弄虚作假的。对于计算机而言,最容易证明的工作量,就是算数学题了。类比于高考通过考试来推举合适的人上大学,比特币通过算数学题来推举出一个合适的节点来负责打包区块。比特币每10分钟就要举行一场考试,每次考试都选出第一名来负责打包和广播区块,从而实现全网不同节点数据的同步。因为这个第一名是靠真本事获得的,全网节点都对这个胜出节点心服口服,从而达成共识。
这道数学题的解题过程是很难的,需要通过不断穷举随机数去尝试,解出来了之后,其他人很容易验证这个解是不是正确的。为了提升穷举随机数的效率,许多硬件厂商选择把算法写到硬件芯片里面,生产出可以高效解题的工具——矿机。矿机需要消耗大量的电力,所以由矿机组成的矿场一般都建设在电费便宜的地方(比如水电站附近)。目前比特币系统每年消耗的电力比丹麦整个国家的耗电量还高。
每10分钟选出的那个最快解出题目答案的节点,由于它为整个系统提供了服务(负责打包区块及广播给其它节点),系统会给这个节点奖励一定数量的比特币。比特币预设了一共只有2100万个比特币,最初系统中发现一个新区块的奖励是50个比特币,后面随着剩下的比特币越来越少,奖励也会因此逐渐递减。奖励的过程巧妙地解决了比特币的发行过程。系统会通过动态调整问题的难度,使得每一个新区块的产生时间为10分钟左右,第一个区块出现时的奖励为50个比特币,每出现21万个区块后(大约需要210万分钟,约4年),系统会对新区块的奖励进行减半。也就是说,比特币的是发行速度是慢慢递减的,且最终发行总量是确定的,因此比特币可以避免出现通货膨胀的问题。上面的通过竞争记账权(打包和广播区块)来获得比特币奖励的过程俗称“挖矿”。
四、 区块链解决“信任问题”
根据记载,五千年前,文字和货币同时出现在美索不达米亚平原(中东地区),背后的根源是人类为了追求更加高效的交流手段。文字是精神层面的交流,货币是物质层面的交流。这两者的同时出现也不是偶然,货币的出现推动了物品交易,而物品交易的记账需求推动了文字的出现。文字作为一种信息传输的方法,五千年来经历了从语言、文字、印刷术、电报、互联网的升级,传播形式越来越多,传播效率也越来越高。而货币作为一种价值传输的手段,五千年来也经历了贝壳、贵金属、纸币、移动支付、数字货币的发展。相比移动支付而言,数字货币是更加高效的价值传输手段,比如移动支付的转账需要通过银行、支付宝等第三方清算机构,而比特币则不需要第三方,它能实现点对点直接支付。另外,在跨境支付的场景,比特币的跨境转账效率比传统银行体系要高效很多。
信任是交易与协作的基础,没有信任关系就很难协作。而人类解决信任问题的传统方式是依赖第三方,比如支付宝的产生就是为了解决互联网上面互不信任的双方达成交易(买家把钱打给支付宝,卖家把货币寄给买家,买家确认收货之后支付宝把钱打给卖家)、银行是帮助两个互不信任的人进行转账、证券交易所是为了帮助两个互不信任的人交易股票。这些信息/信用中介利用交易双方间的信息不对称、互不信任的关系,从中提供信用背书,赚取服务费。区块链的出现为解决信任问题提供了第二个选项。它通过技术手段巧妙地把人对人的信任转化为人对系统的信任,它把这个可信的第三方,变成了很多很多方(大量的区块链节点)。比如比特币上面A转账给B,这个交易被记录在全网9402个分布式的节点上面,A虽然不信任B,但A信任比特币的源代码及区块链的“不可篡改性”,因此A跟B可以达成转账交易,不需要担心对方收到钱之后说没收到。类似办婚礼,通过请大量的亲朋好友来见证,从而使得结婚的这个事实不可抵赖。通过这种方式,区块链这种分布式记账的方法可以支持两个或多个互不信任的人可以进行交易和协作,通过技术手段取代了传统的第三方信息/信用中介,从而大大降低了解决信任问题的成本。
InPlusLab 区块链黑板报栏目将推送更多区块链科普技术文章,请持续关注!
——————————————————————————————————
中山大学InPlusLab(区块链与智能金融研究中心)由郑子彬教授创立,共有11名教师、8名博士后、及150余名博士/硕士/本科生。团队共发表区块链论文20余篇,其中1篇论文入选ESI高被引论文,1篇论文入选2018年度全球区块链Top50 Influential Papers,区块链论文的谷歌学术引用超过1000次;多篇区块链论文发表于ICSE, WWW, INFOCOM等CCF A类国际会议,4篇论文发表于中科院一区国际期刊IEEE IoTJ(影响因子9.5),申请区块链发明专利20余项。在中山大学开设区块链课程(选课人数超过500人)、撰写区块链教材1部、为中央办公厅撰写区块链内参1份、组建中山大学区块链俱乐部、在多个顶级国际期刊举办区块链专刊并举办国际区块链学术旗舰会议BlockSys2019。
郑子彬教授是中山大学数据科学与计算机学院软件工程系主任、国家优秀青年科学基金获得者、青年珠江学者、国家数字家庭工程技术研究中心副主任,IET Fellow,广东省计算机学会区块链专委会副主任。发表论文近 150 篇,包括 ESI 高被引论文 3 篇,获得教育部自然科学二等奖(第1完成人)、吴文俊人工智能自然科学二等奖(第2完成人)、CCF A 类会议 ICSE 最佳论文奖,CCF B类会议ICWS最佳学生论文奖、全球50篇最具影响力区块链论文奖等、论文谷歌学术引用超过 8100 次。
欢迎关注中山大学 InPlusLab 微信公众号,获取更多资讯!