【区块链基础总结】上海区块链等级考试学习
也不同,可以验证消息的。
总结目的:准备2023年十月份上海区块链等级考试
区块链的数据结构特色在于:利用哈希函数计算出数据块特征,并利用特征进行关联的链式结构,数据利用数字签名讲行保护,利用易于验证的树状数据结构组装数据块。
区块链的三个发展阶段
1. 0比特币(2008)
比特币的最小单位:聪(1聪=0.000 000 01bitcoin)
- 时间相关
2008年11月中本聪发布比特币白皮书
2010年5月21比特币第一次严格意义上的交易,买披萨优惠券 - 数量相关
比特币总量设计=2100万
每10分钟产生一个区块
挖矿成功的奖励:每隔21万个区块(4年)奖励减半
最初奖励50个
2. 0以太坊(2013)
理念:去中心化、无法被掌控、可以执行智能合约的计算机
以太坊提供了区块链底层能力和图灵完备(可以执行图灵机能做的事)的智能合约 [比特币的脚本语言不是图灵完备的,没有循环和复杂的条件控制语句]
以太坊提供代币发行,因此任何个人和组织都能利用智能合约,在平台发行自己的加密数字资产
3. 0融合阶段
区块链和ai,大数据,5g,物联网等技术融合
区块链的系统特性
- 去中心化
为什么要引入去中心化?
1.容错
2.抵抗攻击
3.抵制合谋
- 不可篡改
1.区块体内不可篡改:交易改了,merkel tree的根哈希值也会改
2.区块之间不可篡改:前面的区块修改了,后面的区块就无法识别,
哈希算法 任意长度的输入,映射为较短且固定的输出 不可逆 输入输出一一对应,任何输入的改变输出都有巨大差异,并且这种差异无法被预知或分析
在区块链中被用于:比特币地址,脚本地址,工作量证明,对交易内容加密
MD5 SHA256(有很强的抗碰撞性,基本不可能碰撞)
- 匿名性
比特币中地址和身份无法对应,但根据交易信息可能可以关联上真实身份
主流匿名货币:Moneroe(2014,环签名,隐身地址,环隐匿交易),Dash(主节点),Zeash(零知识证明)
区块链的链式数据结构
区块=区块头+区块体
区块头:
1.引用父区块哈希的数据
2.元数据包括挖矿难度、时间戳、随机数
3.merkel tree(当前区块所有交易按照树形结构生成256位hash值):汇总区块中的交易信息
51%攻击
区块链的一致性协议:得到半数以上支持的提议将被确定为最终协议。如果有比特币网络一半以上的算力,就可以篡改网络中的数据,建立一条比当前主链更长的链
区块链架构类型
1.权限架构
- 许可链
需要经过身份认证和授权 - 非许可链
无需验证授权,例如比特币,以太坊
2.组织结构
- 公有
无需授权,例如比特币,以太坊 - 私有
大型企业,组织用,通过中心化控制对用户进行管理 - 联盟/行业
比私有链更严格
3.体系结构
- 块链式结构
- 有向无环图
- corda
区块链系统架构

区块链编码
base64-文本每个字符转化成ascii码,然后转成8位二进制,对二进制分组,每组24bit,不足的补0,再对每组的24bit划分4组,得到每组6bit,对应base编码中的字符
base58-去掉base64里容易引起混淆和转义的字符
base58check-解决base58编码没有错误校验机制的问题
密码学
按照加解密使用的密钥是否相同,分为:
私钥密码学(对称密码学)
公钥密码学(非对称密码学)-公开密钥(加密密钥),保密密钥(解密密钥),公开密钥无法推出私钥。可以在没有共享任何秘密信息的情况下通信。
为了保证发送密文的完整性和消息来源的准确,要对密文进行数字签名
验签:收到密文用对方的公钥解密
公钥加密算法:
1.大整数的因式分解
RSA
2.离散对数
DSA
Diffie-Hellman
3.椭圆曲线类
Elgamal
ECDH
ECDSA
- 椭圆曲线密码学
区块链中所使用的公钥加密算法就是椭圆曲线算法,这个更难攻破 - 椭圆曲线加密算法
比特币使用的椭圆加密算法采用了secp256k1标准定义的一种特殊的椭圆曲线(y² = x³ + 7)和一系列数学常数
sec=standards for efficient cryptography
p=有限域参数
256=p的位数
1=序号
数字签名
特点:不可伪造,不可抵赖,
数字签名确保消息来自某人,数字签名采用特定的hash函数,对不同文件产生的数字摘要也不同,可以验证消息的完整性
生日攻击
是利用概率论中的生日问题,找到冲突的Hash值,伪造报文,使身份验证算法失效。
共识机制
- 工作量证明POW
- POS
pow大量资源被浪费
EOS区块链采用DPOS代理权益证明
DPOS
投票选举记账节点,票数最多的21个节点作为记账节点
21个记账节点随机排序,产生区块,每次出块成功,并且至少经过15个区块确认,获得出块奖励,然后下一个节点记账
区块链中,常见的共识算法有 :
PBFT,Raft,PoW,PoS,DPoS,Ripple等等。
采用 PoS 共识算法的项目有 :以太坊 Ethereum、Peercoin、Nxt等等;
采用 DPoS 共识算法的项目有:BitShares、Steemit、EOS、Lisk、Ark等等。
拜占庭问题
n个节点,有f个节点判断错误,3f+1<=n时,能容错且结果达成一致。
解决:分布式通讯
超级账本使用PBFT(拜占庭容错算法)
分布式共识的意义
智能合约的代码用solidity编写
云计算是中心化的,而区块链的思想是去中心化
《区块链基础》
更多推荐





所有评论(0)