美文网首页EOS学习资料从零开始学EOS应用开发数字货币
【从零开始学EOS应用开发】技术白皮书学习笔记(四)

【从零开始学EOS应用开发】技术白皮书学习笔记(四)

作者: 面壁者Z | 来源:发表于2018-04-07 06:48 被阅读116次

    先啰嗦几句:本人区块链小白一枚,正在自学EOS应用开发(当然目前也没有培训班培训),我的这个系列文章是我的学习笔记,因此,鉴于水平有限,难免有许多错误之处,还希望各位读者海涵,若能留言勘误,更是感激不尽。同时也欢迎热爱EOS开发的朋友加我微信(微信号:361757),暗号EOS,我已经创建了一个交流群,写作本文时(2018年4月7日),群人数已经达到68人。好了,系好安全带,我们的EOS应用开发之旅,马上开始!

    EOS.IO技术白皮书链接:EOSIO/Documentation

    本文将用个人理解,解读“治理”、“脚本&虚拟机”两部分。

    007 治理

    1,治理是人们在主观问题上达成共识的过程,而这无法完全用软件算法来捕获。在这里,通过有效的引导区块链生产者来实现EOS.IO系统的治理过程。区块生产者被授予有限的权限来冻结账户、升级有缺陷的应用程序,对底层协议提出应分叉的改进建议。

    2,不过这并不代表区块生产者具备至高无上的权利,一旦区块生产者在未经允许的情况下拒绝token持有者的变更,他很可能会被投票投出。而如果生产者在没有获得授权的情况下随意的变更,则他的操作会被其他区块生产者拒绝。

    3,冻结账户:当出现以下类型问题时,账户会被冻结:(1)一个智能合约的行为处于一种或不可预测的状态,且无法按照预期执行;(2)一个应用程序或账户被发现有一个可以销毁不可想像数量资源的漏洞。

    4,冻结账户的过程:当区块生产者发现上述问题时,可以发起一个投票,当21个区块生产者中的17个投票赞成冻结,则账户会被冻结。但如果区块生产者滥用投票权利,那么这个区块生产者将被投出,对应的账户就会自动解冻。

    5,更改账户代码:区块生产者同样具备更改账户代码的权利,但这和冻结账户的流程一样,也需要17/21的投票赞成。这种情况也发生在出现不可停止的应用程序bug中。

    6,宪法:宪法内容定义了仅仅依靠代码无法在用户间履行的义务,同时通过建立管辖权和可选的法律来解决相互间的争端。

    7,升级协议 & 宪法:EOS.IO定义了修改宪法的流程,包括:

    (1)区块生产者对宪法提出改进建议并获得17/21批准。

    (2)区块生产者持续17/21品准连续30天。

    (3)所有用户需要使用新的宪法来做签名。

    (4)区块生产者通过变更代码的方式来影响宪法并提交一个git记录的哈希值。

    (5)区块生产者持续17/21品准连续30天。

    (6)7天后改为会起影响的代码,给所有完整节点1周时间在确认源码后升级。

    (7)所有未升级到最新代码的节点被自动关闭。

    按照EOS.IO的默认配置,整个流程需要2~3个月,而修复一般bug不需要修改宪法时需要1~2个月。

    总体来说,这样的机制可以在修复EOS.IO的bug或进行升级时,有效的避免应分叉的产生。

    8,紧急变更:当bug是伤害性bug或安全溢出,影响用户使用时,区块生产者可以推荐软件变更,这种更新可能会非常快。

    008 脚本 & 虚拟机

    1,EOS.IO作为一个用户间传递认证消息的平台,其底层设计与脚本/虚拟机是分离的。所以,任何语言或者虚拟机,只要确定并适合沙盒,带有足够的运行效率,均可和EOS.IO的API对接。

    2,EOS.IO中的消息和数据库,均支持二进制与JSON格式之间的无缝转换。

    3,EOS.IO的验证逻辑分为三个部分:

    (1)验证消息是否内部一致;(确定消息内部一致性,只读,且无需访问区块链状态,这种情况下可以最大并发来执行。比如余额)

    (2)验证所有前提条件是否有效;

    (3)修改应用程序状态。

    这样做的好处是可以最大限度的进行并行操作和减少事务日志的生成。且一旦消息被打包,就不能再进行验证了。

    4,虚拟机独立架构:EOS.IO还在尽可能支持更多的虚拟机,目前,有两种虚拟机正在进行评估:

    (1)Web组建(WASM),一种为了构建高性能web应用而新兴的web标准。该虚拟机有非常广泛的产业支持,并且它可以让智能合约使用熟知的语言进行开发,如C或者C++。同时,以太坊开发者已经开始更改WASM来提供适合的沙盒与确定性。

    (2)以太坊虚拟机EVM:可想而知,一些支持EVM的应用,也可以运行在EOS.IO平台上。

    本篇完。

    我是王越,EOS应用开发小白一枚,渴望与你链接,我已经建立了一个交流开发技术的微信群,期待你的加入!请加我微信 361757,暗号EOS

    本系列文章目录

    【从零开始学EOS应用开发】技术白皮书学习笔记(一)

    【从零开始学EOS应用开发】技术白皮书学习笔记(二)

    【从零开始学EOS应用开发】技术白皮书学习笔记(三)

    【从零开始学EOS应用开发】技术白皮书学习笔记(四)

    【从零开始学EOS应用开发】技术白皮书学习笔记(五)

    相关文章

      网友评论

        本文标题:【从零开始学EOS应用开发】技术白皮书学习笔记(四)

        本文链接:https://www.haomeiwen.com/subject/uvuehftx.html