3 区块链技术总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1.1 什么是区块链(6:52)
1.2008年10月31日,中本聪创造发明了比特币,区块链是支持比特币的技术。
账本就是区块,区块连起来就是区块链。
账本的可靠性是数字货币的基石。
要解决的问题:没有可信任的第三方,每个人都无法互相信任,转账要发广播,让所有人都知道网络上的每个人每笔钱的来龙去脉,电子签名验证真实性,将转账记载账本上。
2.问题1 谁来给大家记账?--共识机制
记账的人得被大家接受,所有的账本才能统一。
中本聪的共识机制:做题。
谁先做出来谁有权利记账—工作量证明(POW proof-of-work)工作量证明的本质:穷举(用哈希加密)
区块包括:交易数量、交易详情、区块头(区块头是一个区块的标签)
哈希值:每改变一个数的成功概率为2的n次方之一,参与运算的算力越强,概率越低难度越大。
今天比特币网络里的n大概是76,那成功率便为2的76次方之一。
为了有动力做题,第一个完成区块打包的节点会得到奖励(激励机制),目前奖励12.5比特币。
这个过程也被成为“挖矿”。
3.问题2 怎么保证账本不被造假—数字签名验证、历史账本的存在
为了防止篡改,每个新加的区块,在区块头里记录上一个区块的哈希值,被称为哈希指针,指向上一个区块,最终指向第一个创始区块。
通过哈希指针把所有的区块紧紧连接在一起,若改变任何一个区块里的任一字符,都会改变这个区块的哈希值,让下一个区块的哈希指针失效。
4.问题3 两个人同时打包出区块,听谁的?--最长链原则(谁长听谁的)
算力大于51%即为最长链,一般6块以内会分出胜负。
矿工的算力越强需要算的0就越多,保证谁都不能控制记账权。
普通人获得数字货币最简单的方法就是交易所购买,提现到钱包地址。
地址来自私钥-加密成为公钥—加密就是地址。
只有私钥才能证明你是你,不可泄露。
3.1.2区块链概述(18:55)
1.区块链的基础
计算机密码学与数字签名(数字签名是密码学在区块链中的最大应用技术,还有哈西算法)分布式系统与对等网络(区块链不是只有一个服务器的网络,所有的节点都是对等的)
博弈论与激励机制(对现有系统做了比较大的改动)
2.区块链两个重要的里程碑
比特币:区块链的第一个版本
以太坊:区块链的第二个版本,可编程的货币
3.区块链的基本概念:
交易:交易是有顺序的,是对账户系统的修改动作。
交易的另一种形式是账户,账户之间的转账就是交易行为。
链:一系列有顺序的交易或者一系列有顺序的日志
日志:日志是对信息系统的修动作(日志和交易是等价的)、
区块:一组交易构成块,通过链的方式连载一起,构成区块链。
区块链是分布式“复制”账本。
分布式共识:保证所有账本完全一样,解决账本的一致性问题。
智能合约:是一种旨在以信息化方式传播、验证或执行合同的计算机协议。
合约是可执行的,允许在没有第三方情况下进行可信交易,这些交易可追踪且不可逆转。
4.区块链的关键技术
分布式对等网络系统:地位都一样,没有中心结构。
传统网络(非对等网络)是客户端/服务器架构
分布式系统的共识:多人共同决定一个事,联盟链用
非对称密码学:重要应用就是数字签名,数字签名解决不可伪造、不可抵赖的问题
对称密码:加密/解密密钥相同,密钥必须保密
非对称密码:加密/解密密钥不同(双方各执一个)私钥必须保密,公钥可
以公开。
密码学哈希函数:哈希函数构造链,挖矿
博弈论与激励机会
5.典型的区块链系统
比特币:没有信任节点,所有节点对等(公开链)V1.0
以太坊:支持智能合约的执行(公开链)V2.0
超级账本:不是一个公开链,是联盟链。
也支持智能合约的执行。
V2.0
6.区块链分类
公开链(公有链):所有人可参与
联盟链:被允许的人可以参与
发展历程:V1.0(比特币)—V2.0(以太坊)--V3.0(正在发展中,关注应用、用户隐私)
3.1.3 分布式共识(18:42)
1..分布式共识:一组人或机器间,通过某种方式达成一直意见。
2.分布式共识方法
(1)中心共识:中央节点进行共识,提出共识意见,所有人按照这个意见进行,最为高效的方法。
中央节点若停止工作,整个系统停止工作,所有的工作将停滞。
(2)投票:如果没有中央节点,任何一个节点相对于别的节点来说都是平等的,通过投票获取统一意见。
在联盟链或私有链使用投票的方法,同时要考虑坏人的投票,坏人试图阻止好人达成一致意见。
有坏人的分布式共识:坏人如果非常多,是完不成共识的。
引入拜占庭将军问题
拜占庭将军问题:Lesie lamport于1982年提出来: 采用投票的方法,好人非常多的情况下,将坏人的意见投出去,要保证有足够多的好人。
理论结论:如果有f个坏人,只要好人达到2f+1个或者更多,拜占庭将军问题可解决,可达到分布式的共识。
实用的拜占庭协议:PBFT适用于私有或者联盟链
(3)抽签:投票前提条件必须知道参与投票的总人数,当总人数未知,通过抽签达到共识。
随机抽到签的人决定下一个块。
抽签只有一个人可以抽到,而且是可以验证的。
在公开链可以采用抽签办法达到共识。
抽签的过程:
抽到签的人提出意见,其他人验证意见是否合理。
抽签的人不可伪造,因为抽签方法需要满足一定的数学性质。
抽到签的人有意愿将自己的意见进行广播,广播会有奖励(激励机制)
抽签办法的特点:能够在人数未知的时候完成共识工作
保障:共识的意见是可以进行验证的,共识完成由激励机制保证
性能:抽签过程不能太快,因为网络有延迟,需要在每一轮抽签完成后达到相对稳定,意见广播到网络中的大部分节点。
(性能不会太高)
抽签可以容错:在抽签的过程中,不能绝对保证只抽到一个幸运者,只能保证抽到两个或者
两个以上的幸运者的概率极低,需要额外的机制排除两个或者更多意见中的一个。
3.2.1 智能合约(10:07)
1.智能合约是区块链
2.0技术以太坊最为重大和核心的发明。
智能合约使区块链可以应用于很多去中心、去信任的场景中,使区块链的基础性价值才获得了较广泛的认可。
2.支持智能合约的平台:
以太坊:公开链
超级账本:联盟链
3.智能合约与传统合约的区别
在于智能,不涉及一切主观想法,一切皆为代码。
智能合约的本质:智能合约是一段写在区块链上的代码,一旦某个事件触发合约中的条款,代码即自动执行。
4.智能合约基本过程:构建-存储-执行
(1)由多个用户共同参与制定,可用于用户间的任何交易行为(以电子方式编码)
(2)编码完成,被上传到区块链网络上
(3)智能合约定期检查是否存在相关事件和触发条件;满足条件的时间,将会推送到待验证的队列中。
(4)区块链上的验证节点先对该事件进行签名验证,确保其有效性。
大多数验证节点对该事件达成共识后,智能合约将成功执行,并通知用户。
(5)成功执行的合约将移出区块,未执行的合约则继续等待下一轮处理,直至成功被执行。
部署到以太坊上的智能合约,会消耗以太币。
智能合约遵守“Less is more”越少越好的原则。
智能合约是预支付以太币。
若支付的以太币不能支撑到整个过程结束,无论执行的哪里都会返回到初识状态,并且消耗的以太币不会退回合约发起人。
5.智能合约的作用:一切代码说了算
共同维护区块链账本,所有交易数据无法篡改、不可伪造
减少人工对账的出错率和人力成本
3.2.2 区块链存证(12:57)
公正体制:是国家为保证法律的正确实施,稳定社会经济民事流转秩序,预防纠纷,减少诉讼,保护公民、法人和其他组织合法权益而设立的一项预防性司法证明制度。
1.传统证明体系存在的问题:
(1)证明的产生:依赖权威的第三方机构
存在问题:受权威机构的影响较大
假证泛滥
成本较高
(2)证明的使用:依托本身的防伪能力
存在问题:并不能拒绝所有的假证
防伪成本高,携带不方便
假冒、借用证件广泛
2.区块链存证特征:防伪性(不可篡改)、便捷性、低廉性(不依赖第三方,降低成本)、安全性(长久安全)
3.区块链存证典型的应用
(1)学历证明:将学习、测试、评价、互动和实践结果存储在区块链,根据综合数据分析,从而确定某位同学适合哪所学校哪个专业。
招生选拔变成了一个大数据分析。
区块链在教育中最简单快速的应用:对学历、学位证及考试成绩存储,提供在线快速查询,任一学校都可单独实现。
(2)产品溯源:解决产品生产过程中的信息记录与追踪,从而为产品的真实可信提供证明,以防止产品质量安全事故和追溯分析产品质量事故发生。
目前溯源平台:厂家自建平台(仅用于验证自身产品的真实可信)和第三方平台(主要用于产品质量监管)
现有的产品溯源平台存在两个问题:
A.均是基于中心化数据库构建,均希望以自己的平台为中心构建溯源体系。
形成溯源信息孤岛
B.数据存在认为的删除修改,从而难以确保信息的真实可信。
以区块链建立的溯源平台:可以以联盟链的方式构建,相关生产厂商、政府、行业部分均可作为参与方参与溯源平台的产品信息记录、查询和追踪分析。
(3)区块链公证
传统公证:效率不高、麻烦且成本高
基于区块链的公证:效率高、成本低且快捷(公证的信息,任何一方都不可抵赖,永久存储在区块链上,任何时候都可以查询。
)--最理想的公证办法
(4)区块链证书。