盟约: 通常是正式,庄重和有约束力的协议。
这个词已成为比特币空间中最有用的单词之一。他们是切成薄片以来最好的东西。它们是自原子炸弹以来最危险的事情。他们并没有真正做任何事情来扩展比特币,但它们整洁。
每个人对他们的态度完全不同。我们有亲态度,反态度,矛盾的派系。更糟糕的是,坦率的义务是对将被归类为盟约的议定书的成熟和具体建议的描述。
提出的不同建议的功能之间的差异程度是巨大的。他们中的一些人创建了全新的设计空间,以便在比特币之上建立的东西,而另一些则根本不会添加任何新功能,它们只是通过很大程度的复杂性和开销来优化已经可能已成为可能的事物。
让我们创建一个针对比特币的新定义。
盟约: 任何保证由交易支出带有盟约脚本的输入创建的输出的任何脚本,都必须符合某些指定标准以确定支出交易是有效的。
因此,用不太严格的话来说,如果比特币脚本当前限制 WHO 可以通过要求授权证明,即加密签名或 什么时候 它可以花在时间内落后之后,或者支出者可以显示前映射的预先映射,盟约脚本限制 如何 它可以花在谁,多少人身上,等等。盟约脚本甚至可以限制硬币,以便必须将其用于另一个盟约脚本。
最后一部分是使这种有争议的词使盟约的核心。许多人对添加一种“锁定”比特币的新方法有很大的保留,这些方法可以自我传播并确保以类似方式限制未来的硬币。许多人担心这种情况被用来损害可及性或制定审查制度。
我觉得有必要指出,这两种事情现在都可以完成,而没有盟约脚本能力,只需使用 Multisig。任何当局都可以拒绝允许从交易所处理提款 Multisig 该机构在哪里拥有一个钥匙。从那里开始,他们可以简单地拒绝签署发送给他们不持有所需钥匙的地址的交易,并建立他们想要的不透明且完全偏离链的任何黑名单或白名单计划。
也就是说,对于比特币用户而言,对当前存在的所有不同盟约提案之间的权力和灵活性差异有掌握和理解。
盟约试图实现两件核心的事情,以便将限制应用于 如何 硬币花了 内省 和 向前数据携带。
内省是在尝试花费特定硬币时正在评估交易的不同部分的能力。因此,例如,如果要限制硬币,以便必须将其用于特定地址,则必须能够将输入契约脚本中指定的地址与交易支出的输出中指定的地址进行比较。能够进行内省的操作码使我们能够将支出交易的不同部分与所评估脚本中包含的限制进行比较。关于您可以检查的交易的哪些特定部分,您可以获得越细的颗粒状,其功能就越大。
远期数据携带与内省有关,并且在许多方面是它的结果,它使您能够确保将某些信息转发并包含在每个新盟约脚本中,以便可以将其用于下次评估《盟约脚本》。这是通过使用内省来严格限制交易的某些部分来实现的,以至于它们必须包括确切的所需数据或无效。您拥有的内省功能越强大,您可以将数据传递得越灵活,并且您可以使用该数据的灵活性越灵活。
这只是在接下来的几周内首次介绍一系列文章,研究了所有处于成熟状态的主要盟约提案,已经获得了最近的兴趣,或者在概念上非常重要,以至于开发人员对其有用性达成共识,但尚未进行具体设计。这将不会100%完成,但它会相对全面。其中一些也不是严格的盟约本身,而是与它们紧密地构成。
这些将包括:
- 清理
- checksigfromstack
- sh
- OP_VAULT
- 检查Contracterify
- 猫
- Tweakverify