EOS白皮书学习笔记

共识算法(Delegated Proof of Stake, DPOS)vs. 比特币工作量证明算法

  1. DPOS 区块生产者是合作关系,在任一个时间点,只有一个生产者有权产生区块。
    而比特币的工作量证明算法(PoW))区块生产者是竞争关系。最终只有一个生产者获胜,其他生产者的算力会被白白浪费。
  2. DPOS 平均每三秒产生一个区块,平均十分钟产生200个区块;而PoW平均十分钟产生一个区块。200:1在效率上是极大的提升。
  3. DPOS 交易本身可以作为股权证明:每个交易都包含前一个区块头的哈希值。我的理解是某种程度可以避免比特币的51%共识攻击。
  4. DPOS的创新点:
    机制创新:一轮有21个区块生产者,前20个是自动产生,第21个是根据投票数产生的。
    关于分叉:DPOS在正常情况下不会产生分叉。如果产生了分叉,有更多生产者支持的分支的长度会增加得更快。区块生产者不可能同时在两个分支上生产区块,一旦被发现就会被投票罢免。

账户

账户在比特币中并没有涉及到。比特币中只有比特币地址,我们必须保护好自己的私钥,否则就相当于丢了比特币。

  1. 对于账户这个概念,可以结合steemit理解。比如我的账户是@meganchao, 访问这个页面https://steemit.com/@meganchao, 就可以看到我的博客,钱包等信息。
  2. EOS提供了更细化的权限管理,比如:owner可以做任何事,active可以做除了改变owner组的任何事,所有其他权限都由active派生出来。
  3. 消息和消息处理程序:账户之间的交互通过发消息来完成。账户可以定义自己的消息处理程序,消息处理程序也是分组的。例如@accountname.groupa.subgroupb.MessageType。
  4. 知识扩展:

重放攻击(Replay Attacks):是指“一条链上的交易在另一条链上也往往是合法的”,所以重放攻击通常出现在区块链硬分叉的时候。
由于硬分叉的两条链,它们的地址和私钥生产的算法相同,交易格式也完全相同,因此导致在其中一条链上的交易在另一条链上很可能是完全合法的。所以你在其中一条链上发起的交易,就可以到另一条链上去重新广播,可能也会得到确认。这就是“重放攻击”。
摘自http://qukuaiwang.com.cn/news/3884.html

Token模型和资源使用

  1. 使用EOS软件的区块链有三大类资源:a.带宽和日志存储(磁盘空间);b.计算和计算储备(CPU);c.状态存储(RAM)。
  2. 未来那些拥有EOS Token的人,可以把未使用的带宽租给其他人。带宽是我们用来获利的资源啊。

管理

  1. 比特币区块链中缺乏正式的管理过程,非正式的管理过程常会带来意想不到的结果。
  2. EOS中区块生产者具有有限的权限,来冻结账户,更新有问题的应用,建议修改底层协议。
  3. EOS中冻结账户和改变账户代码需要在活跃生产者中进行17/21投票表决。投票表决带来了更多的公平,管理更规范。
  4. EOS中法规虽然很“高大上”,但依然可以被升级和改变。

脚本和虚拟机

  1. 脚本语言和虚拟机的实现细节大多独立于EOS技术的设计。
  2. 账户间发送的消息遵循纲要(Schema)的定义,数据库状态也要遵循纲要的定义。这个纲要允许二进制和JSON表示之间的转换。
  3. 两个待选的虚拟机:Web Assembly (WASM)和Ethereum Virtual Machine (EVM)。

区块链间的交互

这部分读得不是很明白。我想正如白皮书中所说,EOS只是区块链宏伟蓝图的一部分。未来高效的跨链交互必然会很重要。

  1. 采用轻量级客户端校验(LCV)的Merkle证明来证明交易是否存在。
  2. EOS软件给每一个发送给每个账户的消息编号。一个用户可以使用这些序号证明所有发送给某个账户的消息已被处理,并且按顺序处理。

最后,把自己画的思维导图也分享一下。欢迎拍砖。
EOS.IO Technical White Paper(EOS 白皮书).jpg

发表回复