了解Mithril

Understanding Mithril | Cardano Explorer (cexplorer.io)

Mithril在卡尔达诺主网上线了。让我们来解释一下秘银的工作原理以及它的用途。

不信,核实

去中心化的一个基本原则是,作为系统的参与者,不存在你必须信任的第三方。而不是信任,你有机会验证所有的信息,从而得到一个单一版本的真相。在任何时候对你来说是正确的,对系统中的所有其他参与者来说也是正确的。

如果你想成为区块链网络的完整参与者,你需要运行自己的完整节点,允许你验证所有交易的历史。人们不愿意运行自己的全节点,甚至在移动设备上也不可能。运行全节点是资源密集型的。此外,它需要时间和一定的技术技能。

所谓的轻节点部分解决了这个问题,它只存储区块的头(每个区块的交易摘要),而不是整个区块。这降低了存储、处理能力和带宽需求。然而,缺点是轻量级节点不能独立于完整节点验证事务。轻节点还依赖完整节点将其交易广播到网络并接收区块链状态的更新。

轻节点只有在拥有可信信息源(如加密证明或可信检查点)的情况下,才能够在没有完整节点的情况下验证交易。例如,一些轻节点使用简化支付验证(SPV)协议,该协议允许它们通过请求完整节点的包含证明来验证交易。包含证明是将交易链接到最近块的区块头序列。然后轻节点可以根据自己的区块头检查证明,并确认交易是有效的,并得到网络的确认。

有一些轻型钱包不是轻型节点,只能通过专有协议与服务器通信。这些通常是在线钱包或托管钱包,它们将您的私钥存储在服务器上并为您管理交易。这些钱包不直接与区块链交互,而是依靠自己的服务器来实现。

即使您以通常的方式使用Trezor或Ledger硬件钱包,您也依赖于连接到单个区块链的完整节点的第三方服务器。

依赖第三方与去中心化的理想背道而驰,因为它存在交易审查、数据收集、私人信息泄露甚至账户冻结的潜在风险。

指望人们因为去中心化而运行全节点是天真的。有必要创造一种技术解决方案,既能提供全节点的所有优势,又能在移动电话上方便地运行。

Mithril将允许创建无需信任的轻客户端和DeFi应用程序,这些应用程序完全独立于第三方,能够有效地验证您自己设备上的数据。它还实现了快速的节点引导和安全的数据同步,基于权益分配的去中心化投票(链上治理),高效的侧链管理,促进了更具可扩展性的区块链的开发等。

基于权益的阈值多签名方案(STM)
Mithril本质上是一个签名方案,允许卡尔达诺网络生成加密证书。这些证书很容易验证,证明它是由拥有所需数量的股份(硬币)的参与者创建的(加密签名)。

您可以将证书视为多个参与者(ADA持有者)同意的消息,并使用他们的(数字)签名积极验证消息,以公开声明他们的协议。参与者基本上可以通过签名来确认任何信息。其中一个具体的用途可以是定期创建带有区块链状态的快照。

没有必要让所有涉众都确认消息。相反,每次生成新证书时,都会随机选择一组参与者,并要求这些参与者的足够子集对其签名。与有权在给定插槽中产生新区块的老虎机领导者类似,Mithril参与者是随机抽取的。

基于权益的阈值多重签名(STM)是一种尊重区块链网络中权益(币)分布的阈值签名方案(TSS)。TSS是一种基于多个签名者的签名生成单个数字签名的系统。

这与K-of-N多重签名方案的概念类似。例如,在这个方案中,5个参与者拥有一个可用于签署消息的私钥。如果消息仅由3个参与者签名,则认为它是有效的(3-of-5)。

STM方案与K-of-N方案的不同之处在于,可以签署证书的参与者数量是根据注册参与者(签名者)的数量和他们的利害关系来确定的。

如果您了解常规数字签名的工作原理,例如在创建区块链交易时使用的数字签名,则可以轻松理解STM工作原理的基本原理。

STM是一种数字签名协议,它允许一组各方在不泄露各自私钥的情况下集体签署消息(创建证书)。数字签名是证明消息真实性和完整性的一种方法。数字签名通常是通过对消息和签名者的私钥应用数学函数生成的。私钥是只有签名者知道的秘密信息,而公钥是任何人都可以用来验证签名的相关信息。

注意:当您在下一节阅读Mithril网络参与者的角色时,您将更好地理解下面的图像。

STM的工作原理是将私钥分成几份,并根据股份(ADA币)在不同的各方之间分配。然后,每一方都可以在不知道完整私钥的情况下,使用他们的共享在消息上生成部分签名。然后可以(通过聚合器)组合部分签名以生成与完整私钥生成的签名无法区分的有效签名。这种方法的优点是它增加了签名过程的安全性和弹性,因为没有任何一方可以签名或泄露私钥。

由于这是一个阈值签名方案,因此需要所需的法定人数的签名者参与证书的签名。否则,就不可能生成新的证书,这不是问题,因为它可以在下一轮中使用随机选择的一组不同的签名者来完成。

签名者彼此独立行事,每个人的签名都可以被验证。单个签名被聚合,如果达到所需的阈值,就可以生成新的证书。聚合签名可以根据代表涉众集的全局公钥进行验证。

Mithril证书的生成由几个参数控制。'm’参数定义单个参与者可以签名的彩票数量。“k”参数定义生成有效证书需要多少个签名。'φ’参数定义了系统中影响彩票中奖和证书签名机会的随机性。

创建Mithril证书

定义了几个参与创建Mithril证书的角色。

Mithril签署人是一个在SPO卡尔达诺节点之上透明运行的节点。它与Mithril聚合器一起工作。Mithril签名者为每个epoch生成一对新的Mithril密钥,并用KES密钥对它们进行签名。然后将验证密钥(公钥)广播给Mithril网络中的所有其他签名者。签名者节点定期验证卡尔达诺区块链完整状态的快照,并使用Mithril私钥对这些快照进行签名。

Mithril聚合器是一个无需信任的节点,负责编排Mithril签署人节点的活动。聚合器节点控制新Mithril证书的创建。为此,聚合器需要与签名者节点合作并协调它们。在给定的整数中,所有签名者都签署了卡尔达诺区块链的完整状态(快照),并将签名发送给聚合器。某些签名者可能无法发送签名(中断、攻击等)。一旦聚合器接收到足够数量的签名,它就可以在将所有签名组合在一起的基础上创建一个Mithril证书(将部分签名组合在一起创建一个等效签名,就好像它是用私钥签名的证书一样)。

节点聚合器存档所有快照和相关证书。客户端可以从聚合器节点获取这些信息并使用它,例如快速引导和节点。

客户机可以获得快照并通过证书验证它们,因为它使用与签名者和聚合器相同的Mithril加密原语。客户端可以快速验证数据的真实性,即区块链的完整性。

在下图中,您可以看到导致创建Mithril证书的各个步骤。这是一个简化的形式,因为这个过程有点复杂,涉及到所有参与者的更多步骤。为了清楚起见,图中只有一个签名者,但实际上有更多签名者。

有必要认识到,生成证书的整个过程是在各个阶段进行的。

在第一个所谓的建立阶段,节点就Mithil参数和一组签名者达成一致。

在第二阶段,跨所有签名者节点注册密钥。聚合验证密钥是基于给定时间的所有注册创建的。

第三个阶段称为操作阶段,是循环进行的。每个新周期的开始都通过消息发出信号。将出现UTXO集的快照,并期望签名者对消息进行签名。每个签名者单独检查自己是否有资格对消息进行签名。对于每个有效签名,它创建一个包含消息签名、验证密钥、利害关系和Merkle树中一方路径的证明。

聚合器节点验证来自所有签名者的签名。多个签名可以聚合在一起形成一个证书。如果达到法定人数,则可以从所有单个签名生成聚合签名。节点使用聚合密钥、消息和来自各方的单独证明向量来生成证明。

个人签名被广播给网络中的所有各方。这很重要,因为每一方都可以独立地生成证书。特别是,执行聚合的一方不需要有任何特定的知识,也不假定它是诚实的。也就是说,任何能够访问单个签名的第三方都可以进行签名聚合。换句话说,所有签名者或任何其他节点都可以成为聚合器节点。

Mithril技术的潜力

Mithril代表了一种非常有用的原语,对所有现有的区块链都可能很有趣。通过将STM密钥与单个加密货币账户关联,硬币所有者可以以完全分散的方式集体参与任何消息的认证。

通过这些参数,可以很容易地定义一个必须达到的阈值(1/2或2/3),以便加密证明所需的组(利害关系)认可消息。签名者可以单独签署消息,并通过区块链发布签名。这对于链上治理非常有用。即使在比特币的情况下,比特币持有者也有可能批准,例如,软件升级。

Mithril可用于定期生成快照,即存档卡尔达诺区块链的状态。这将使节点能够非常快速地启动,因为不需要下载整个区块链并验证历史中的所有单个交易。客户端下载所有的快照和证书并进行验证就足够了。这可以在相对较短的时间内(几分钟)完成,之后节点就可以验证最新的交易和区块。换句话说,成为一个不依赖于与完整节点通信的轻客户机。由于Mithril,轻量级客户机可以具有与完整节点相同的安全性,并且资源需求非常低,因此可以在移动电话上运行轻量级客户机。

Mithril加密原语的另一个重要用途是侧链,因为通过快速验证最新全局状态的能力,网络之间的资产转移将变得更加容易。

正如我们上面提到的,Mithril是一种适用于链上治理的技术,因为它很容易根据代币所有权组织投票。投票不能被第三方以任何方式操纵,没有人可以被阻止投票,因为每个轻客户端都将完全独立于第三方。所有投票结果将透明地存储在区块链上,每个人都可以验证它。

Mithril将成为Ouroboros Leios(输入背书者)的重要构建块,因为通过证书,可以在区块最终包含在区块链之前预先准备(预验证)区块。

结论

Mithril可以被视为去中心化的一大进步,因为很大一部分用户仍然依赖第三方。人们希望在手机上进行快速、廉价的交易,在大多数情况下,如果不与运行在另一台设备上的完整节点进行交互,这是不可能的。大多数人不希望也永远不愿意运行自己的全节点。Mithril将使无需信任的点对点通信从您的移动电话。换句话说,你的手机只能与卡尔达诺网络通信,并具有全节点的安全性。