去中心化应用程序的技术堆栈Dash Platform介绍
扫描二维码
随时随地手机看文章
在达世币欧洲会议上,有关团队曾做过主题为Dash Platform的演示并得到了反馈。对此,我们希望能通过这篇文章来分享另行推出Platform Chain的理由。
平台概述
在初始阶段,我们将提供:
· 驱动器,包括面向文档的数据库,用于存储和查询元数据;
· 身份,即用户、应用程序和其它实体的唯一身份认证;
· Dash Platform名称服务,含去中心化和升级版的DNS;
· 去中心化的应用程序,即与平台通信的去中心化HTTP API。
将来,我们将引入用户与应用程序之间的通信协议、付款申请、驱动数据的访问规则等等。不过,我们还没有完成有关未来服务的列表的最终定义。
为了托管和运营上述服务,Dash Platform仅在主节点网络上运行。与使用整个达世币网络相比,这是一个更具可扩展性的服务方案。这是因为主节点自带奖励机制,能保障高质量的服务。为了处理和存储全球平台数据集Platform State,Dash Platform需要一个拜占庭容错共识协议。这一公式协议确保仲裁链(即主节点中的子集)能以无需信任的方式验证和处理数据。
举个例子,假设我们拥有一个Dash Platform应用程序,例如memo.dash、去中心化的推特克隆或https://memo.cash的达世币模拟程序。那么,为了创建新的备忘录并更新应用程序的状态(即Platform State的子集),我们就需要借助去中心化应用程序接口并根据该备忘录创建状态切换,然后再将其发送至平台。平台则处理状态切换并更新应用程序状态。一旦完成,该平台将完成如下操作:
· 在主节点仲裁链上公告状态切换;
· 根据平台共识规则使用仲裁链验证;
· 将相关数据记录在区块链上;
· 在状态切换完成时(并在区块链上确认后)更新Platform State。
就如何以最佳方式记录和完成状态切换的问题而言,我们提出了两个潜在的解决方案:一是使用现有的区块链,二是为平台引入新的区块链。
不同方案的比较
在利用现有区块链的情况下,我们会面临如下问题:
1. 效率低下的资源利用
由于状态切换仅在主节点上进行,因此,使用现有的区块链意味着额外占用磁盘空间并增加整个网络的网络负载。这是因为我们需要矿工完成处理并将状态切换更新到区块链上。这意味着这些区块将在整个网络中传播并存储在所有的全节点上。
2. 状态切换费用不明或增加
在涉及矿工的情况下,负责处理和存储数据的主节点和矿工都将收取状态切换的相关费用。由于现有区块链的费用可能会因交易规模和区块容量等因素而不同,因此此类费用充满了不确定性。对于希望采用Dash Platform的企业和开发人员而言,他们更青睐费用明确的服务方案,以便做出预算和规划。
3. 轻型客户端的低效率的数据验证
诸如SPV等轻型客户端的平台数据验证将变得复杂且低效。仅以memo.dash.为例,如果这个客户端要想验证备忘录存在于Platform State上且没有遭到恶意篡改,那么用户就必须下载每份备忘录的区块头、可信树证明与状态切换。
4. 因区块确认时长而造成的糟糕的用户体验
2.5分钟的区块间隔时间对用户来说是不可接受的。假设用户创建了一个备忘录,那么他们将需要等待几分钟才能看到它出现在应用程序中。期间的等待是为了在区块链上确认状态切换。尽管我们可以通过类似即时发送功能的过程锁定状态切换,但却不能保证矿工会将其放入下一个区块(或任何特定的区块)当中。
5.现有的区块链变得更复杂且面临更高的风险
在现有的区块链中引入状态切换和平台的其它功能后,区块链将进一步复杂化,而系统的最关键的性能——支付功能出错或遭攻击的风险也会提高。
而如果我们采用另一个解决方案,为Dash Platform引入新的区块链,我们将解决上述问题。
1. 高效的资源利用
在主节点网络上另外运行Platform Chain将减少网络的整体负载和现有区块链的规模。
2.低廉且明确的状态切换费用
在不涉及矿工的情况下,仅需向主节点支付状态切换费用。这减少了使用Dash Platform所需的成本并简化了计算过程。换言之,状态切换的费用仅取决于数据大小和数据处理操作的复杂性。由于成本是预先设定的,企业和开发人员可以在将相关费用发送到去中心化应用程序接口之前进行准确的计算。
3.轻型客户端的便捷的数据验证
为了便于轻型客户端验证数据,我们将Platform State存储为可信树森林(即多层得可信树的平方),并将可信树根保存在区块标题中。回到我们之前的示例,如果要验证memo.dash中的任何备注,用户只需要获得可信树证明和仲裁链签名的最后一个区块头即可。这种以状态为中心的方法使轻型客户端的验证比传统的SPV还要简单。此外,开设新的区块链还降低了区块的重要性,这意味着我们无需担心区块链数据碎片,而只需保留最新的区块。
4.更快捷的状态切换和更好的用户体验
在另行运行区块链的同时,我们将执行符合平台要求的共识协议。尽管不再使用工作量证明,我们依然可以依靠自带奖励机制的主节点并建立以服务量证明为基础的共识机制。如果主节点不提供服务或行为不当,那么它们将会受到相应的惩罚。因此,利用主节点仲裁进行区块提议和验证有助于将区块间隔降低至几秒钟并确保绝对的确定性。因为无需处理区块链重组的问题,因此这将简化Platform State和Drive。
5.降低核心功能所面临的风险
另行引入新的区块链意味着Dash Platform会与当前的达世币功能分离开来,而新的区块链将成为第二个层级。由于新的区块链不会影响到现有的区块链,因此,即便Dash Platform出现什么问题,它也不会影响到现有的区块链及其支付功能。
结论
最终,我们决定引入新的区块链,从而实现提供最佳用户体现的目标。这一操作不仅让Dash Platform的应用无异于非加密数字货币应用程序,同时也保留了区块链的安全优势。Platform Chain的出现是为了实现优化版用户体验所需的交易速度并支持系统的网络及存储的扩容性。 Dash Platform与现有区块链的独立运行还将简化达世币生态体系的架构。综合来看,多重优势使得引入新的区块链成为了显而易见的最佳选择。