写点什么

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

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

关注

评论

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

「SQL数据分析系列」2. 创建和使用数据库

Databri_AI

数据库 语法

新手讲解this

前端树洞

JavaScript 面试 大前端 js

ES2021 带来的新特性

KooFE

JavaScript 6月日更 ES2021

从零开始搭建一个个人博客网站--Task0

IT蜗壳-Tango

django IT蜗壳教学 6月日更 Datawhale

五种服务部署升级策略,你也许会用的到

架构精进之路

6月日更 服务升级

《原则》(十三)

Changing Lin

6月日更

【Vue2.x 源码学习】第十三篇 - 生成 ast 语法树 - 正则说明

Brave

源码 vue2 6月日更

【21-6】PushGateway快速上手

耳东@Erdong

Prometheus 6月日更 PushGateway

架构实战营 - 模块 6- 作业

请弄脏我的身体

架构实战营

模块6作业

薛定谔的指南针

架构实战营

Kubernetes手记(10)- POD 存储卷

雪雷

k8s 6月日更

中国数字化转型为全球带来机遇

CECBC

☕【JVM技术探索】重塑虚拟机性能调优计划

码界西柚

JVM jvm调优 GC调优 6月日更

nacos配置中心模块详解

捉虫大师

nacos 配置中心

JavaScript学习(二)

空城机

JavaScript 大前端 6月日更

(VMware)ubuntu 环境下搭建docker环境

逸少

Docker Docker-compose vmware Ubuntu20.04

这可能是介绍Android UvcCamera最详细的文章了

小驰笔记

android 音视频 UvcCamera 引航计划

HarmonyOS的万里长征和万里长城

脑极体

Git 各指令的本质,真是通俗易懂啊

xcbeyond

6月日更

MySQL基础之十一:创建表

打工人!

MySQL 6月日更

🍃【SpringBoot技术专题】「StateMachine」FSM状态机设计及实现

码界西柚

springboot 6月日更 状态机 StateMachine

CSS 选择器总结

编程三昧

CSS html5 大前端 DIV+CSS CSS选择器

【经验分享】RTC 技术系列之视频编解码

Hanson

音视频

网络攻防学习笔记 Day44

穿过生命散发芬芳

网络攻防 6月日更

Single-Spa构建第一个微前端项目

devpoint

Vue 大前端 6月日更

【音视频】基于声网的多人视频通话功能建设

轻口味

android 音视频 IM 声网

算法之统计岛屿数量

Skysper

算法 深度优先搜索

架构实战营模块6作业

梦寐凯旋

#架构实战营

LeetCode 每日一题「判定字符是否唯一」

陈皮的JavaLib

Java 算法 LeetCode

架构实战营-模块一作业

rubys_

架构实战营

产品开发的过程

Qien Z.

运营管理 6月日更

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