Counterparty
Counterparty不属于区块链。Counterparty是2014年1月发布的一个基于比特币的代币协议。它有一个功能完备的去中心化交易所(DEX),以及已定义的多个硬编码智能合约,其中包括差价合约和二元期权合约(“投注”)。为了进行操作,Counterparty使用“嵌入共识”,这意味着Counterparty交易被创建并嵌入到比特币交易中,使用诸如1/3多重签名(multisig)、按脚本付费哈希(P2SH)或按公钥付费哈希(P2PKH)等编码。Counterparty节点即同时运行bitcoind和Counterparty服务器应用程序的节点,将正常接收来自比特币的比特币交易。然后Counterparty服务器将对其进行扫描,并对找到的任何嵌入式交易进行解码和解析。实际上,Counterparty是较大比特币分类账中的一个分类账,嵌入共识的功能可以被认为类似于将一个俄罗斯堆叠玩偶安装在另一个俄罗斯堆叠玩偶中。
嵌入式共识还意味着节点无需使用单独的对等网络即可维护相同的分类账,仅使用比特币区块链进行所有通信(即时间戳,交易排序和交易传播)。与比特币具有软分叉和硬分叉的概念不同,Counterparty协议或“共识”代码的更改总是有可能产生硬分叉。实际上,这意味着每个Counterparty节点都必须运行相同版本的交易对手服务器(或至少相同的次要版本,例如2.3.0中的“ 3”),以便协议代码在所有节点上都匹配。
与比特币的UTXO模型不同,Counterparty代币协议使用帐户系统,其中每个比特币地址都是一个帐户,而特定代币类型的交易对手借贷交易会影响该代币在该给定地址的帐户余额。分散交换允许利用“订单”(由对方客户进行的单笔交易)和“订单匹配”的概念在地址之间低摩擦地交换不同的令牌,“订单匹配”由对方协议本身在解析新订单时生成 与系统中现有的活动订单重叠。交易创建时,是由交易方协议代码本身管理代币托管,在具有重叠订单的两个地址之间交换代币,以及从交换后的代管中释放这些资产。
Counterparty使用自己的代币XCP,该代币是2014年1月期间通过“燃烧证明”流程创建的。在那一个月里,超过2000个比特币被发送到比特币网络上一个不可更改的地址(1CounterpartyxxxxxxxxxxuWLPVR)这导致Counterparty协议向发送方地址授予相应数量的XCP。XCP用于支付资产创建费、差价/二元期权合约的抵押品,并经常作为去中心交易中的基本代币(主要是由于在此类交易中使用比特币(BTC)的复杂性)。


已经实现了对以太坊虚拟机(EVM)的支持,但并不包含在MainNet版本中。在执行交易Counterparty EVM时,所有以C开头的比特币地址发布的交易Counterparty智能合约“实时”运行。Counterparty用于广播执行交易,以调用智能合约代码中的特定功能或方法。一旦比特币矿工确认执行交易,对方联合节点将接收请求并执行该方法。随着智能合约代码的执行,合约状态将被修改并存储在Counterparty数据库中。
普遍的共识是,联盟网络是集中式网络的分布式网络。Ripple区块链实施联邦拜占庭协议(FBA)共识机制。联合侧链使用相互不信任的工作人员/公证人的受信任联盟来实现安全协议。交易对手为其组件和所有依赖项使用“全栈”打包系统,称为“联合节点”系统。但是此含义指的是一般定义中的联邦,即“设置为单个集中式单位,每个州或分区在其中保持一些内部自治”。
目前也有很多知名的项目是基于Counterparty建立的。开发COVAL的主要目的是使用“链下”方法转移价值。它使用自己的一组节点运行器来管理各种“链外”分布式分类帐和分类帐分配的钱包,以实施扩展的交易价值系统,从而可以安全地交易令牌和令牌容器。因此可以实现在COVAL生态系统内进行扩展,因为它不仅依赖于交易方联合节点来执行智能合约。
优点
Counterparty提供了一种简单的方法,可将“第2层”功能(即硬编码的智能合约)添加到支持基本数据嵌入的现有区块链实现中。Counterparty的嵌入式共识模型利用了“无许可创新”,这意味着即使是比特币核心开发人员在不严重破坏网络的情况下停止使用协议层。
缺点
嵌入式共识要求从网络节点进行锁步升级,以避免分叉。嵌入式共识对二层与一层令牌交互的能力施加了限制。Counterparty无法直接操纵BTC余额或直接使用BTC。借助嵌入式共识,节点无需使用对等网络即可维护相同的分类帐,这会妨碍协议的灵活性。它还将协议的速度限制为基础区块链的速度。
机遇
节点可以实现改进的共识模型,例如联合拜占庭协议。
双向铆钉二级区块链
双向铆钉(2WP)允许BTC从主比特币区块链“传输”到辅助区块链,反之亦然,通过使用适当的安全协议,以固定速率传输。“转移”实际上涉及将BTC锁定在主比特币区块链上,并在次要区块链上解锁/使其可用。当二级区块链上的同等数量的代币被锁定(在二级区块链中)以便原始比特币可以被解锁时,2WP承诺就结束了。
1. 侧链:当使用简化付款验证(SPV)证明实施安全协议时-无需下载整个区块链的区块链交易验证,则将次要区块链称为侧链。
2. Drivechain(传动链):通过向矿工提供BTC的托管来实施安全协议时-矿工在投票何时解锁BTC以及将其发送到哪里时,辅助区块链称为传动链。在该方案中,矿工将使用动态成员多方签名(DMMS)对区块头进行签名。
3. 联邦铆钉/侧链:当通过互不信任的工作人员/公证人的受信任联盟实施安全协议时,辅助区块链称为联邦铆钉/侧链。在该方案中,DMMS被传统的多签名方案取代。
4. 混合侧链-传动链-联邦铆钉:当SPV实施安全协议的证据进入二级区块链,而矿工DMMS和功能人员/公证人多重签名的动态混合又回到主要比特币区块链时,二级区块链称为混合侧链-传动链-联邦铆钉。
下图显示了使用混合侧链-传动链-联邦铆钉安全协议的2WP比特币二级区块链的示例:


比特币主区块链上的BTC通过使用P2SH事务锁定,在P2SH事务中,BTC可以发送到脚本散列而不是公钥散列。要在P2SH事务中解锁BTC,接收方必须提供与脚本哈希和数据匹配的脚本,这将使脚本的计算结果为true。
RSK(以前称为Rootstock)是使用混合侧链-传动链安全协议的2WP比特币二级区块链。RSK可扩展至每秒100个事务(Tx/s),并为比特币提供第二层扩展解决方案,因为它可以缓解链上的比特币交易速度。Hivemind(原为Truthcoin)正在实施对等Oracle协议,该协议将准确的数据收集到区块链中,以便比特币用户可以在预测市场中进行推测。Blockstream正在实施一个称为Liquid的联邦侧链,其工作人员/公证人由参与交易所和比特币业务组成。


优点
无许可创新:任何人都可以创建一个新的区块链项目,利用主要比特币区块链的潜在优势,使用真正的BTC作为货币。新功能:侧链/驱动链可用于测试或实现新功能,而无需担心主比特币区块链或无需更改其协议,例如Schnorr签名和零知识证明。链即服务(CaaS):可以创建具有数据存储2WP二级区块链的CaaS。智能合约:2WP二级区块链使实现智能合约更加容易。可扩展性:2WP二级区块链可以支持更大的区块大小和每秒更多的交易,从而扩展了比特币主区块链。
缺点
安全性:将BTC传输回主比特币区块链不够安全,并且可以进行操作,因为比特币不支持来自2WP二级区块链的SPV。51%的攻击:2WP二级区块链在很大程度上依赖于合并挖矿。挖矿业提供的DMM对于小型系统来说不太安全,而对于大型系统来说,联邦/公证人的信任风险更大。
机遇
2WP二级区块链可能会提供有趣的机会来扩展与位于二级层上的多个不可替代资产相关的多种支付方式。但是请注意资金的私密性和安全性以及资金进出2WP二级区块链的注意。
Lumino
Lumino事务压缩协议(LTCP)是一种用于事务压缩的技术,该技术允许处理大量事务,但存储的信息少得多。Lumino网络是使用LTCP的RSK平台的类似于Lightning的扩展。来自同一所有者的选定交易字段的增量(差异)压缩是通过使用先前交易的集合签名完成的,因此可以处理先前的签名。
每个事务都包含一组称为持久事务信息(PTI)的持久字段和一个称为SigRec的用户事务数据复合记录。Lumino块存储两个Merkle树:一个包含所有pti;另一个包含所有事务id(签名SigRec的散列)。第二个Merkle树在概念上与Segwit见证树相似,从而形成见证部分。对接是这样一个过程:如果存在有效的链接PTI信息,则可以从区块链中删除SicRec和签名数据。


优点
Lumino Network承诺修剪RSK区块链的效率很高。
缺点
白皮书中关于Lumino网络将如何处理支付通道的细节并不具有决定性。
机遇
LTCP修剪可能对Tari有益。
Scriptless Scripts(无脚本脚本)
无脚本脚本是数学家安德鲁·波斯特拉(Andrew Poelstra)创造和发明的。它需要提供脚本功能,而无需在区块链上使用实际脚本来实现智能合约。在撰写本文时(2018年7月),它只能在Mimblewimble区块链上工作,并使用特定的Schnorr签名方案,该方案允许签名聚合,将多个签名数学地组合为单个签名,而无需证明 秘密密钥(KOSK)。这被称为普通公钥模型,其中唯一的要求是每个潜在的签名者都具有公钥。KOSK方案要求用户在向证书颁发机构注册公钥的过程中证明(知道或拥有)秘密密钥,这是一般防止恶意密钥攻击的一种方法。
聚合签名的属性:
1. 在普通的公开密钥模型中必须证明是安全的;
2. 必须满足正常的Schnorr方程,由此可以将生成的签名写成公钥组合的函数;
3. 必须允许交互式签名集合签名(IAS),要求签名者进行合作;
4. 必须允许非交互式聚合签名(NAS),任何人都可以进行聚合;
5. 必须允许每个签名者签名同一条消息;
6. 必须允许每个签名者签名自己的消息;
这不同于通常的多重签名方案,其中一条消息由所有人签名。
假设Alice和Bob各自需要为交易提供一半的Schnorr签名,据此Alice承诺向Bob透露一个秘密,以换取一个加密硬币。Alice可以计算出她的一半Schnorr签名与秘密的Schnorr签名(适配器签名)之间的差异,并将其移交给Bob。这样Bob就可以在不知道原始签名的情况下验证适配器签名的正确性。然后Bob可以将自己的一半Schnorr签名提供给Alice,以便她可以广播完整的Schnorr签名以索取加密货币。通过广播完整的Schnorr签名,Bob可以访问Alice的一半Schnorr签名,然后他可以计算该秘密的Schnorr签名,因为他已经知道适配器签名,因此可以领取奖金。这也称为零知识认证。
Mimblewimble被Andrew Poelstra引用为最终的无脚本脚本。
优点
减轻数据。签名聚合在区块链上提供数据压缩。隐私性。在区块链上,除了结算交易之外,没有任何关于无脚本脚本智能合约的记录。多样性。可以在一次结算交易中在两方之间转移多种数字资产。隐式可伸缩性。区块链的可扩展性是通过将多个交易压缩为一个结算交易来实现的。满足所有先决条件后,交易才会广播到区块链。
缺点
麦克斯韦等人最近的工作证明了满足密钥聚合的Schnorr多重签名的朴素实现是不安全的,并且Bellare和Neven(BN)Schnorr签名方案为了在普通公钥模型中获得安全性而丢失了密钥聚合属性。他们提出了一种新的基于Schnorr的密钥聚合多重签名方案MuSig,该方案在普通公钥模型下是安全的。它与标准Schnorr签名具有相同的密钥和签名大小。对于单个“聚合”公钥,联合签名可以与标准Schnorr签名完全相同的方式进行验证,该公钥可以从签名者的单个公钥计算得出。请注意,在交互签名聚合的情况下,每个签名者对自己的消息进行签名,仍然必须通过完整的安全性分析进行验证。
机遇
Tari计划实现Mimblewimble区块链,并应与MuSig Schnorr签名方案一起实现无脚本脚本。但是这本身并不能提供所需的第2层扩展性能Big Neon是建立在Tari区块链之上的初始业务应用程序,它要求“在4分钟内提供500张门票”,即大约每秒允许两名观众访问,延迟可以忽略不计。
Mimblewimble无脚本脚本可以与联合节点(或专用主节点)组合,类似于Counterparty开发的脚本。通过MuSig Schnorr签名揭示的秘密可以实例化联合节点内的常规智能合约,并在事件发生后将最终的合并状态更新写回到区块链上。
有向无环图(DAG)派生协议
在数学和计算机科学中,有向无环图(DAG)是一个没有有向无环的有限有向图。有向图是非循环的当且仅当它有拓扑序,即对于从顶点u到顶点v的每一个有向边uv,u在序中先于v(age)。


区块链中的DAG首先被提出为GHOST协议,其版本在以太坊中被实现为Ethash PoW算法(基于Dagger-Hashimoto)。DAG在区块链中的原理是提出一种将传统的脱链区块包括在分类账中的方法,这由数学规则控制。


DAG派生协议要解决的主要问题是:
孤立的区块(减少缓慢传播的负面影响);缓解自私采矿攻击。


在大多数DAG衍生协议中,包含冲突事务的块(即冲突块)不是孤立的区块。在这两个冲突区块的顶部都建立了一个后续区块,但是在处理链时会抛出冲突事务本身。例如SPECTRE提供了一种方案,通过这种方案,大宗投票可以确定在发生冲突时哪些交易被强行接受,被强行拒绝或处于不确定的“待决”状态。两个冲突的区块都成为共享历史的一部分,并且两个冲突的区块都为其各自的矿工赢得了区块奖励。


包容性(DAG派生)协议将传统链下块的内容集成到分类账中,从而促使节点改变行为,从而提高了吞吐量,并为弱势矿工带来了更好的回报。


DAG衍生协议不是2层扩展解决方案,但它们提供了主要区块链的显着扩展。
SPECTER提供高吞吐量和快速确认时间。它的DAG结构表示关于每对块之间的顺序的抽象投票,但是由于可能的Condorcet循环,这种成对的顺序可能无法扩展到完整的线性顺序。
PHANTOM对DAG的块提供了线性排序,并且可以支持SPECTER不能进行的任何常规计算(智能合约)的共识。为了正确,一致地处理计算或合约,需要分类账中事件的完整顺序,尤其是合约输入的顺序。但是PHANTOM的确认时间比SPECTRE中的确认时间慢得多。
优点
1层扩展:增加主区块链上的交易吞吐量。公平性:为弱势矿工提供更好的回报。去中心化化缓解措施:实力较弱的矿商也能获得利润。交易确认次数:几秒钟的确认次数(SPECTRE)。智能合约:支持智能合约(SPECTRE)。
缺点
DAG衍生协议在重要方面有所不同,例如矿工支付方案,安全模型,对智能合约的支持以及确认时间。因此并非所有DAG派生协议都是平等的。
机遇
Tari有机会运用基本DAG原理,借助公平性和防矿工分散性,使51%的攻击难度加大。选择正确的DAG派生协议还可以显着改善1层伸缩性。