区块链复习
Posted 在山大上大分
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链复习相关的知识,希望对你有一定的参考价值。
区块链原理与技术
选择10分
概念 40分
应用题 遗产的分配 慈善公益怎么解决 账本 合约 20分
算法 20分
证明题10分
平时成绩20%
第一章前言
**
1、中心化、去中心化
通俗地讲,中心化就是一个或多个重要级别的领导讲话,所有其他人只能参与听,领导讲话你是不能插嘴的。以前的门户网站是中心化。而去中心化就是每个人都可以讲话,都可以选择听还是选择讲,就像自由讨论模式。
**
2、“中心化”的缺陷
3、双重支付攻击
对于数字货币来说,数字化内容容易被复制,数字货币持有人可以将同一份货币发给多个接收者,这种攻击称为“双重支付攻击”。
4、“去中心化”的技术难关
在“去中心化”的场景下,实现数字货币存在如下几个难题:
货币的防伪:谁来负责对货币的真伪进行鉴定
货币的交易:如何确保货币从一方安全转移到另外一方
避免双重支付:如何避免同一份货币支付给多个接收者
5、比特币的出现的意义
将 PoW 与共识机制 联系在一起,首次从实践意义上实现了一 套去中心化的数字货市系统 。
6、比特币的意义和价值
比特币首次真正从实践意义上实现了安全可靠的去中心化数字货币机制 ,这也是它受到无数金融科技从业者热捧的根本原因。
作为一种概念货币,比特币主要希望解决已有货币系统面临的几个核心问题:
被掌控在单一机构手中,容易被攻击
自身的价值无法保证,容易出现波动
无法匿名化交易,不够隐私
7、区块链
本质上是一个去中心化的数据库。是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一组比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
8、区块链的特点:
分布式容错性:分布式网络极其鲁棒,能够容忍部分节点的异常状态
不可篡改性: 一致提交后的数据会一直存在,不可被销毁或修改
隐私保护性:密码学保证了数据隐私, 即便数据泄露,也无法解析
9、随之带来的业务可能包括如下特性:
可信任性:区块链技术可以提供天然可信的分布式账本平台,不需要额外第三方中介机构参与
降低成本 :跟传统技术相比,区块链技术可能需要的时间、 人力和维护成本更少
增强安全 :区块链技术将有利于安全、可靠的审计管理和账目清算,减少犯罪风险
10、区块链定义
区块链是用于记录比特币交易账目历史的数据结构 。
将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、不可篡改的数据记录。
11、区块链基本原理
区块链包括三个基本概念:
交易( transaction ):一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录;
区块( block):记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识;
链( chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。
12、以比特币为例理解区块链工作过程
1). 比特币客户端发起一项交易,广播到比特币网络中并等待确认 。
2). 网络中的节点会将一些收到的等待确认的交易记录打包在一起(此外还要包括前一个区块头部的哈希 值等信息),组成一个候选区块 。
3). 试图找到一个 nonce 串(随机串)放到区块里,使得候选区块的哈希结果满足一定条件(比如小于某个 值) 。 这个 nonce 串的查找需要一定的时间去进行计算尝试。
4). -旦节点算出来满足条件的 nonce 串,这个区块在格式上就被认为是“合法”了,就可 以尝试在网络中将它广播出去 。
5). 其他节点收到候选区块,进行验证,发现确实符合约定条件了,就承认这个区块是一个合法的新区块, 并添加到自己维护的区块链上 。
6). 当大部分节点都将区块添加到自己维护的区块链结构上时,该区块被网络接受,区块中所包括的交易 也就得到确认 。
13、工作量证明(PoW)
工作量证明(Proof of Work ,PoW ):即比特币的这种基于算力寻找nonce 串的共识机制。 目前,要让哈希结果满足一定条件,并无已知的快速启发式算法,只能进行尝试性的暴力计算 。 尝试的次数越多(工作量越大),算出来的概率越大。
14、挖矿
通过调节对哈希结果的限制,比特币网络控制平均约10分钟产生一个合法区块。 算出区块的节点将得到区块中所有交易的管理费和协议固定发放的奖励费(目前是12.5 比特币,每四年 减半),这个计算新区块的过程俗称为挖矿。
15、基于区块链的分布式 账本应该包括如下特点:
维护一条不断增长的链,只可能添加记录, 而发生过的记录都不可篡改
去中心化,或者说多中心化,无需集中控制 而能达成共识,实现上尽量采用分布式
通过密码学的机制来确保交易无法被抵赖和 破坏,并尽量保护用户信息和记录的隐私性
16、分类
公有链,顾名思义,任何人都可以参与使用和维护,如比特币区块链,信息是完全公开的; 如果进一步引人许可机制,可以实现私有链和联盟链两种类型:
私有链,由集中管理者进行管理限制,只有内部少数人可以使用,信息不公开;
联盟链则介于两者之间,由若干组织一起合作维护一条区块链,该区块链的使用必须是带有权限的限制访问,相关信息会得到保护,如供应链机构或银行联盟。
17、区块链技术可以为金融服务
提供有效、可信的所属权证明,以及相当可靠的合约确保机制 。
第二章 分布式系统与去中心化
1、区块链的核心
是一个去中心化的分布式系统
2、分布式系统中的节点可以相互交换信息
节点分为可信节点、缺陷节点、恶意节点。一个有任意行为的节点被称为拜占庭节点,网路上某个出现任 何意外行为的节点都可归类于拜占庭节点
3、分布式系统的主要挑战:
节点与容错的协调,即一个节点的失效不影响整个系统的运行。
4、CAP定理
CAP定理,又称布鲁尔定理:任意分布式系统不能同时拥有一致性,可用性,分区容错性 一致性:任意节点拥有最新数据副本
可用性:系统在使用期间可以被访问,接收请求并在必要时做出响应
分区容错性:一组节点的失效不影响系统的运行
5、拜占庭失效
指一方向另一方发送消息,另一方没有收到,或者收到了错误的信息的情形。
6、拜占庭将军问题
7、区块链与分布式系统
一致性是指不信任节点之间的协议过程
一致性机制所需满足的需求:
协议:全部可信节点制定同一值
有效性:所有可信节点的商定值必须与至少一个节点所提议的初始值相同
容错性:一致性算法应在能出现故障或恶意节点的情况下运行
完整性:任何节点都不可做多次决策
一致性机制的类型:
基于拜占庭式的容错:不存在计算密集型操作,依赖于一个简单的、发布签名消息的节点方案
基于领导的一致性机制:节点实现领导选举机制,由获胜节点提供结果值
8、区块链中的一般元素
地址:表示事务中收件人和发件人的唯一标识符,通常表示为公钥或派生自私钥。建议在每个事 务中用新生成的地址,防止将交易链接到公共所有者,避免身份识别。
事务:区块链的基本单元,表示地址间的值传输。
区块:由多个交易和其他元素组成,例如上个区块的哈希(hash指针)、nonce、时间戳。
P2P网络:所有对等点之间可以彼此通信、发送和接收消息。
脚本或程序语言:交易脚本是节点的预定义集合,用于将令牌从一个地址转移到另一个地址,并 执行各种其他功能。
虚拟机:事务脚本的扩展,可运行图灵完备的代码。
状态机:一个区块链可以看作一个状态转换机制。
节点:可以生成并验证交易,同时进行挖掘。根据区块链类型及节点分配的角色,还可以执行其 他功能。
智能合约:智能合约运行于区块链之上,在满足某些条件时封装业务。区块链并不支持智能合约。
9、区块链特性
分布式一致性:缺少中心信任机制授权的情况下,各方都能达成一致
交易验证:节点发布的交易基于先确定的规则进行验证,有效的交易才能包含在区块中
智能合约平台:区块链定义为一个平台,程序可以运行其上,并代表用户执行业务逻辑
在对等点间传输值:允许通过令牌在用户之间传递值,令牌是值的载体
生成加密货币:是一个可选的特性,为的是激励矿商
智能属性:采用不可撤销的方式将资产与区块链联系起来,使任何人都无权占有、资产完全由个人控制、不可重复使用或双重拥有
安全提供商:基于已证实的加密技术,确保数据的完整性和可用性
不变性:区块链中的记录是不可变的
唯一性:每个交易都是唯一的,且尚未被消费
智能合约:区块链提供了一个有智能合约特性的平台,可视为区块链上的自主程序,可以封装业 务逻辑和代码,以便下一步所需。智能合约同时实现了灵活性、可编程性、对于特定业务执行的 特定操作,区块链用户可对此加以控制
10、区块链中的共识
1). 工作量证明机制(PoW)
依赖于:在提出一个网络接受价值之前已经花费饿了足够的计算资源。用于比特币和其他加密货币。
2). 权益证明(PoS)
理念:节点或用户在系统中具有足够的权益。如用户在系统中投入了足够的资金,因此,恶意行为获得的收
益将超出执行系统攻击。应用于以太坊区块链中,生成并签订下一个区块的机会随着币龄而增加。
3). 委托权益证明(DPoS)
对PoS的一种创新,每个节点都可以通过投票将交易的验证委托给其他节点。应用于比特股中。
4). 流逝时间证明
使用可信执行环境(TEE)通过可靠的等待时间再领导选举过程中提供随机性和安全性。
5). 基于保证金的共识
希望加入网络的节点在生成区块链之前存入保证金。
6). 重要性证明
依赖于用户在系统中所拥有的权益份额,并监视用户对令牌的使用和移动,以建立信任和重要性级别。
7). 联邦共识和联邦拜占庭共识
应用于恒星共识协议中,保留一组公开信任的对等点,并只传播由大多数受信节点验证的交易。
8). 信誉机制
基于在网络上建立的声誉选择领导者,由其他成员投票实现。
9). 实用拜占庭容错机制(PBFT)
实现了状态机的复制,并对拜占庭节点提供了容错机制。
11、去中心化方法
存在两种方法实现去中心化:非中介化和竞争。
非中介化: 例如: 用户想把钱转给另一个国家的朋友,需要到银行办理转账业务。 当采用区块链技术时,用户只需知道朋友的区块链地址即可,不再需要中介。 这样就通过非中介实现了去中心化。
竞争: 一组服务提供者相互竞争,以便被系统选择进而提供有效的服务。 在区块链系统中,智能合约可以根据声誉、评分、评论和服务质量,从大量的提供者中选 择一个外部的数据提供者。当然,这不是完全的去中心化,但允许智能合约根据标准作出 自由选择。
第三章 密码学和基本技术
密码学技术是区块链数据核心技术(P2P网络协议、共识机制、密码学技术、账户与存储模型)中核心的技术点,区块链主要用到的密码算法有哈希算法和加密算法,加密又包括对称性加密和非对称性加密两个概念,区块链系统里面一般常用到的是非对称加密
1.循环群:若—个群G的每—个元都是G的某—个固定元a的乘方,则称G为循环群,记作G=(a)={am |m∈Z},a称为G的—个生成元。
2.素域:素数个元素的域。
3.阿贝尔群:交换群。
哈希函数用于创建任意长度的输入字符串、固定长度的文摘,所以常用于数字签名和消息认证代码中,如HMAC。
4.哈希函数的属性:
将消息压缩为固定长度的文摘
易于计算:无论消息量大小如何,均可实现快速计算。
抗原像性(单向属性):h(x)=y,h表示哈希函数,x表示输入,y表示哈希值。y不能逆向计算出x。
抗第二原像性(弱抗冲突性):给定x和h(x),几乎无法获得任何其他的消息m。其中,m!=x 且 h(m)=h(x)。
抗冲突性(强抗冲突性):两个不同的散列信息不可散列至相同的输出结果。
信息文摘(MD):通常用于文件完整性检验,但缺乏安全性。
第四章 共识算法
1、区块链的底层有四部分构成:
1)分布式的数据库—用来存储以往和将来的交易数据
2)密码学—的公私密钥体系用来确认交易双方的身份
3)P2P网络—用来广播和蔓延各类消息(如节点加入消息,节 点失效消息,得到挖矿数据的消息)
4)共识机制—用来决定节点记账权利的。
2、共识机制
区块链系统的核心是系统节点竞争记账,这个竞争的过程称为 共识机制。
共识机制:区块链事物达成分布式共识的 算法
3、POW工作量证明
就是大家所熟悉的挖矿,通过与或 运算,计算出一个满足规则的随机数,即获得本次记 账权,发出本轮需要记录的数据,全网其它节点验证 后一起存储
4、工作量证明函数 计算
1.输入x可以是任意长度的字符串
2.输出结果即H(x)的长度是固定的
3.计算H(x)的过程是高效的
5、POW工作量证明三要素
- 工作量证明函数 2. Merkle树 3. 难度值
6、POW工作量证明流程:
1.生成Merkle根哈希 2.组装区块头 3.计算出工作量证明的输出
7、POW的优缺点总结
优点:完全去中心化,节点自由进出;
缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制 的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量 的资源浪费;共识达成的周期较长,不适合商业应用
8、POS(权益证明机制)的优缺点
优点:在一定程度上缩短了共识达成的时间
缺点:还是需要挖矿,本质上没有解决商业应用的痛点
9、DPOS机制遵从如下几条基本原则:
1). 持股人依据所持股份行使表决权,而不是依赖挖矿竞争记账权
2). 最大化持股人的盈利
3). 最小化维护网络安全的费用
4). 最大化网络的效能
5). 最小化运行网络的成本(带宽、CPU等)
10、DPOS的优缺点
优点: 1、能耗更低:DPoS机制将节点数量进一步减少,在保证网络安全的前提下,整个网络的能耗进一 步降低,网络运行成本最低。 2、更快的确认速度:每个区块的时间为10秒,一笔交易(在得到6-10个确认后)大概1分钟,一个 完整的区块的周期大概仅仅需要数分钟。而PoW机制下产生一个区块需要10分钟,一笔交易完成需 要数个小时。
缺点: 1、投票的积极性并不高:绝大多数持股人从未参与投票。这是因为投票需要时间、精力以及技能, 而这恰恰是大多数投资者所缺乏的。 2、垄断性高:DPoS延续了PoS的弊端,只有持币者才可以获得区块链奖励,其实这就带来了一种制 度性门槛,最终导致DPoS币的流动性大大减少,穷者越穷,富者越富。
11、PBFT算法的基本流程
主要有以下四步: 1. 客户端发送请求给主节点 2. 主节点广播请求给其它节点,节点执行pbft算法的三阶段共识流程。 3. 节点处理完三阶段流程后,返回消息给客户端。 4. 客户端收到来自f+1个节点的相同消息后,代表共识已经正确完成。
12、RAFT
第五章 区块链架构-1比特币
1、区块链1.0概念
是可编程货币,是与转账、汇款和数字化支付相关的密码学货币应用,目标是实现货币的去中心化与支付手段。比特币是区块链1.0最典型的代表, 区块链的发展催生了大量的货币交易平台,实现了货币的部分职能,能够实现货品交易。
2、比特币架构
3、比特币前端架构
4、交易的生命周期
5、交易的结构
6.交易类型
7、模型的优势和缺点
第五章 区块链架构-2以太坊
1、以太坊与区块链架构对比
2、以太坊的账户类型
以太坊中存在两种账户类型,包括外部持有账户和合约账户。外部账户为用户账户,由私钥控制。合约账户是一种可编程账户,受代码控制并由外部账户激活
3、以太坊的世界状态
4、货币(ETC和ETH)
5、gas
6、共识机制
7、分叉
8、区块
9、区块验证机制
10、交易
11、账户状态转换
以上是关于区块链复习的主要内容,如果未能解决你的问题,请参考以下文章