Simple^2和分层的隐患

Simple^2和分层的隐患

本文首发于Elas.Digital网站,经原作者Brendan Lee同意后再次发布。

之前,当我正在开发Elas Token系统的基础专利时,很荣幸与Cerian Jones共事,她是比特币区块链领域最有经验的专利律师之一。她非常清楚从哪些地方对我的想法提出异议,这一点很重要。

当我提出,在某种假设之下,事物总是按某种特定方式发展,她的第一步总是对该假设提出异议。就在我面前,揭示我所认为的最佳部分是多么粗糙,并进行删除、分离和重新定义,从而体现核心结构的功能。通过这种方式,我们能够将一个整体构思削减到其绝对核心的部分——即创造一种未花费输出形式的Token,并且可以通过花费,将它转移到一个新的未花费输之上。这个转移的动作会影响该Token的状态变化,这意味着所有权的更改、参数的变更、数据库中的新操作等一系列的动作都可以在Token上进行。发行者在该系统中拥有完全的控制权,并且可以在他们的系统中为Token添加任何他们想要的定义。

我们已经在赠送的比特币纪念Token中展示了所使用的静态Token,但是还有很多用于不同目的的其它Token类型,所有这些都是基于我们核心的Token创建方法而开发。

分层

我观看了最近CoinGeek直播大会上关于Token的圆桌讨论,以及关于第0层、第1层和第2层等的讨论。我可以做出如下总结:

第0层:脚本中的Token,其管理逻辑在花费操作之上执行,通过检查输入和在输出中添加强制条件来管理之后的Token行为。

第1层:UTXO中携带的一个或多个Token,但其中Token的值由共识网络评估之外的数据来表示。

第2层:由代理或智能合约控制的Token,使用在False Return脚本中发布的指令。

Elas的Token处于其原始比特币协议的核心。我们不需要面向未来的脚本,没有脚本模板、数据传输、不可花费的输出或第三方代理,但是我们可以(并计划)利用以上这些元素来提高我们所提供的价值。

Elas是一个Token系统,它无需这些约束,但是可以在必要时应用其中的某些甚至所有元素。它可以没有这些层级,也可以有几层或者是拥有全部的层级…

我可以如下这样定义层级:

层级是由平台来添加的,而不是Token系统所要求的。

如果你所构建的Token系统依赖于一个或多个这些元素,而你的平台却不依赖这些元素,那么你就必须对这些元素进行管理和构建,这是一种负担。这不仅花费时间,还增加了项目的复杂性。

我们的Token有一些用户必须遵守的规则,这些并非网络的共识规则,但如果不遵守,可能导致Token在流通中被移除。诸如此类的问题很容易解决,并可以通过适当的钱包集成来管理。当与不需要处理BSV付费的系统配对时,几乎不会对可用性造成影响。

那么,这个系统如何运作?

在为期三天的CoinGeek大会上,我们利用一个简单的网络钱包,向来自世界各地的观众发放了大约1200张具备收藏价值的纪念性比特币卡,我们将其集中到一起来测试我们的Token。这个实验非常成功,有几个人来找我,他们表示不解,因为只有一个常规的P2PKH脚本来保存Token。我认为,我们系统的一部分魔力在于,Token交易实际上与比特币交易没有区别。

Token被保存在一个激活的UTXO里,可通过追溯机制被识别,能够一直追溯到Token被创建的时点。这种机制不受任何与脚本、数据或代理相关的约束,允许将Elas的Token以代表私人现金的形式释放到经济中。

使用我们开发的后端,可以管理用户钱包的Token识别和验证,平台性能因此得到增强。后端允许即时传输,也将是大多数系统实施长期运作的方式。与Metastreme付费API连接意味着,用户不必获取BSV来收付款,同时保证了交易的安全、简单和即时。

很快,我们将开始对新的Token铸造层进行内部测试,这将提升我们的Token账本的性能,使其能够更便捷、更简单地进行长期管理,并提供一些急需的可用性提升,来加速和简化复杂的子账本结构和Token的创建。

Simple^2 以及如何实现KISS原则

作为一名工程师,我的职业生涯一直都在与复杂性打交道。它几乎没有任何好处,也没人想要复杂性,而且通常会造成巨大的负担,特别是在项目开始时就未得到很好的理解时。保持“简单愚蠢(Keep It Simple Stupid)”,KISS原则在整个工程世界被吹捧,而我看到的是该原则要么应用得非常好,要么根本不用……

Elon musk对此说得最好:

最好的过程是没有过程。最好的部分是没有部分之分(The best process is no process. The best part is no part.)。

有了Elas,所使用的都只是必需的,因此系统可以在不牺牲实用性或安全性的情况下,将总体复杂性保持在尽可能低的状态。

假设一个简单的东西难度系数为1(简称简单系数Simple),一个复杂的东西难度系数为2(简称复杂系数Complex)。如果你必须使用一个现有的平台,并在其上建立你的应用,我们可以这样说:

在简单的平台上构建简单的应用是简单系数乘以简单系数(即Simple^2),即1 x 1=1。

在复杂的平台上构建简单的应用是简单系数乘以复杂系数(即Simple x Complex),即1 x 2 = 2。

在复杂的平台上构建复杂的应用是复杂系数乘以复杂系数(即Complex^2),即2 x 2 = 4。

当基本系统具有内在的复杂性功能时,在该系统上构建的所有东西都会愈发复杂。这种复合的复杂性提高了部署系统所需的成本和时间,并使其在未来更加难以维护和扩展。

总结

在评估Token系统时,如果供应商已经为您定义了一个运行框架,那么您必须确保您的平台可以在该框架之中运行。Token的应用方式多种多样,我认为,人们实际上才刚开始思考各类不同的新型实用范例。Elas很高兴将我们的系统推向市场。我相信,Elas已经成功找到了一种方法,通过这种方法,可以创建和部署完全符合KISS原则的Token,从而加速开发并确保最佳的用户结果。

202024日的“创世”协议升级是比特币历史上的一大里程碑,将见证BSV最大程度地回归到中本聪原先设想的协议。请访问“创世”硬分叉页面以了解更多信息。

要直接在您的收件箱接获CoinGeek.com最新消息,CoinGeek会议特别优惠以及其他内部信息,请加入我们的邮件列表

[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]