写点什么

可扩展性 DApp:极速前进!

  • 2018-09-23
  • 本文字数:2247 字

    阅读完需:约 7 分钟

采用区块链的最大障碍是可扩展性。消费者对区块链的性能和响应能力的期望,被移动和桌面应用给破坏殆尽。1994 年人们尚能接受的延迟,在 2018 年断然是不可能再被人们接受了。面向生产就绪的可扩展性解决方案的研究缓慢的进展,扼杀了人们对去中心化应用(decentralized application,DApp)的开发和支持的热情。

DApp 无法挽留用户(参见 http://u6.gg/e8eGX )。像以太坊(Ethereum)这样的智能合约加密货币平台的性能令 DApp 步履维艰。gas 成本之高,吞吐能力之低,确认速度之慢,这些就是区块链平台面临的主要问题。

尽管区块链平台存在可扩展性方面的问题,但在过去几年中,在解决去中心化的区块链网络的可扩展性问题的方面出现了一些值得注意的动态发展。

智能合约平台和 DApp 使用面临的问题

以太坊创始人 Vitalik Buterin 称,区块链网络在初始阶段和开始阶段所面临的一般限制,可以概括为可扩展性的三角问题(Scalability Trilemma):安全性(Security)、去中心化(Decentralization)和可扩展性(Scalability)三者不可兼得,需要进行必要的权衡(参见 http://u6.gg/e8eGp )。

为了确保健壮的安全性和去中心化,以太坊牺牲了可扩展性。作为一个图灵完备(Turing-complete)的智能合约平台,以太坊面临的可扩展性问题因需要扩展到生产阈值所需的复杂性而变得更为复杂。然而,尽管 DApp(特别是游戏)存在一些问题,如网络拥塞期间异常高的 gas 成本,但以太坊仍然是 DApp 中最受欢迎的平台。

网络效应是 DApp 开发者的强大动力。大多数 DApp 开发者仍然在继续开发以以太坊为基础的应用,尽管眼下以太坊受到由于庞大用户群(即客户)而存在的局限性。因此,就算开发者开始偏离以太坊进行构建,但他们也需要一个大幅改善的平台,采用前瞻性的方法,并有巨大的吸引力来吸引开发者长期迁移。

以太坊的局限性凸显了可扩展性 DApp 留住用户的迫切需求。DApp 游戏就代表了最好的例子,因为它们过于昂贵以至于无法供人们去玩,而且实际的游戏玩法还存在很多不足之处。只要你去问任何玩过以太机器人(Etherbots)的玩家,或者去看看 DappRadar 上的顶级 DApp(参见 http://u6.gg/e8eFQ ),你就会注意到,排名靠前的 DApp 大多是 DEX、赌博平台或者专注于加密收藏而非游戏玩法的游戏(即 CryptoKitties)。

那么,DApp 究竟要如何开始留住大量用户呢?为了得到广泛的采用,它们需要与在集中式服务器上传统应用的可扩展性和响应性进行匹配。一些平台,如 Gods Unchained ,采用了混合方法在集中式服务器上进行游戏,并在区块链上使用了资产。

在集中式服务器上构建应用,与最初构建 DApp 的整个概念背道而驰。这就是为什么有很多富有吸引力的解决方案竞相推出第一代可扩展性 DApp 的原因。

有前景的解决方案

可扩展性解决方案形态各异,高矮不一,面向平台或与平台无关的解决方案尤为如此。许多聚焦可扩展性的面向平台的解决方案包括 EOS、Zilliqa 和 DFINITY。对于 DApp 而言,在应用程序特定级别上最受关注的可扩展性解决方案是第 2 层解决方案。这些创新包括状态通道(State Channels)和侧链技术(Sidechains)等。

最知名的状态通道是比特币的闪电网络(Lightning Network,LN: https://lightning.network/ ),这是一种让比特币(以价值为中心的支付解决方案网络)达到主流应用所需水平的极好方法。尽管状态通道能够促进链下双向数字支付,但其局限性包括巨大的通信开销,以及需要用智能合约特定语言进行编写。

此外,要实现任意状态机让 DApp 达到最优可扩展化状态,广义状态通道是必要条件。而这类状态通道目前仍然处于繁重的工程和理论开发阶段。

有前景的 DApp 可扩展性创新,最近成为 DApp 游戏的头条新闻。具体来说, Loom Network 对侧链的应用(他们称之为 Dappchains)确实有推出新一波 DApp 的潜力。Dappchains 有效地充当与以太坊挂钩的侧链,通过他们自己的 DPoS 共识来扩展到主流集中式应用的级别。这是一种特定于应用程序的侧链形式,值得人们继续关注。

以太坊的 Plasma(参见 http://u6.gg/e8eDY )实现也是一个链下侧链实现,侧重于连接到以太坊的主“根链”的“子链”,用于卸载计算和缓解网络拥塞。值得注意的是,这个阶段的 Plasma 只处理加密资产的安全传输,而非一般的状态变化。

最近,初创公司 Binary Mint( https://www.tenfoldprotocol.io/ )发布了 Tenfold 协议(参见 http://u6.gg/e8eSt ),就是一个令人信服的案例,说明了 DApp 的生产就绪可扩展性。Tenfold 协议主要由三个组成部分组成:状态注册表、验证器网络和流动性市场。

每个 DApp 都是一个单独的状态注册表,从根本上说,它们都是一个“代币组织的注册表”(Token-Curated Registry,TCR)(参见 http://u6.gg/e8eW6 )。有界与无界的定义还是有根据的。无界交易进行的是资产转移,如发送 ETH(以太币)。至于有界交易可能就是社交媒体的帖子、区块链游戏(如 Dragon Leveling)或者小额交易(micro-transaction)。

Tenfold 协议是通过使用加密经济安全模型处理链上的无界交易来实现安全性最大化,以及过渡到链下的有界交易来区分有界交易和无界交易。值得注意的是,这使得 Tenfold 协议的性能大幅提高,同时降低了 gas 成本,又可以实现语言无关性,并与 Plasma 相兼容,可供开发者立即使用。

结语

可扩展性 DApp 的竞争伴随着去中心化可扩展性方面的新技术,其发展历程引人入胜。更为复杂的面向平台的可扩展性解决方案,或特定于应用程序的创新是否会吸引下一代的 DApp 用户,让我们拭目以待!

原文链接: The Amazing Race For Scalable dApps

感谢杜小芳对本文的审校。

2018-09-23 09:431400
用户头像

发布了 375 篇内容, 共 189.2 次阅读, 收获喜欢 945 次。

关注

评论

发布
暂无评论
发现更多内容

JavaScript07 - 流程控制语句

Mr.Cactus

JavaScript

云游戏的那些事儿!读《大厂们的下一件大事儿》有感

李忠良

28天写作

开发质量提升系列:checklist投产检查列表(上)

罗小龙

代码质量 28天写作 checklist

批判性思维自修课(一)

石君

28天写作 批判性思维

JavaScript08 - 数组

Mr.Cactus

JavaScript

Java-可重入锁

hepingfly

Java 可重入锁

架构师训练营第四周作业 - 命题作业

阿德儿

Python 中 lru_cache 的使用和实现

zikcheng

Python 源码分析 LRU

微信直播也有跳舞小姐姐了 | 视频号28天(17)

赵新龙

28天写作

架构师训练营 4 期 第4周

引花眠

架构师训练营 4 期

时间复杂度与常见排列算法

Changing Lin

算法

线程的三种等待唤醒机制(面试必问)

hepingfly

Java 线程 等待唤醒

如何基于海思芯片快速搭建Agora RTC应用

Hanson

WebRTC

第九周作业

Binary

JVM 垃圾收集算法

看山

JVM 垃圾回收算法

【JS】Array.of() 创建数组

德育处主任

JavaScript 大前端 js ES6 28天写作

LeetCode题解:105. 从前序与中序遍历序列构造二叉树,Simple O(n) without map,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

产品 0 期 - 第一章作业

让时间说真话

产品经理

第二章作业

DF

JavaScript06 - 操作符

Mr.Cactus

JavaScript

GNUCash 2: 缺点

lidaobing

GNUCash 28天写作

吐血整理:推荐几款顶级好用的IDEA插件

Silently9527

Java intellij-idea idea插件

学习“利益相关者”后对自己工作的一点思考

隋泽

【CSS】页面顶部阴影

德育处主任

CSS 大前端 html/css CSS小技巧 28天写作

请用思维导图画出架构师训练营所有技术知识点

DL

产品经理训练营第二周作业-利益相关者

隋泽

产品经理训练营

大数据知识专栏 - 数据仓库

小马哥

大数据 hive 数据仓库 七日更

「架构师训练营 4 期」 第四周 - 002

凯迪

认识产品经理

ALone

【函数计算实践】一个应用案例

程序员架构进阶

阿里云 架构 项目实战 函数计算 28天写作

【JS】Array.from() 将伪数组转换成数组

德育处主任

JavaScript js ES6 array 28天写作

可扩展性DApp:极速前进!_语言 & 开发_Yoav Vilner_InfoQ精选文章