侧链:Elements(元素链)

当前位置:首页 > 币圈百科 > 侧链:Elements(元素链)

侧链:Elements(元素链)

2022-12-15币圈百科236

侧链:Elements

本文翻译自element chain官网:http://elementsproject.org?2015/06/10

译者:深大国防科学技术ATR重点实验室申屠春情博士新浪微博@我看比特币

注:本文可随意转发,请留下译者信息,如果您认为本文对您有用,请捐给译者,以便翻译更多比特币核心资料。捐赠地址:1 avjjjrchqdj 8 rhvz 9 xyc 422 ikuyja 12

译者前言

比特币在国内已广为人知,但技术研究并未有效开展。大部分人都是在知道和了解的层面。一个重要原因是比特币的核心资料大部分都是英文的,很少有人能在冥想中读懂这么复杂的英文资料。我打算在研究其英文技术的同时翻译一些重要资料,让更多业内人士对比特币有更好的了解。

本文涉及侧链技术,是元素链Alpha版的发布文章。

Text

Element Chain是Blockstream的开源侧链项目,快速为比特币带来了许多创新技术。在技术社区中已经提出或成功开发了元件的许多特征,并且这些技术可以以任何组合应用于任何侧链。

在一个没有携带数千万比特币的区块链发展感觉很好。这仍然是产生更多应用的一种方式。

侧链:Elements(元素链)

1当前要素链

1.1私下交易

要素链最具创新性的特征就是私下交易。私下交易的钱数只有交易的参与者知道(或者有指定的人可以知道),元素链用密码算法保证不会多花钱。

比特币使用地址保证隐私,同时公开交易供他人验证。元素链在保护个人隐私方面更进了一步。隐私保护非常重要。如果金融隐私保护不好,会给商家和用户造成严重的安全和隐私问题。一些偷钱贼和诈骗犯会把重点放在高价值的目标上,竞争对手会知道商家的业务细节,他们讨价还价的立场也会被泄露。

私有事务最明显的一点就是引入了一个新的地址类型,叫做私有地址。私有地址包含了致盲因素,比普通比特币地址还要长。这个地址是元素链的Alpha版本中的默认地址。

1.2证据分离

在alpha版本的交易中,用于证明其合法性的密码证据(译者按:签名)与交易分离。这完全消除了任何已知形式的事务可塑性的威胁,并允许有效的区块链修剪。

在比特币中,交易包含转账信息(未使用的交易集、地址和金额)和用于证明交易合法性的证据(输入签名)。对于单独的证据,交易ID只由转账信息生成,分块分别提交给证明数据。具有以下优点:

l?比特币已经有一些关于“交易ID正常化”的建议,更有效有用的分离证据包含了这些建议。因为规范化的事务ID机制在塑化输入后要重写依赖的事务,所以这样的规范化是Lightning等高层协议的必要基础。

l?事务ID不覆盖签名,以比BIP62更基本的方式避免了所有形式的事务灵活性,然后可以安全地使用更大的多语句智能契约。

l?它有可能更有效地提供SPV证明(对于轻型钱包),因为可以在不破坏Merkle树结构的情况下从交易数据中省略签名。节点不需要存储或验证旧事务签名的潜力,不需要从磁盘上删除签名,也不需要在网络上传输签名,从而大大降低了区块链存储的便利性和带宽要求。在Alpha版本中,签名数据比比特币签名占用的空间更大,因为其中还包含了大量的输出金额证明(译者按:因为使用的是私下交易,所以金额是隐藏的,所以要使用密码证明,防止超支)。

1.3相对锁定时间

赋予了序列号新的含义,这样在已签名的交易被确认后,其输入仍然是inv 但这个想法从未真正实现过。未完成的比特币相关代码似乎做了如下假设:即使低序列号能带来更多利益,矿工也会更诚实,更喜欢高序列号。这个假设被证明是危险的,即使常规矿工(利润最大化驱动的矿工)很少打破这个规则。大多数人认为用序列号代替交易是没有用的,因为没有加强“诚实”行为的手段。序号含义的变化,在矿工利益最大化的前提下,强化了交易替代机制。增加了新的操作码CHECKSEQUENCEVERIFY,用于检查比特币脚本的序列号限制。相对锁定时间与常规锁定时间的使用一致,例如时间锁定的保证服务。但所指的“相对”形式在区块链作为媒介的应用中会更有趣。例如,双向锚定阶段可以描述为交易开始时的相对锁定时间条件,它声明了提现证据。

1.4Schnorr签名验证

元素链不使用基于DER编码的secp256k1曲线的ECDSA签名方案,CHECKSIG操作码和相关操作码在同一曲线上使用Schnorr签名方案。好处如下:

l?更有效的n/n门限签名。几个Schnorr签名可以组合成一个签名,对公钥之和有效,所以任何大的n/n多重签名只需要一个联合签名就可以完成,并且可以通过一个CHECKSIG操作进行验证。

l?签名容量更小(64字节而不是71-72字节),也不存在DER编码问题。潜在支持批量验证(同时验证32个签名最多快2倍),这需要知道R.y坐标(ECDSA忽略此参数)和脚本级别,并确保所有签名验证错误导致脚本运行错误(例如,所有CHECKSIG操作都类似于CHECKSIGVERIFY),从而提供更强的安全证明。

l?可以证明不存在固有的签名可塑性问题。ECDSA存在可塑性问题,是否存在其他形式的可塑性问题不得而知。注意:证据分离使得签名可塑性不会导致交易可塑性。

l?比ECDSA的签名验证要快一点。

1.5新操作码

元素链的Alpha版本中有几个新的脚本操作码,其他操作码受比特币支持。

l?禁用的操作码。比特币曾经支持很多操作码。出于安全考虑,一些操作码在2010年被禁用,这需要hard 蓑衣网小编2022 fork重新启用。这些操作码中有一些有明显的风险(比如无限的内存使用),但并不是所有被禁用的操作码都有风险。Alpha版本重新启用了一些禁用但安全的操作码,比如字符串串联和字符串操作码,整数移位码和几个比特操作码。l?确定性随机操作码:根据一个种子生成一个范围内的随机数。l?CHECKSIGFROMSTACK操作码:验证堆栈中消息的签名,而不是事务本身的签名。

这些新操作码有一些使用场景,包括双花保护债券、彩票、允许1/N多重签名(N千)的merkle树结构、概率支付等。

1.6签名覆盖量

checksig操作码验证的签名已经覆盖了事务的输出量。避免使用硬件签名设备获取之前的交易内容。如果有人篡改输入,生成的签名无论如何都是无效的。

这个变化的另一个影响是签名时需要知道输入金额(是否使用盲签名)。

1.7确定性锚定

确定性锚定使元素链的Alpha版本能够携带测试网络的测试币,而不需要对测试网络做任何改变。测试币发送到Alpha版本时,由所有完整节点验证。您还可以使用RPC调用来要求测试网络节点验证区块链关系,而无需压缩测试网络SPV证明。 把测试币从Alpha版发到测试网是通过官方协会进行的,暂时委托他们保存Alpha版的测试币(译者按:有人把所有的币都发到了测蓑衣网小编2022试网,听起来不是什么好主意,但是现在只是测试币而已。他们还说,这只是一种过渡方法。一旦操作成熟,运行在比特币的主链上,只需要脚本,不需要任何人掌握和参与,如下所述)。

侧链,类似于其他竞争链,通过联合开采来保证安全。然而,在一个新区块链的初始阶段,将会有一个低计算的阶段,除非许多矿池在开始时采用联合开采。在低计算能力的前期,可能存在安全隐患甚至计算能力攻击。鉴于分散比特币的计算能力难以同步,我们需要一种机制来安全引导元素链。我们在这个Alpha版本中使用官方确认作为手段,我们正计划在下一个版本中引入联合开采。

1.7签名块

SHA256d工作证明机制被脚本系统取代,只签名块不签名事务。换句话说,动态成员多方签名(DMMS)被静态成员多方签名所取代。这个以前叫“私链”。

http://freico . in/docs/frei markets . pdf?

元素链的Alpha版本使用有门槛的官方人员作为协议接口,同时在区块内签名交换。下一个版本将用联合开采取代块签名,尽管官员将继续通知传输交易的主链。签署区块允许交易过程正常进行,直到实施联合开采。我们的意图是最终用完全去中心化的双向锚定机制取代官方的人事机制。

2建议元素链

这里是一些正在开发的素自由链的特性,但是还没有经过测试。

2.1基础资产的发行

用户可以发行自己的资产,表示比特币等基础资产类型的所有权转移过程。理论上,他们可以发行任何资产,如凭证、息票、货币、存款、债券、股票等。(根据管辖区的监管要求而有所不同)。

这为创建没有信任的交易所、期权和其他高级智能合约开辟了道路。这些智能契约可以包含任何资产和“hostcoin”(其ID等于创建块的散列或区块链ID的内部资产;在Alpha中,它是指测试货币支持的联盟锚货币。参见“确定性锚点”部分)。

所有的输出都由资产标识码标识,Alpha版本修改了共识规则,使得每个资产的输入和输出都可以单独检查。引入了一种新的事务类型来创建已发放的资产(称为资产定义事务)。与coinbase交易类似,资产定义交易有一个空白输入。与coinbase事务不同,资产定义事务除了空白输入外,还有更多输入项。这种差异不仅有助于我们区分两个事务,还可以确保资产ID的来源(事务的SHA256d哈希值)。在资产定义交易中,资产标识为0的任意数量的产出可以包含任意产出量,这将被视为新发放资产的初始未使用产出。

这项技术在很多方面与彩色硬币相似,但是一个清晰共享的增强logo有以下好处:

l?更有效地支持SPV钱包;l?允许更复杂的智能合约;l?从其他智能合约中获利(比如Alpha上的私人交易与彩币不兼容)?为更智能的合同开辟道路,这些合同依赖于区块链,可以运营更多资产。

目前,只有主链货币可用于支付费用,但其他资产应可用于支付费用。在第一个发布版本中,所有资产必须在资产定义事务中发布。未来版本允许在资产定义交易后动态增加数量,并允许发行人创建新的资产。未来,该版本还将实现适用于P2P借贷的利息,以及发行的具有延期资金的资产(负利息)。

2.1掩码签名哈希模式

新的操作码CHECKSIG2允许矿工可以编写的任意输入和输出掩码,用于构建更复杂的合同预承诺场景,例如在分布式资产交换中,某人签署自己的买卖请求,并提前承诺买卖价格和数量。

3测试网络侧链的演示:元素链的Alpha版本

为了让社区更容易测试元素链,这个项目将最好的思想融入到正在开发的侧链中。第一个发布版本是Element Chain的Alpha版本,这是一个为开发者测试的侧链和网络,其中引入了几种侧链技术,并锚定在比特币测试链上。和比特币一样,所有代码都是开源的。我们正在为侧链努力工作,并鼓励其他开发者为这个项目做出贡献。

Element Chain Alpha旨在实现技术演示,提供测试环境。目前建议的元素链还没有开发出来。作为一个测试网络的发展侧链,这个链会存在很短的时间,可能会被其他技术取代。

元素链Alpha是比特币测试链的一个侧链,虽然目前的锚定机制是通过侧链白皮书附录A所述的集中式协议接口实现的。它依靠可审计的联合签名者来管理传输到侧链的测试硬币(见确定性锚定特征),并生成签名块(见签名块特征)。这种方法可以快速探索侧链实现的可能性,并考虑如何使用不同的安全措施。我们计划在未来版本中升级协议接口,全面支持去中心化侧链联合挖掘,最终达到完全双向锚定的目的。

源代码:

https://github.com/elementproject/elements

Alpha版本:

3359github.com/elementproject/elements/tree/alpha

侧链:Elements(元素链) | 分享给朋友: