导语:本课堂用通俗易懂的系列内容为大家呈现区块链与密码学领域相关知识。这里有知识也有故事,从感兴趣到有乐趣,全民课堂等你来学。
这个系列中的课程内容首先从比特币着手进行入门介绍,再延伸至区块链的相关技术原理与发展趋势,然后深入浅出地依次介绍在区块链中应用的各类密码学技术。欢迎大家订阅本公众号,持续进行学习。
【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
引言
在全民课堂第一单元我们详细了解了比特币与其他密码货币,比特币的故事就先告一段落啦,后续有可能会再客串一下。从今天起,我们开启第二单元的学习,“区块链”将成为重点。
从2009年比特币问世至今,区块链已经走过了11年。11年间,区块链逐步进入大众视野,尤其是在单枚比特币的价格被炒作到近2万美元以后,整个社会对于比特币的关注度急剧上升。
一方面,乱象丛生的自媒体流传着各种“币圈”暴富神话,各种鱼龙混杂的区块链项目浮出水面,其中不乏打着区块链技术创新名号,实则通过首次代币发行融资圈钱的低质量项目。
另一方面,区块链技术本身吸引了越来越多的人对其进行深入研究并探索其宽广的应用空间:各地政府对区块链积极扶持,国内外科技及金融巨头纷纷涉足区块链行业。
行业虽起于草莽但终会步入正轨。
发达国家从战略层面开展区块链产业发展-美国、英国、俄罗斯、澳大利亚、日本等国纷纷设计国家区块链战略和路线图,促进区块链产业发展。
跨国巨头企业布局区块链的研发与应用-国外巨头企业谷歌、微软、摩根大通、Facebook、亚马逊、IBM等纷纷布局研究区块链技术,推出了技术解决方案和应用。
国外开源组织大力推进区块链创新与发展-以太坊基金会、Hyperledger社区等不断在创新区块链技术,有力促进了区块链技术的迭代发展。
区块链生态覆盖全球经济与社会各个方面-全球区块链迎来了爆发式发展,在金融服务、供应链管理、智能制造、社会公益、医疗健康等领域开展了一系列应用。
国外知名高校加强区块链理论研究和人才培养-美国知名高校包括哈佛、斯坦福等均已开设区块链相关课程,在共识算法、密码学等关键技术方面处于领先水平。
区块链的概念
工信部指导发布的《区块链技术和应用发展白皮书2016》的解释是:
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证和存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全性、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
专业的解释或许有些拗口。顾名思义,区块链(blockchain)是一种数据以区块(block)为单位产生和存储,并按照时间顺序首尾相连形成链式(chain)结构,同时通过密码学保证不可篡改、不可伪造及数据传输访问安全的去中心化分布式账本。
区块链中所谓的账本,其作用和现实生活中的账本基本一致,按照一定的格式记录流水等交易信息。特别是在各种数字货币中,交易内容就是各种转账信息。
只是随着区块链的发展,记录的交易内容由各种转账记录扩展至各个领域的数据。比如,在供应链溯源应用中,区块中记录了供应链各个环节中物品所处的责任方、位置等信息。
要探寻区块链的本质,什么是区块、什么是链,首先需要了解区块链的数据结构,即这些交易以怎样的结构保存在账本中。
我们从区块链形式入手,看看区块链究竟长什么样子?日常去超市购物结账的时候,我们都会收到一张“小票”。上面清晰的记录着买东西的明细与单价,这张小票就是组成区块链的最小单元:交易单(Transaction)。
交易单记录一笔交易的具体信息,例如付款人比特币地址、收款人比特币地址、付款金额、付款人签名等。而很多这样的小票组成的账本就是:数据块(Block)
许多交易单组成了数据块,每个数据块只记录区块链全世界对应时间内的交易信息。这里的数据块是单个数据块,如果一个数据块里的东西记满了呢?很简单,将交易单放出链接产生的下一个数据块中,继续记载,这样就形成了数据链(Blockchain)
将数据块有序联起来的链表就形成了我们常说的区块链。
购物小票中会按格式记录着我们买的东西、单价、总价、还有结尾的“谢谢惠顾,欢迎再来“等字样。
那么在区块链中,交易单和数据块中,记录着什么呢?首先我们看看数据块长什么样子:
看到这张图是不是有点儿懵?没事儿。我们只要知道这是数据块的结构就OK。所有金额、交易金额来源、交易金额去向等细节都以交易单的形式被记录在世界上唯一的数据块系统中的每个节点都要验证交易是否合法,如果合法将认同此次交易,并将交易固化成一个交易链,即数据块。而数据块又包括区块头和区块体。
现在,大家都知道了区块链是数据块链接的一个链条,这个链条又是如何“自动“产生的呢?这里我们举两个最常见的区块产生方式:工作量证明(POW)与权益证明(POS)
工作量证明(POW)简单来说主要特征是客户端需要做一定难度的工作得出一个结果,验证方却很容易通过结果来检查出客户端是不是做了相应的工作。基于此原理产生区块,具体如何产生我们在第一单元的课程中有详细讲解,大家可以去看看哦~
具体请看:
【图学院】区块链与密码学全民课堂第1-3讲:比特币的通俗故事
而权益证明(POS)则是目前新一代区块链技术普遍应用的,POS不同于POW之处在于,在POS系统上“挖矿”是以货币的持有数量为基础的.换句话说,在POS的情况下,一个人拥有虚拟货币的5%和在比特币系统上拥有系统5%的算力的效果是一样的。目前比较具有代表性的是以太坊2.0。
这节课的最后我们还原交易单、数据块再到区块链交易全过程。
1、所有者A利用他的私钥对前一次交易(比特货来源)和下一位所有者B签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作成交易单。
要点:B以公钥作为接收方地址
2、A将交易单广播至全网,比特币就发送给了B,每个节点都将收到的交易信息纳入一个区块中。
要点:对B而言,该枚比特币会即时显示在比特币钱包中,但直到区块确认成功后才可用.目前一笔比特币从支付到最终确认成功,得到6个区块确认之后才能真正确认到帐。
3、每个节点通过解一道数学难题,从而去获得创建新区块权利,并争取得到比特币的奖励(新比特币会在此过程中产生)。
要点:节点反复尝试寻找一个数值,使得将该数值、区块链中最后一个区块的Hash值以及交易单三部分送入SHA256算法后能计算出散列值X(256位)满足一定条件(比如前20位均为0),即找到数学难题的解,由此可见,答案并不唯一。
4、当一个节点找到解时,它就向全网广播该区块记录的所有盖时间戳交易,并由全网其他节点核对。
要点:时间戳用来证实特定区块必然于某特定时间是的确存在的。比特币网络采取从5个以上节点获取时间,然后取中间值的方式作为时间戳。
5、全网其他节点核对该区块记账的正确性,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块链。
要点:每个区块的创建时间大约在10分钟.随着全网算力的不断变化,每个区块的产生时间会随算力增强而缩短、随算力减弱而延长.其原理是根据最近产生的2016年区块的时间差(约两周时间),自动调整每个区块的生成难度(比如减少或增加目标值中0的个数),使得每个区块的生成时间是10分钟。
今天的课程就到这里啦,随着全民课堂第二单元的开启,我们的知识点浓度会越来越高,同学们可以关注PlatON公众号,持续学习哦。
下一讲我们将细说我国区块链发展现状与区块链的特点。敬请期待~
- 了解PlatON更多动态 -
PlatON Official Website
https://www.platon.network/
PlatON·GitHub
https://github.com/PlatONnetwork
PlatON·Forum
https://forum.latticex.foundation/c/PlatON-CN
PlatON·Telegram
https://t.me/PlatONNetworkCN
PlatON·Twitter
https://twitter.com/PlatON_Network