安全代币自助发行的想法和改进设想(第二部分)

这是本系列文章的第二部分,也是最后一部分,将对安全代币自助发行平台的概念进行解释。在第一部分中,我们探讨了安全代币自助发行的一些挑战。今天,我想讨论一个潜在的解决方案,该解决方案在平衡技术可行性的同时,不受当前一组安全代币自助发行工具的任何基本限制。

构建能够简化安全代币发布工具的想法似乎非常有吸引力,尤其是考虑到当前发布模型的复杂性。然而,在技术市场的早期阶段就应该预料到复杂性,如果试图过快地抽象它们,就会产生与现实世界场景不相关的工具,或者人们不太礼貌地称之为无用的工具。我认为当前的自助服务安全代币发布工具就是这种情况。在第一部分中,我强调了与当前自助服务代币发行方法相违背的三个主要因素:

安全代币自助发行的想法和改进设想(第二部分)

第一篇文章的整个分析可以总结为一个简单的观点,即使用当今的技术,代币自助发行不仅不实用,而且不可能。我非常确定,使用UI进行几次单击就抽象出复杂的金融工具是不可能的,但是,即使这是可能的,我们也没有安全代币基础设施来创建任何相关的抽象性表现。
安全代币的抽象漏洞定理
想到安全代币自助发行工具,我想起了现代软件开发中一个非常流行的概念: 抽象漏洞定理。这个概念最初由Joel Spolsky在2002年的一篇题为“泄漏抽象的定律”的博客文章中提出,它表达了这样一种思想,   即有效的抽象应该“泄漏”它下面一层的细节。“漏洞”允许抽象适应需要深入实际实现的场景。在安全代币的场景下,抽象漏洞的概念是与之非常相关的。想象一个更高层次的结构,它支持安全代币智能合约的抽象,同时仍然“漏洞”足够多的底层协议细节,开发人员可以修改这些细节。现在我们只需要找出正确的抽象即可。
安全代币半自助发行的解决方案
解决安全代币中自助发布的挑战不仅仅是找到正确的抽象结构。在我看来,为安全代币发布启用更简单的半自服务模型可以基于两个主要元素:
a)创建一组加密金融协议,抽象安全代币的基本动态。
b)创建一种特定于域的语言,该语言可以基于底层协议对安全代币进行声明式建模。
把这两个概念放在一起,我们得到如下图:

安全代币自助发行的想法和改进设想(第二部分)

最终,安全代币是基于现金流和投票权金融动态的可编程表示。其中一些动态概念是股权、债务、可转换债券、衍生品和许多其他变化的东西。实现以可组合智能合约的形式抽象协议是实现任何抽象级别的自助服务的第一步。
用于安全代币的DSL
安全代币发行的根本挑战在于,要一次又一次地构建具有非常基本的可重用性级别的智能合约,然而这需要大量的时间。虽然试图将安全代币简化为几个if-then-else规则似乎有些极端,但在不久的将来,可能会有一些中间抽象模型是可行的。从抽象安全代币结构的所有思想中,我对创建更高级别领域特定语言(DSL)的概念特别感兴趣。从概念上讲,DSL是一种专门针对特定应用程序领域的计算机语言。这与通用语言(general-purpose language, GPL)形成了对比,后者广泛适用于各个领域。DSL的概念在计算机科学中一直存在,但直到最近才得到了一定程度的普及,尤其是在像emartin Fowler这样的软件开发传奇的推动下。
将DSL的思想应用于安全代币,我们可以设想一种声明性(可能基于JSON)语言,它表示安全代币背后的合约。DSL将使用抽象漏洞模型引用底层智能合约协议。
安全代币DSL的概念除了代币合约的抽象之外还有许多实际的好处。通过使用高级语言抽象密码安全的表示形式,安全代币可以使用此模型启用一些有趣的功能:
· 快速创作:虽然用于安全代币的DSL不一定是一种自助服务机制,但它可能更有效地简化加密货币安全智能合约的创作和版本控制。一种依赖于众所周知的声明性结构(如JSON)和对底层智能合约引用的机制似乎是这种方法的最佳组合。
· 元数据管理: 今天,附加任何与特定安全代币相关的元数据都非常困难。然而,拥有基于DSL的声明结构为包含元数据元素提供了一个无缝的工具,这些元数据元素可用于更好地理解底层智能合约。
· 搜索: 声明式DSL结构补充了前面的观点,它将促进使用主流搜索技术搜索和发现安全代币智能合约。随着安全代币数量的增加,搜索和发现将成为生态系统更相关的功能。
· 链上脱链编程模型: 安全代币智能合约通常涉及链上动态和链外数据或动作的组合。后一种机制通常通过Oracles之类的组件启用,而Oracles总是感觉像是在操作两个不同的编程模型。用于安全代币的DSL可以提供一致的编程模型,抽象链上和链外动态。
· 其他好处: 版本控制、可移植性、文档是DSL模型用于安全代币的其中一个好处。
安全代币自助发行工具的想法在目前的市场状况下是不现实的。然而,为每一件事制定智能合约的原则似乎也难以推广。要实现半自助的代币发行模型,首先需要启用核心金融协议集,该协议集提供加密货币的主要机制。一旦这些核心协议建立起来,使用高级领域特定语言的想法似乎就变得可行了。只有在建立了这两个基本构建块之后,安全代币自助发行工具的概念才可能具有一定的相关性,即使这样,我认为其范围也会相当有限。