区块链基本原理、安全风险与创新
2022.05.22
区块链架构简析
区块链是通过密码学的方式形成的一个由集体维护的分布式数据库。
- 应用层:买卖、账务、存储、合约
- 合约层:脚本代码、算法机制、智能合约
- 激励层:发行机制、分配机制
- 共识层:PoS、PoW、Paxos、DPOS、Raft、Vrr
- 网络层:P2P、传播、验证
- 数据层:区块数据、链式机构、数据签名、哈希函数、Merkle树、非对称加密
交易以及上链流程
那么当你按下“转账”按钮时,背后的区块链系统到底发生了什么?
- 使用私钥对这笔即将发生的交易进行签名
- 从你的客户端把你的这笔交易提交到区块链网络
- 由已经开启“挖矿”程序的计算机(称为矿机)把10分钟内的交易打包成一个数据块(相当于一个账 本,其中就包含了小明的这笔交易)
- 这个数据块就包含在区块结构中的“区块体”,而此时,这些区块体中的交易并未生效。
- 每个区块中都有一个哈希值,通过不断哈希运算,不断哈希运算(可能是几亿次)最终找到一个比当前 哈希小的值,就认为这个区块被确认。即为交易生效,这个过程就称为“挖矿”。
- 谁来做这个哈希?全球那么多交易,如果只是一家公司的几台计算机是远远不够的。所以,比特币有 “激励机制”,当一台计算机确认了一个区块,就可以奖励12.5个比特币。为了得到报酬,越来越多矿工就 有动力造更大更多算力的矿机来“挖矿 ”。越多的人参与挖矿的竞争,算力就越分散,比特币系统就越不可 能被某一个人控制。
区块链应用架构
- 应用分类,按类型分:
- 热钱包
- 区块链浏览器
- 基于合约实现的Dapp
- 中心化交易所
- 按照架构分:
- 前端-区块链 型
- 前端-后端-区块链 型
思考:想要获取区块链数据怎么办?
区块链世界的安全风险
- 去中心化应用本身的安全缺陷,代码漏洞
- 后端服务的可靠性风险
- 基础节点服务的可靠性风险
- 社会工程学风险(钓鱼邮件 欺诈网站等)
区块链创新方向
- 合约层:
- 虚拟机的改进(并行执行、体系结构的创新等)
- 合约语言的演化
- 新型漏洞的检测
- 恶意交易的检测
- 激励和共识层:
- 共识机制的创新
- 共识漏洞的建模与分析
- 网络层:
- 抗日食攻击的新型组网机制等
- 数据层:
- 基于账户体系的创新
- 区块数据的隐私与加密
- 更小的区块数据结构设计
- 应用层:
- 应用创新
- 应用架构创新(TEE、Tor)
- 针对扩容,区块链性能低下问题:
- 分片技术,例如Near链的夜影协议
- 侧链技术、Plasma技术,例如Polygon二层网络
- rollup扩容方案,例如Arbitrum、optimism、zksync等
- 基于底层协议的创新,例如solana、flow、conflux
- 针对隐私交易保护问题:
- 隐私保护的链,例如Dash、Monero、Zcash
- 隐私保护的合约,例如Tornado
-
能不能让专门的合约数据在专门的链上:
合约链、交易链的划分
-
ERC20代币不一致问题:
新型的ERC20代币标准和形式
-
合约升级问题:
可升级合约标准
基于链增加合约升级的机制
- 未来量子计算机的攻击问题:
采用抗量子密码
本次组会内容下载链接