抽象也可以从可扩展性入手。分片和 Layer 2 解决方案都存在同样的问题,即,在某些方面改变了应用的开发方式。例如,跨分片调用 [14] 或跨 Layer 2 交易在处理方式上可能与 Layer 1 上的合约调用完全不同。Layer 2 应用开发者还可能会在不同分层上遇到不同的智能合约模型(例如,Layer 1 采用的是账户模型,Layer 2 却采用 UTXO 模型,或者相反)。我们该如何屏蔽这些细节,为应用开发者提供无异于 Layer 1 的流畅开发体验?这个问题尚无定论,这是我们正在积极挑战的问题之一。 CKB 上的首个通道设计,Generic Payment Channel (GPC),就是遵循这个思路构建的。GPC 旨在为 Layer 1 上的 UDT (用户定义代币)提供一个「透明的」性能扩展层,以便任何 UDT 从一出生就可以被「通道化」,而无需 UDT 开发者做任何另外的事情。在 GPC 中,我们为 UDT 开发者抽象掉了支付通道协议的细节。Godwoken 和 Polyjuice 是我们的另一个尝试,这两个解决方案可以认为分别是 CKB 上的可扩展性和计算抽象。 互操作性 2.0每一个区块链抽象层级都会给我们带来新的东西,我们在之前的抽象层级上从未见过的东西。第一次区块链抽象为我们带来了通用可编程性和互相连接的去中心化应用。下一次区块链抽象将为我们带来什么? 互操作性 2.0 (我在 2020 年万向区块链大会上首次提到这个概念)必将是新抽象层级孕育的果实之一。我们对数字经济未来的设想是,公有链、许可链和中心化系统都将并存。有了互操作性,我们就可以在彼此独立的系统之间转移资产并调用智能合约。近年来,人们已经进行 [15] 了很多关于互操作性 [16] 的研究 [17] 和尝试 [18] ,并且相信该问题可以通过一系列互操作基础原语解决,例如多签公证、中继和哈希锁定。 虽然区块链互操作性目前在技术上是可行的,但是与具备无缝互操作性的数字经济之间还存在缺失环节。 第一,目前的互操作性尝试只会导致更加严重的网络分裂。Polkadot[19] 和 Cosmos[20] 等项目都定义了自己的标准,并试图围绕自己的「交换链(Hub)」建立一个多链网络。此外还有努力搭建直接桥梁的项目,例如实现比特币和以太坊之间的直接跨链。我们很难想象,这些独立网络的核心团队和社区有朝一日能够坐下来共同商定出一个所有人都遵守的互操作性标准。 第二,更重要的是,即使这些区块链网络之间具备完美的技术互操作性,用户依然会被糟糕的互操作体验劝退。从用户的角度来看,如果我是一名比特币用户,想要将我的比特币转移到以太坊上参与 DeFi 应用,我必须先运行我的比特币钱包,发起一笔跨链交易,然后使用另外一个以太坊钱包。为了完成一次跨链操作,我必须安装两个钱包应用,保管两组助记词,使用两个地址。这个过程本身非常复杂,而且仅适用于两条区块链的情况。如果用户想要与更多区块链交互,必须管理更多助记词 / 地址 / 密钥对。用户体验问题不仅阻碍了 dApp 的广泛落地,还破坏了去中心化——区块链的核心价值——因为用户不得不且一定会选择中心化服务来避免所有这些麻烦。 (责任编辑:admin) |