Web3 系统构建:去中心化的原则、模型和方法(下)

简介: 在上篇 Web3 系统构建:去中心化的原则、模型和方法(上)中,作者着重讲述了 Web3 系统设计面临的挑战以及如何使用 Web3 系统的组件实现去中心化。下篇将分析几种去中心化模式的实践。

去中心化模式的实践

现在让我们看看前面分享的“技术-经济-法律”框架是如何在实践中应用到几种不同的去中心化模型的。这些模型涵盖从“完全的”去中心化(系统的每个组件都是去中心化的)到“开放的”去中心化(独立的第三方都参与到一个共享的去中心化系统中)。我还加上了开放去中心化的特定应用模型,如 NFTs 项目和代币化协议。

完全去中心化:DeFi 如何去中心化及其它简单应用

目前,DeFi 领域最常见的模式是完全去中心化。如下图所示,从中心化模型(如 Web2)到去中心化模型(如 Web3)的转变包括:

将开源智能合约协议部署到去中心化和可编程的区块链网络,形成 Web3 系统的核心基础设施层——智能合约协议为可以部署在链上的所有后端组件提供了一个执行层(例如支付、消息传递等)。

以去中心化的方式运行“客户端”层——客户端代表链下运行的所有系统软件,并充当智能合约协议的门户(客户端可以是简单的前端网站,也可以是复杂的应用程序)。

增加数字资产分配——这可能包括对贡献者和消费者的空投、向内部人士(开发公司的员工、顾问和股东)发行、将数字资产分配纳入到明确的激励计划(如 DeFi 中的流动性挖掘),以及成立一个由 DAO 控制的财库,用于将来进行激励。

启动智能合约协议和 DAO 财库的 DAO 治理。

确保用户拥有并保留自己的数据(目前在 Web2 系统中存在巨大的争议)。

image.png

这是完整的去中心化模型,假设 Web3 系统是一种部署到现有可编程区块链网络的新型智能合约协议。这里的“用户”即指消费者,也指贡献者。

对于使用此模型的 Web3 系统,区块链网络和智能合约协议带来技术的去中心化,通过 DAO 的形式启动去中心化治理。从创建系统的开发公司那里获得对智能合约协议的控制权,再将智能合约协议部署到公共区块链并启动其 DAO,提高了系统的透明度和更高的安全保障。这也意味着没有个体或团体能控制系统。

客户端层的去中心化有几种不同的方式,在 DeFi 中,大多数客户端只是简单的前端网站,为底层智能合约协议提供网关(即它们允许用户与协议交互),大多数开发公司将其客户端/网站开源,并将其托管在分布式的文件系统(如 IPFS)。

随着客户端/网站的开源,独立于开发公司的第三方通常也会托管自己的客户端/网站,提供对相同底层协议的访问。此外,独立的第三方经常将协议网关构建到自己的聚合器和仪表板中。这意味着不论是否维护开发公司的客户端/网站。到协议的网关始终可用。

上述措施主要消除了信息不对称的可能性,而信息不对称正是美国证券法制定的动力,因为有关协议及其操作的信息在公共区块链账上是透明的,并且启动该协议的开发公司不再对此类协议的成败至关重要。

由于区块链和智能合约层是可操作、不受任何团体或实体控制,系统冗余且不再依赖于开发公司。DeFi 原型在这方面就是一个很好的例子,它几乎不需要进行开发就可以继续为用户提供实用程序。因此,即使没有运转良好的去中心化经济,实行这种去中心化模式的协议也可以被认为是合法的去中心化。

完全去中心化的局限性

尽管完全去中心化模型已经成功地在 DeFi 中应用,但它的简单性可能不适用于更复杂的 Web3 系统。构建者应该意识到以会带来复杂性的因素,并对其进行规划:

复杂的客户。由于相对简单,DeFi 客户端的去中心化在某种程度上比较直接——不需要太多的激励措施就能让第三方为这些协议建立独立且简单的网关(主要以网站的形式)。然而,随着 Web3 产品和服务越来越复杂,计算成本高/资源密集型的客户端层建立在底层智能合约协议之上,客户端的去中心化变得更加复杂。例如,提供访问Uniswap和Compound协议的客户端/网站的复杂性,与设想中 Web3 社交媒体的客户端相比,后者需要具备像 Twitter 和 Instagram 这样 Web2 应用程序的全部功能,这种复杂性可能会减少愿意构建或托管替代客户端的第三方,或者在没有明确激励的情况下还愿意在自己的系统内集成对协议层访问的第三方。

必要的重大改造。在后数字资产发布阶段需要进行重大改进的系统,可能很难以区中心化的方式进行。例如,在 DeFi 中,许多协议一直努力在用明确的代币激励来推动其智能合约协议的持续开发。

进行的运营活动。开发公司可能打算在数字资产发布后进行重大的运营活动,以提高其 Web3 系统的价值。但如果额外的价值贡献并不来自于独立的第三方,可能会削弱系统的去中心化。此外,由于治理代币通常不会授予开发公司未来提供产品和服务的任何权利,因此开发公司应该注意不要给代币持有者留下任何存在此类关系的印象。

保留专有权。如果最初的开发公司(或其它公司)保留了系统中使用的任何知识产权的专有权,则都可能会削弱系统的完全去中心化。例如,如果 Web3 社交媒体复杂客户端的开发人员想要保持这些客户端的所有权,那么完全去中心化是不可能实现的。

这些限制都可以通过 Web3 系统克服,系统能够显著刺激经济的去中心化,从而创造运转良好的去中心化经济。如果一个去中心化系统中的开发人员、贡献者和消费者构建并获得了显著的价值,稀释了原始开发人员对整个系统的重要性,那么它就从一个完全去中心化的模型转变为一个开放的去中心化模型。

开放去中心化:去中心化复杂的 Web3 应用程序

与完全去中心化模型一样,开放去中心化模型包括去中心化的区块链和智能合约协议层、数字资产和 DAO。但与完全去中心化模型不同的是,开放去中心化模型也会有独立的开发人员在一个共享的智能合约协议层之上构建和运营多个客户端(可能是中心化的)。

例如,Web3 社交媒体丰富但复杂的客户端,有类似于 Twitter 和 Instagram 等 Web2 应用程序的功能,但使用的是共享的智能合约协议,而不是单独的专有后端系统。
image.png

该模型假设 Web3 系统是一种部署到现有可编程区块链网络的新型智能合约协议,这里的“用户”既指的是消费者,也指贡献者。

在开放去中心化模型中,所有客户将使用底层智能合约协议的数字资产,他们的创建和运营将受到以下激励:

初始激励:可以通过显性和隐性的激励机制鼓励初始开发,包括从 DAO 控制的智能合约协议财库中授予数字资产、协议网络效应。事实上,这些开发商可以保留各自客户的知识产权。

持续激励:持续的维护和开发也可以得到类似激励,即基于 DAO 建立绩效指标,自动授予数字资产的激励。DeFi 中的流动性协议(流动性协议)就是一个例子,它奖励那么提供协议访问的独立前端网站的主机,奖励与此类前端网站驱动相关的经济活动。在更复杂的 Web3 系统中,我们预计这种奖励的普及率将会显著增加。例如,在去中心化的社交媒体生态系统中,可以通过代币来衡量和奖励用户参与。最后,除了协议的激励措施之外,运营商还将受到由于自己专有客户产生经济回报而带来的奖励。

开放去中心化模型的 Web3 系统构建者,设计的激励机制和去中心化治理模型需要“与客户无关”,以此鼓励更多的参与者加入。此外,他们还需要确保不会出现重大的权力失衡,导致单个客户可以主导整个生态系统。如果这种不平衡可以轻易发生,那么这些客户端的构建者可能会对 Web3 系统产生不好的看法,并且不愿意再投入时间和资源。在某些方面,这样的系统会存在类似于 Web2 系统中心化控制的问题。

使用开放去中心化模型的构建者还应该优先考虑透明度、开源技术、数据可移植性和可组合性,以便进一步降低权力集中在开发人员手中的风险。这些特性消除了信息不对称,降低了竞争开发者的进入壁垒,允许用户在客户端之间切换——所有这些都形成了一个更加开放和去中心化的生态系统,用户不会受任何一个客户端的限制。(在当前 Web2 系统中的一个巨大的障碍就是用户数据被隔离在每个孤立的系统中。)

最后,为了使系统的去中心化经济具有真正的弹性,整个 Web3 系统的成败不应该依赖于任何个人或团体,包括任何客户。如果 Web3 系统同时满足上述经济去中心化条件,那么该系统出现重大信息不对称的风险就会显著降低,从而使其合法地去中心化。

对于构建者来说,一开始优先考虑上述设计决策可能是反直觉的,因为这些决策有效地刺激了与自己的竞争,但这样做将有助于形成一个建立在共享基础设施上运转良好的去中心化经济,这是一个比任何公司单独建立都更广阔、更丰富的生态系统。

换句话说,这些行动会让整个蛋糕变大,而不是优先考虑其中的一部分。

Web2 的 Web3 版本

要了解这些原则如何在实践中发挥作用,可以应用开放去中心化模型来创建熟悉的 Web2 应用程序的简化 Web3 版本。Web3 的前景不仅仅是将已知的特性和应用程序去中介化,还使全新的事物成为可能。但为了便于说明,我将重点介绍一些简单的例子。

Web3 游戏可能包含多个游戏的系统,实现共享的智能合约协议和治理代币,拥有独立的游戏货币和 NFTs,让玩家和贡献者都能获得数字资产,这些资产也可以在整个生态系统中进行转移。使用最多的游戏可以获得系统 DAO 分配的最大比例的治理代币,从而引导游戏创造者们反过来资助自己游戏的额外开发。

Web3 社交媒体可能需要一个多次迭代的社交媒体服务和消息服务系统,每个迭代都作为一个独立客户端构建在相同的开源智能合约协议上。由于协议将共享原生治理代币,消费者将根据使用情况获得代币,贡献者将根据他们创建的内容获得代币,客户则将根据 DAO 建立的各种指标获得代币。

Web3 市场可能需要一个系统,其中一组智能合约和客户的集合来协调服务提供商,以及促进他们与客户的交互和安排。然后,开发人员可以构建这些客户端的白标签版本,使提供商能够作出许多不同级别的定制服务或产品。客户和服务提供者都将根据他们对系统的贡献获得相同的治理代币。越来越多的例子表明,Web3 企业已经在使用代币经济学来创造和获取长期价值。

最终,由该模型中的区块链网络和智能合约协议组成的开放基础设施,为构建在其之上的各种专业产品和服务提供了丰富的环境。通过利用这种共享基础设施,构建者可以构建 Web3 产品和服务,而成本是从零构建中心化 Web2 应用程序的一小部分。

渐近式开放去中心化

在开放去中心化模式中,经济去中心化与法律去中心化的相互作用往往会导致“先有鸡还是先有蛋”的悖论:真正的经济去中心化可能需要使用数字资产(即法律去中心化),但数字资产的使用需要经济上的去中心化,同时也需要法律上的去中心化。这个问题在开放去中心化模型中尤其尖锐,它需要运转良好的去中心化经济(与使用完全去中心化模式的 DeFi 协议相比,后者不一定需要经济去中心化)。

虽然从技术和实践的角度来看有许多方法可以解决这个问题,但 Web3 系统可以采用渐进式去中心化过程,并在实现完全去中心化之前对数字资产的分布采取预防措施,包括在系统完全去中心化之前,限制可转让性以及在美国的发行和上市。

开放去中心化:用 IP 和第三方资源的去中心化项目

另外值得进一步探索的开放去中心化模式迭代方式是,让第三方向 Web3 系统贡献资源,这样可以让他们的产品和服务都使用系统客户端。

这种可以采取知识产权许可的形式(如视频游戏引擎、数据资产、市场等),同时,生态系统中的一系列服务(包括监管合规、营销和业务开发),任何人都可以使用或者整合到自己的客户端中。以下模型反映了 Web3 系统贡献的知识产权:

image.png

专业知识产权的引入似乎会将系统的一些去中心化经济恢复到所有者控制的 Web2 经济,尤其是在开发人员/运营商不愿意让自己的产品和服务受制于知识产权所有者。

不过,可以通过许可证的合同条款(通过不可撤销/永久期限、修改/改进的权利等)来减少这类风险。在这方面,哪些服务和知识产权需要持续维护以及这些服务和维护(如果有的话)是否可以由独立的第三方提供,需要着重考虑。因为严重依赖知识产权的单一第三方所有者,可能会削弱该系统的整体经济去中心化。

最终,如果 Web3 系统条款构建正确,它的去中心化经济将保持不变。例如,Web3 系统的客户端使用广泛可用的 API(应用程序编程接口),不会削弱整体去中心化,反而可能会增强。

从法律去中心化的角度来看,需要考虑的关键问题是:知识产权提供者的基本管理工作对于推动 Web3 系统是否有必要?是否有可能出现重大的信息不对称?

即使知识产权对系统的成功至关重要,但如果知识产权所有者任何时候都不能撤销,那这两个问题的答案都可能是否定的,从而支持该系统的法律去中心化。如果知识产权的所有者在对知识产权进行任何重大更改之前必须获得 DAO 的批准,也会产生类似结果。

这个概念可以扩展到知识产权之外的其它资源,这些资源也可能被贡献或授权给 Web3 系统。例如,如果第三方监管合规服务允许 DeFi 协议确认其用户是经过验证的美国人,则此类服务不应破坏 Web3 系统的去中心化。类似地,可以想象第三方为协议提供营销和业务开发相关的服务——独立于单个客户企业的活动。

虽然引入第三方资源可能在多个方面损害系统的去中心化,但这类风险(如上所述)通常可以通过架构和合同机制得以减轻。

开放去中心化:去中心化 NFT 项目

NFT(Non-fungible Token)项目及社区是一种新兴且日益流行的 Web3 系统类型,这为讨论开放去中心化的其它概念提供了很好的契机。

首先,理解为什么大多数艺术的 NFT 可以被排除在美国证券法之外是很重要的。实际上,这是因为它们没有通过豪威测试的第四项:NFT 的价值在很大程度上是内在的,而不是来自其他人的管理成效。但随着 NFT 项目变得越来越复杂,豪威分析变得不那么简单了,现在的 NFT 项目通常涉及额外的内容创造/NFT 投放、在视频游戏中实施 NFT、社区驱动的产品开发以及其它活动,而所有这些都可能增加 NFT 持有者对其他人管理工作的依赖。

因此,NFT 项目应该考虑将去中心化原则融入到 Web3 系统中。那么,NFT 项目的去中心化模型是什么样的呢?下图就是一个例子,它反映了:

(1)在区块链上生成的由不同用户持有的 NFT 集合;

(2)在 NFT 社区做出贡献的知识产权,最有可能与 NFT 本身(持有者可以向社区“质押”)和社区创建的任何知识有关;

(3)数字资产分配与激励机制;

(4)针对社区知识产权和 DAO 库开展 DAO 治理;

(5)衍生项目的启动;

(6)举办社交聚会和活动。

image.png

在这种模式下,NFT 项目的经济去中心化可以通过以下几个步骤来实现:

首先,DAO 可以将初始资源用于社区参与(如 Twitter、Discord 等),并资助社交聚会和其它活动,以此来提高社区的隐性激励(即受欢迎的程度)。

其次,这些隐性激励连同显性激励(如可替换代币奖励、获得 NFT 销售等),可以用来激励社区利用知识产权创建衍生项目。开发人员会因为参与这样的项目获得奖励,消费者也会因为使用这些项目而获得奖励。例如,DAO 可以聘请第三方开发者使用社区的角色创建一个可玩可赚钱的游戏,游戏中的代币经济以社区原生数字资产为特色。在这方面,衍生项目的行为与早期开放去中心化模型中描述的客户类似,使整个系统减少对任何单一来源依赖,为 NFT 持有者带来价值,这有助于限制出现重大信息不对称的风险。

最后,NFT 项目可以使用的另一个重要工具是对 DAO 产生的 NFT 二次销售特许权使用费,这可以促进其经济去中心化。当衍生项目可能无法为系统产生足够回报时,这些使用费将为 DAO 提供分散的收入流。

最终,衍生项目和二次销售给生态系统带来的价值相结合,为 NFT 项目创造了一个健康的去中心化经济。

从法律去中心化的角度来看,关键问题将再次是:对于 Web3 系统的成败,第三方的基本管理工作是否为必要因素?是否有可能出现重大的信息不对称?这两个问题的答案取决于上面讨论过的许多相同的考虑。

但在这种情况下,NFT 场景中的知识产权可能会对社区的全面去中心化起到贡献而不是阻碍作用。为什么?因为知识产权是从去中心化的来源(NFT 持有者)贡献给 DAO 的。此外,如果 DAO 可以控制代币的分发、额外的 NFT 铸造、去中心化的知识产权,以及去中心化的收入流(来自特许权使用费或衍生项目),该系统就不太可能出现重大的信息不对称。

大多数 NFT 项目仍处于初期阶段,所以我们还没有看到很多关于 NFT 项目开展去中心化代币经济的案例。但我们希望看到各种各样的机制,同时许多从其它 Web3 系统中学习到的经验也可以整合到 NFT 项目中。

开放去中心化:去中心化代币化协议

代币化协议是另一种新兴的 Web3 系统。在这些系统中,资产被置于区块链中,通过智能合约协议代币化后进行出售等。代币化协议的类型包括序列 NFT 铸造项目、数字资产市场和代币化现实世界资产协议。

下面的开放去中心化模式反映了:

通过共享的智能合约协议,将多个供应商的资产上链;

智能合约协议将这些资产代币化;

通过多个客户出售或使用此类代币化资产;

原生数字资产分配与激励机制;

启动有关社区知识产权和 DAO 库的 DAO 治理。

image.png

在这个模型中,经济去中心化是通过充分的多样化输入(资产提供者)和输出(资产收购者),以及代币化资产流动经过层(区块链、智能合约和客户)的去中心化来实现的。

该协议的 DAO 也可以使用显性激励(可替代代币奖励、无佣金/费用等):

激励资产提供者向系统提供资产;

激励客户在代币化资产中做市;

激励收购方收购或消费资产。

虽然开发公司最初可能扮演了重要的角色(资产提供者、客户运营商、资产收购方),但一旦系统被去中心化,开发公司最终将只是众多给定角色中的参与者之一。这将减少因其产生的任何重大信息不对称风险,并减少对其管理工作的依赖。此外,DAO 和 subDAO 可以承担许多角色。

随着时间的推移,也可以通过显性激励措施来弥补供应或需求方面的潜在不足。例如,在去中心化的市场中,可以增加对卖家(供应方)的激励,促进其将更多商品带到平台上销售;也可以增加对买家(需求方)的激励,来鼓励更多的购买行为。

从法律去中心化的角度来看,关键问题再次是:对于 Web3 系统的成败,第三方的基本管理工作是否是必要因素?是否可能出现重大的信息不对称?这两个问题的答案取决于 DAO 是否能够像上面的例子那样有效地管理供需平衡的激励机制。但往大了说,它实际上是为了防止任何单一资产提供者、资产收购方或客户变得过于重要,以致整个系统的成功依赖于任何一个实体的努力。

有关其它模型和用例,以及与上述模型相关的更多细节,请参阅全文。

结论

目前,Web3 系统在启动、管理和扩展去中心化方面面临着许多挑战。即使监管要求可能发生变化,但将去中心化框架作为一个囊括三个因素(技术、经济和法律)的单一设计面临挑战,我们应该提供一个强有力的参考指南,帮助构建者在使用 Web3 系统的新组件时克服这些挑战。

如果不能兼顾这三个因素,我们将被引向一个与区块链技术和加密货币所能实现的未来相距甚远

的 Web3,没有人想基于新技术构建的“Web3”,而在其它方面与 Web2 没什么区别。相反,通过精心设计去中心化的系统,建设者可以创建数字基础设施,为去中心化经济注入活力,这将构成未来几十年互联网的基础。现在是时候建立这样的互联网和未来了。

特别感谢 Chris Dixon、Sriram Krishnan、Sonal Chokshi、Eddy Lazzarin、David Kerr 和 Adam Zuckerman 的贡献和见解,以及更全面的版本中引用的所有作者们。

作者介绍

Miles Jennings是 a16z crypto 的总法律顾问,他还与 Web3 初创公司和 DAO 合作,负责去中心化运营、协议设计和监管事宜。他之前是瑞生国际律师事务所(Latham & Watkins)的合伙人。

目录
相关文章
|
12天前
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
25 6
|
14天前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
如何构建一个优秀的高性能、高可靠的应用系统对每一个开发者至关重要
22 2
|
18天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
32 2
|
19天前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
|
22天前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
20天前
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
21天前
|
缓存 安全 前端开发
构建高效Web应用的五大关键技术
【10月更文挑战第42天】在数字化浪潮中,Web应用已成为企业与用户互动的重要桥梁。本文将深入探讨提升Web应用性能和用户体验的五项核心技术,包括前端优化、后端架构设计、数据库管理、安全性增强以及API开发的最佳实践。通过这些技术的应用,开发者可以构建出更快、更稳定且更安全的Web应用,满足现代网络环境的需求。
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
146 3
|
1月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
153 45
|
7天前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南