区块链背景
-
现如今大多数的交易是以第三方机构为中心的互联网交易模式:买家将所需付出的资金存储在可信第三方机构,卖家为买家提供商品,服务后,当双方都确定得到了对方开始的承诺,可信第三方机构完成资金的转移,交易完成。
-
基于第三方信任中心的交易方式的不足
过于集中:遭受外界严重人为攻击或者灾难时容易崩溃,容灾能力较差
增加交易成本:基于第三方信任中心的交易为了提高信任度,必然要付出额外的信任代价,从而增加了交易成本
信任中心不总可靠:信任中心是有团队维护的,可能会有内部人员出于自身利益而偷偷在机构内部发生攻击,损害用户利益;信任中心可能回考虑自身整体利益采取极端措施。 -
举例说明
例子:微信组局 | 在区块链中的概念 |
---|---|
接龙发帖 | 链式数据结构 |
规则:每人发帖= 上一个帖子内容 + 下一个编号 + 姓名 | 共识机制,根据严格的规则和公开的协议形成的 |
规则定下来后,大家自发登记 | 去中心化,没有任何一个用户能控制 |
在微信群里记录登录情况 | 点对点对等网络 |
只要联网就能得知最新的发展 | 博弈机制 |
为了形成40个人的报名记录,至少有40人发40个帖子才够,群友手机里都存档 | 分布式(多点备份)、高冗余 |
每个帖子大家都能看到,更新的记录是否数字出错,人重复了,每个人都可以检查 | 共享帐薄 |
群里的人大都认识,各有各的姓名或者代号 | 通过公钥密码技术保证陌生人可信 |
- 什么是区块链
区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块
区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案
区块链的相关知识
Hash函数
- 定义:hash函数是一个公开函数,可以将任意长度的消息M映射成为一个长度较短且长度固定的值 y=H(x),它是一种单向密码体制,即由x计算y是容易的,相反则是计算不可行的。
- Hash函数的特点:
抗弱碰撞性:对于给定的消息x1,要发现另外一个消息x2,满足H(x1)=H(x2)在计算上是不可行的。
抗强碰撞性:找任意一对不同的消息x1,x2,使H(x1)=H(x2)在计算上是不可行的
雪崩效应:当一个输入位发生变化时,输出位将有一半会发生变化。
Merkle树
- 定义: Merkle哈希树是一类基于哈希值的二叉树或多叉树,其叶子节点上的值通常为数据块的哈希值,而非叶子节点上的值是将该节点的所有子节点的组合结果的哈希值。
非对称密码体系
- 定义: 非对称加密体系也称为公钥体系,加解密时加密方拥有公钥和私钥,加密方可以将公钥发送给其他相关方,私钥严格自己保留。非对称加密算法一般比较复杂执行时间相对对称加密较长,好处是在于无密钥分发问题。常见的其他非对称加密算法由RSA,ECC,区块链中主要使用ECC椭圆曲线算法。
数字签名
- 定义: 数字签名又称为公钥数字签名,是一种类似于写在纸上的物理签名。数字签名主要用于数据更改的签名者身份识别以及抗抵赖。
- 数字签名的特点:
只有自己可以签署自己的数字签名,但是他人可以验证签名是否是你签发
数字签名需要和具体的数字文档绑定,就好比现实中你的签名应该和纸质媒介绑定
数字签名不可伪造 - 在比特币中使用的数字签名: ECSDA(Elliptic Curve Digital Signature Algorithm)
共识算法
- 定义: 指在分布式系统中多个节点之间对某个事情(例如多尔衮事务请求,先执行谁?)达成一致看法的过程。因此,达成某种共识并不意味着就保障了一致性。
比特币 – 区块链技术的摇篮
-
比特币钱包: 钱包不是用来存放比特币,而是存放你的公钥和私钥。你是否拥有某个钱包地址,是由私钥证明的,所以一定要保护好私钥。这是非常重要的,如果你的私钥被偷了,你的比特币也就等于没有了,因为他人可以冒用你的身份,把钱包里面的钱都转走。
-
基本交易过程:
1、新交易创建
2、交易通过P2P网络传播
3、交易验证
付款人地址:合法的地址
付款人对交易的签字确认:确保交易内容不被篡改
付款人资金的来源ID:从哪个交易的输出作为本次交易的输入
交易的金额:多少钱,跟输入的差额为交易的服务费
收款人地址:合法的地址
时间戳:交易何时能生效
交易是否合法:包括地址是否合法、发起交易者是否是输入地址的合法拥有者,是否是未经使用的交易
交易的输入之和是否大于输出之和4、验证结果通过P2P网络传播
5、交易写入账本 -
交易确认与区块链: 确认交易的真实性以后,交易还不算完成。交易数据必须写入区块链,才算成立,对方才能真正收到钱。根据比特币协议,一个区块的大小最大是1MB,而一笔交易大概是500字节左右,因此一个区块最多可以包含2000多笔交易。矿工负责把这2000多笔交易打包在一起,组成一个区。
区块链包含区块头和区块主体,区块头包含父哈希、Merkle根、时间戳、难度、随机数等,区块主体包含此区块中的所有交易信息。
-
挖矿:
矿工收集到2000条交易时,形成新的区块,串联到区块链中
矿工计算Hash的过程叫做采矿,这需要大量的计算,矿工之间也在竞争,谁先算出Hash,谁就能第一个添加新区快进入区块链,从而享受这个区块的全部收益,而其他矿工将一无所获
每个区块的奖励最初是50个比特币,每隔21万个区块自动减半,即4年时间,目前,奖励为12.5个,最终比特币总量稳定在2100万个。
每10分钟左右生成一个不超过1MB大小的区块,串联到最长的链尾部,每个区块的成功提交者可以得到系统的比特币奖励 -
为什么挖矿很难??? 采矿不就是用计算机算出一个hash吗,这可是计算机的强项,但是不是任意一个Hash都可以,只有满足条件的hash才会被区块链所接受,区块头包含一个难度系数,这个值决定了计算Hash的难度
区块链协议规定,使用一个常量除以难度系数,可以得到目标值。显然,难度系数越大,目标值就越小
哈希的有效性跟目标值密切相关,只有小于目标值的哈希才是有效的,否则哈希无效,必须重算。由于目标值非常小,哈希小于该值的机会及其渺茫,可能计算10亿次,才能算中一次,这就是采矿如此之慢的根本原因。
当前区块的哈希由区块头唯一决定。如果对同一个区块反复计算哈希,这意味着,区块头必须不停地变化,否则不可能算出不一样地哈希。区块头里面所有地特征值都是固定的,为了让区块头产生变化,中本聪故意增加了一个随机项,叫做Nonce
矿工的作用其实就是猜出Nonce的值,使得区块头的哈希可以小于目标值,从而能够写入区块链,Nonce是非常难猜的,目前只能通过穷举法一个一个试错。
采矿具有随机性,没法保证正好十分钟产出一个区块,有时一分钟就算出来了,有时几个小时可能也没结果,为了将产出速率恒定在十分钟,中本聪还设计了难度系数的动态调节机制。他规定,难度系数每两周(2016个区块)调整一次。如果这两周里面,区块的平均生成速度是9分钟,就意味着比法定速度快了10%,因此接下来的难度系数就要调高10%;如果平均生成速度是11分钟,就意味着比法定速度慢了10%,因此接下来的难度系数就要调低10%。
难度系数越调越高(目标值越来越小),导致了采矿越来越难 -
挖矿难度的升级
早期,开采一个新链奖励50个比特币,其难度相当于3个骰子扔出点数小于5
后来,开采一个新链奖励25个比特币,其难度相当于100个骰子扔出点数小于150
在后来,开采一个新链奖励12.5个比特币,其难度相当于一亿个骰子扔出点数小于一亿零五十
现在,挖矿算法大比拼,仍骰子的速度(挖矿速度)决定收益 -
比特币运行步骤
新的交易向全网进行广播
每一个节点都将收到的交易信息纳入一个区块中
每个节点都尝试在自己的区块中找到一个具有足够难度的工作量证明
当一个节点找到了一个工作量证明,它就向全网进行广播
当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性
其他节点表示他们接受该区块,而表示接受的方法。则是在跟随该区块的末尾,制造新的区块以延长该链条,而将被接受区块的随机散列值视为区块的随机散列值
一般来说,每一笔交易,必须经过6次区块确认,也就是6个十分钟记账,才能最终在区块链上被承认合法
区块链的概念及本质
区块链概念: 区块链技术是以密码学、P2P网络为基础,将特定结构数据按一定方法组织为区块,然后把这些数据块时间按时间先后次序以链式结构组织成为一个数据链,并通过密码学技术和共识机制保证数据的完整性和不可伪造性,基于一定业务逻辑采用可自动执行的机制实现区块数据的动态生成、验证、同步的分布式计算范性
-
区块链结构
-
区块的链接
-
区块链诞生的意义
去中心化:整个网络没有中心化的硬件或机构,任意节点间的权利和义务是均等的
高度透明:开源的程序,保证了帐薄和商业规则可被所有人审查
集体维护:系统中的数据块由整个系统中所有节点共同维护,每个节点分析权利和义务
隐私保护:由于区块链的技术解决了信任的问题,因此交易双方没有必要了解对方,交易在匿名下进行的
去信任化:从技术上保证交易的进行,在没有第三方机构的情况下 -
区块链的分类
公有链:任何人都可以加入网络写入和访问数据;任何人在任何地理位置都可以参与共识;每秒2-30次数据写入
联盟链:授权公司和组织才能加入网络;参与共识、写入及查询数据都可以通过授权控制,可实名参与过程,可满足监管,每秒1000次以上的数据写入
私有链:使用范围控制在一个公司范围内;改善可审计性,不完全解决信任问题;每秒1000次以上的数据写入 -
区块链技术的演进
区块链1.0:数字货币去中心化
区块链2.0:智能合约;数字资产;金融应用
区块链3.0:超越货币、金融范围的区块链应用;区块链社会 -
区块链的应用
- 金融服务
- 医疗健康
- IP版权
- 教育
- 物联网
- 共享经济
- 通信
- 社会管理
- 慈善公益
- 文化娱乐