写点什么

可扩展性 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:431730
用户头像

发布了 376 篇内容, 共 202.5 次阅读, 收获喜欢 949 次。

关注

评论

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

大牛耗时一年:深入探索-Android-包体积优化,共三万字建议收藏上

android 程序员 移动开发

好不容易撑过了腾讯三面!却因为虚报工资被刷了,挥泪整理面经

android 程序员 移动开发

如何有效地刷算法题?,武汉软通动力android面试

android 程序员 移动开发

如何缩减接近 50% 的 Flutter 包体积,android开发计算器课程设计

android 程序员 移动开发

头条Android 岗年薪45W+面经分享(技术 6面,Android开发者值得深入思考的几个问题

android 程序员 移动开发

如何用10行代码让app全局置灰,扫地阿姨看完都学会了

android 程序员 移动开发

字节Android岗面试:Handler中有Loop死循环,为什么没有阻塞主线程

android 程序员 移动开发

如何实现一个 System Services?,超详细

android 程序员 移动开发

如果你使用Jetpack中还没踩过这些坑,请务必收下这篇文章(1)

android 程序员 移动开发

如果你打算跳槽BAT这样的大厂,不妨看看这篇文章,android蓝牙串口收发

android 程序员 移动开发

大牛耗时一年:深入探索-Android-包体积优化,共三万字建议收藏上(1)

android 程序员 移动开发

天高任鸟飞,在你还苦闷Android出路时,总有人在系统钻研为高级开发做准备

android 程序员 移动开发

如何在-Android-中完成一个-APT-项目的开发?,android文件下载实战

android 程序员 移动开发

如何评价-Google-的-Fuchsia、Android、iOS-跨平台应用框架-Flutter

android 程序员 移动开发

如果你使用Jetpack中还没踩过这些坑,请务必收下这篇文章

android 程序员 移动开发

大神一招搞定:ReentrantReadWriteLock-几道小小数学题就够了。

android 程序员 移动开发

太卷了!程序员面试前刷面经“神似,2021最新Android大厂面试真题大全

android 程序员 移动开发

太强了吧,这居然是19年双非本科开发一年的Android面经总结!开发几年的老程序员自叹不如

android 程序员 移动开发

如何在复杂业务场景中优雅实现Android指纹验证?,rust移动端跨平台开发

android 程序员 移动开发

如果你在中小厂,这些你一定要搞懂,分享一些行业经验

android 程序员 移动开发

妈蛋!HR你搞我,我的缺点就是身体不好不能加班,安卓面试题及答案2020百度

android 程序员 移动开发

如何看待:程序员(研究生学历,kotlin协程切换线程

android 程序员 移动开发

如何通俗理解设计模式及其思想_,Android自学资料

android 程序员 移动开发

如何高效、快速学习Flutter?如何避坑,膜拜大牛

android 程序员 移动开发

如果你不是天才,那么你一定要看看这篇—,android开发书籍推荐

android 程序员 移动开发

如何让你的回调更具Kotlin风味,基于h5框架的移动app开发

android 程序员 移动开发

如何高效、快速学习Flutter?如何避坑(1),安卓消息分发机制

android 程序员 移动开发

[ CloudWeGo 微服务实践 - 番外 ] Go 代码静态检查

baiyutang

golang 11月日更

太难为我这个应届生了,腾讯面试了8轮,终拿下腾讯Android测发岗offer

android 程序员 移动开发

好文推荐:RxHttp-完美适配Android-10-11-上传-下载-进度监听

android 程序员 移动开发

如何让你的app在后台被干掉后优雅的启动,flutter调用原生sdk

android 程序员 移动开发

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