zoukankan      html  css  js  c++  java
  • 大脑*分叉专为应用设计的侧链

    http://8btc.com/thread-29529-1-7.html

    第一个在以太坊上风靡的DApp(虽然其去中心化的程度值得商榷,这已经在我们之前的文章中分析讨论过了)就足够令以太坊瘫痪了。

    待处理交易的数量达到历史最高点,交易费用也高得荒唐,一名用户(错误地)支付了11.000美元的交易费用

    -Gas价格需要>40Gwei才能确认-

    随着交易费用和交易积压的增加,对扩展方案的需求日益迫切。

    Devcon3 强调了一些潜在的扩展解决方案,即使不能解决当前全部的扩展问题,也能够解决大部分。 但是,这些解决方案(uRaiden除外)还处于研究阶段,尚不足以满足主网络的需求。 其他人则提出提高区块gas的限制(类似于比特币区块大小的增加),但这个方案有其缺点。

    与此同时,现在对扩展解决方案有着明确的需求,能够在不压垮以太坊网络的前提下,满足真实世界中的去中心化应用的需求。 如果像“以太猫”这样的小东西都可以使以太坊的网络瘫痪,那么它将如何处理那些像星际争霸一样拥有数百万用户规模(的应用)?“

    “你可以在区块链上运行星际争霸。 这些事情是可能的。 高度的安全性和可扩展性使得所有这些其他各种东西都可以构建其中。而以太坊是一个安全基础层,没有太多的功能。” ——Vitalik Buterin

    本文的目标是描述如何通过特定于应用程序的侧链,侧链中可以有更多可定制的“规则集”,来实现在以太坊上的扩展,同时保持以太坊主链的安全性。

    通过侧链实现扩展性

    侧链一个什么东西?

    术语“侧链”首先在Adam Back等人在2014年前后的文章《Enabling Blockchain Innovations with Pegged Sidechains》中进行了描述。 这篇论文描述了“双向锚定侧链”,这是一种通过锁定一部分你持有的代币,让你可以在侧链内转移一些其他的代币的机制。

    这里应该澄清一个错误的概念。

    侧链可以增加规模,但不意味着可扩展性。 侧链在可扩展性方面并不比增加区块大小更好。侧链能让我们进行测试,为了日后能够建立可以运行不同技术,可能更好扩展技术的网络。1

    但侧链可以促进创新。

    侧链是由自定义的“规则集”所定义的,可用于消除来自于另一条链中的计算。 每个侧链可以遵循主链中的不同规则集,这意味着它们可以针对需要极高速度或繁重计算的应用程序进行优化,同时仍然依赖主链处理需要最高安全级别的问题。

    特定应用的侧链

    定义侧链的规则可以是增加隐私功能,甚至可以牺牲安全和去中心化程度以获得更高的吞吐量。 根据每个应用程序的需求,可以有很大的实验空间,来决定权衡哪些要素会产生最佳性能。

    另外,在数据驱动的应用程序中,激励来源与财务类的应用程序不同。 对于一个攻击者来说,花费数亿美元来51%攻击金融区块链并撤消一笔支付可能是值得的,但他们用这样的方法,去撤销一个微博平台上的推特可能没有任何意义。 因此,应用程序需要能够更灵活的选择威胁建模并有针对性地进行性能优化。

    那些黑客无法攻破的应用程序,同时能够具有透明性、抗审查和高性能的特点,将会有很大的需求量

    考虑到这一点,在区块链上运行的Twitter式的去中心化应用程序中,可以调节安全性以实现更高的吞吐量,同时向主链定时提交“检查点”,来广播数据的确定性。

    现在我们已经描述了一种扩展DApps的方法,如果某个机构利用比较宽松的安全模型获取了太多的权力,并且能够控制侧链,会发生什么?

    通过硬分叉实现独立性

    在像reddit分论坛这样的中心化社区中,有时会有一个有毒的主持人进入,根据自己的议程开始审查消息,最终导致社区分化。

    在诸如魔兽世界这样的多人游戏中,有时候会不尊重社区共识而进行大规模改变,导致用户无法自我保护 ——他们被迫接受或退出游戏。 甚至Vitalik Buterin也被这些事件吓坏了

    “在2007-2010年这几年我一直喜欢玩魔兽世界,但是有一天,我心爱的术士被暴雪粗暴地修改了,移除了生命虹吸术中附带的伤害部分。那一天我是哭着睡着的,那时,我就意识到一个中心化的服务能够给人造成多么大的伤害。后来没多久,我就决定不再玩了。”

    协作的社区需要调整用户认为不公平之处,并采取他们都同意的替代方案。

    要实现这一点,关键是侧链硬分叉。

    用尽可能简明的话说,分叉是一种协议升级机制。 Vitalik的博客上有一篇文章很好的比较了不同类型分叉之间的区别。(编者注:中译本见文末超链接《硬分叉,软分叉,违约和强制》)

    -分叉变化文氏图,取自http://vitalik.ca/general/2017/03/14/forks_and_markets.html-

    硬分叉是对以前版本区块链上分出的。 运行以前版本的节点将不再被最新版本接受。2

    你如何以这种方式实现独立?

    在发生违反社区共识的事件时,社区能够将侧链的状态转移到纠纷发生之前。

    6

    一个不符合社区共识的建议变更可以被忽略掉,社区可以继续在旧链上工作。

    在这种情况下会出现很多问题,例如在游戏中:

    1. 如果大多数重要的“恶意”开发者决定留在旧链中呢?
    2. 新链是否会阻碍发展,还是说开发人员会妥协并适应新链?

    我们还没有找到全部的答案,但我们相信自由市场将会把这些事情弄清楚。随着我们创建出越来越多同类自治应用程序,最终一点能找到最佳的实践方法。

    至少在这种情况下,社区还有一个选择。


    Loom网的目标是打造一个这样的平台:让社区可以在侧链上运行他们的软件,他们在平台上拥有的权益都是公平和透明的,同时能够根据需求调整安全限制。

    社区将能够在区块链上运行,用户可以启动自己的节点并保护网络。 这些社区可以是像steemit、subreddits、论坛、facebook群组、stackoverflow类型的问答网站 (人们谈论共同兴趣的网站)以及MMO游戏(这里每个人都对游戏公平十分关注)这样的社区。 当社区共识出现分歧时,用户必须能够通过分叉避免。

    当开发人员最终能够像构建当今的Web 2.0应用程序一样轻松地创建这些类型的平台时,区块链变革才会真正开始

    https://blockgeeks.com/guides/blockchain-wiki/

  • 相关阅读:
    Vue-router 报NavigationDuplicated的可能解决方案
    go 数据类型转换
    在vscode 之中使用 GO MOD
    javascript格式化
    Mac node-sass 安装失败“v8::String::Utf8Value”
    Django 使用gunicorn 和 supervisord部署
    关于windows上的账号(权限)切换
    python中的global关键字
    暂时性的小总结
    windwos 安装下kafka的安装使用
  • 原文地址:https://www.cnblogs.com/wcLT/p/8758007.html
Copyright © 2011-2022 走看看