区块链是一个共享、分布式和容错的数据库,网络系统中所有的组件都可共享该数据库,但没有一个实体可以控制该数据库。
区块链假定网络环境中存在敌对者,因此利用诚实节点(Honest Node)的计算能力瓦解敌对者的攻击策略,有助于在去信任环境中建立值得信赖的网络。
区块链组件
Decentralized Network(去中心化网络):
保证交易信息在负责维护分布式账本的节点间传播。不管区块链是公有的还是私有的,这个去中心化的网络都是基于P2P架构,没有中心化的仲裁机构,节点可自由加入和离开。
Distribution Consensus(分布式共识):
向公共账本添加区块之前,区块链先在去中心化网络上通过共识协议验证交易。
密码安全算法
区块链技术确实有解决分布式系统中网络安全问题的巨大潜力,但也有以下问题需要考虑
1.可伸缩性
比特币当前的实现方式是不可扩展的,需要10分钟或更长时间确认交易,7个交易是可实现的最大吞吐量。
2.共识层
共识层负责验证交易,并将消息纪律在分布式账本中。共识协议包括工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)和拜占庭容错(Byzantine Fault Tolerance)等不同协议。传统的区块链技术在很大程度上依赖于底层的PoW机制在分布式系统中达成共识。在分布式系统中,矿工必须利用其计算能力解决密码难题,以便成功地将区块包含到区块链中,直接激励的价值随着时间会降低。
面临攻击
与用于创建/维护分布式账本的技术相关的威胁(分叉、陈旧区块、孤立区块)
VDF
VDF能够使得该函数的计算需要至少一段已知的时间,即使是在同时使用少量CPU进行并行计算的情况下。
抵抗并行计算的延迟
使用连续的哈希操作是一种防止并行的计算加速的手段,但是这样的手段非常低效
标题
RLP是数据在Ethereum底层的编码方法