# 混合共识机制(KPOS)

## 什么是**混合共识机制**？ <a href="#what-is-pos" id="what-is-pos"></a>

***

混合共识机制(KPOS)，它在权益证明（POS）的基础上引入了受托人（代表）的概念。KPOS是一种证明验证者已经将具有价值的东西投入到网络中，如果他们表现出欺诈行为，这些东西可能会被销毁。 在KAD的混合共识机制机制下，验证者明确地通过KAD将资产质押到 KAD上的智能合约中。 之后，验证者负责检查在网络上传播的新区块是否有效，偶尔自己也创建和传播新区块。 当他们试图欺骗网络（例如，在应该发送一个区块时提议多个区块，或者发送冲突的认证）时，他们质押的部分或全部 KAD 可能会被销毁。

## 如何在KAD混合共识机制中执行交易 <a href="#transaction-execution-ethereum-pos" id="transaction-execution-ethereum-pos"></a>

***

以下提供了关于如何在KAD混合共识机制中执行交易的端到端解释。

1. 用户使用他们的私钥创建并签署交易。 这通常由钱包或库处理，例如 ether.js、web3js、web3py 等，但本质上是用户在使用KAD JSON-RPC 应用程序接口向节点发出请求。 用户定义他们准备支付一定量的燃料作为给验证者的小费，以鼓励他们将交易纳入在一个区块中。 小费支付给验证者，而基础费被销毁。
2. 交易被提交给KAD执行客户端验证有效性。 这意味着确保发送人有足够的KAD来完成交易，并且他们已经使用正确的密钥来签名交易。
3. 如果交易有效，执行客户端将其添加到其本地内存池（待处理交易列表），并通过执行层广播网络将其广播到其他节点。 当其他节点听到关于交易的消息时，它们也将其添加到本地内存池中。 高级用户可能会避免广播他们的交易，而是将其转发给专门的区块构建器。
4. 网络上的节点之一是当前时隙的区块提议者，之前使用 RANDAO 伪随机地进行了选择。 该节点负责构建和广播下一个要添加到KAD区块链的区块并更新全局状态。 该节点由三部分组成：执行客户端、共识客户端和验证者客户端。 执行客户端将来自本地内存池的交易捆绑到“执行负载”中，并在本地执行它们以生成状态更改。 此信息被传递到共识客户端。在该客户端，执行有效载荷被包装为“信标区块”的一部分。该信标区块还包含有关奖励、惩罚、罚没、认证等的信息，从而使网络能够就链头的区块顺序达成一致。 连接共识客户端和执行客户端中更详细地描述了执行客户端和共识客户端之间的通信。
5. 其他节点在共识层广播网络上接收新的信标区块， 并将其传递给它们的执行客户端。在执行客户端上，交易在本地重新执行以确保提议的状态更改有效。 然后，验证者客户端证明该区块是有效的，并且根据他们对链的看法，这是逻辑上的下一个区块（这意味着它建立在具有最大认证权重的链上，如分叉选择规则所定义）。 该块被添加到证明它的每个节点的本地数据库中。
6. 如果一笔交易已经成为两个检查点之间具有“超过半数链接”的一部分，那么可以认为该交易已经“最终确认”。 检查点发生在每个时段的开始，并且它们的存在是为了考虑到只有活跃验证者的子集在每个时隙中提供证明，但所有活跃验证者在每个时段内都会提供证明。 因此，只有在时段之间才能证明“超过半数链接”（这是指网络上总质押KAD的 66％ 同意两个检查点的情况)。

有关最终确定性的更多详细信息，请参见下文。

## 最终确定性 <a href="#finality" id="finality"></a>

***

交易在分布式网络中具有“最终确定性”是指，该交易是区块的一部分，而且除非销毁大量KAD，否则便无法改变。 在混合共识机制KAD上，通过“检查点”区块来管理确定性。 每个时段中的第一个区块是检查点。 验证者为他们认为有效的“检查点对”投票。 如果一对检查点获得了质押KAD总数中三分之二以上的投票，那么这对检查点将被升级。 这两个（目标）中较新的一个会变成“合理”状态。 较旧的一个检查点已经是合理状态，因为它是上一个时段中的“目标”。 现在，这个检查点会升级为“最终确定”状态。

## 加密经济的安全性 <a href="#crypto-economic-security" id="crypto-economic-security"></a>

***

运行验证者是一种承诺。 验证者应当保持足够的硬件和连接，来参与区块的验证和提出。 作为回报，验证者将获得KAD（他们的质押余额增加）。 另一方面，作为验证者参与，也为用户为了个人利益或破坏而攻击网络开辟了新的渠道。 为了防止这种情况，如果验证者在被调用时未能参与，他们就会错过KAD奖励；如果他们有不诚实行为，他们现有的质押可能会被销毁。 主要有两种行为被视为不诚实：在一个时隙中提出多个区块（模棱两可）和提交相互矛盾的认证。

## 分叉选择 <a href="#fork-choice" id="fork-choice"></a>

***

当网络以最佳状态诚信运行时，链头始终只会有一个新区块并且所有验证者都会证明它。 然而，由于网络延迟或因为区块提议者提议多个区块（模棱两可），验证者可能看到不同的链头视图。 因此，共识客户端需要一种算法来确定支持哪一个区块。

## 混合共识机制(KPOS)和安全性 <a href="#pos-and-security" id="pos-and-security"></a>

***

正如在工作量证明中一样，混合共识机制(KPOS)中仍然存在 51% 攻击的威胁，但对于攻击者来说风险却更大。 攻击者需要获得 51% 的质押KAD。 然后他们可以通过自己的认证确保他们首选的分叉拥有最多累积认证。 共识客户端使用累积认证的“权重”确定正确的链，所以攻击者能够使他们的分叉成为规范区块。 然而与工作量证明相比，混合共识机制(KPOS)的优势在于，社区能够灵活地发动反击。 例如，诚实的验证者可以决定继续在非主流链上构建并忽略攻击者的分叉，同时鼓励应用程序、交易所和池也这样做。 他们还可以决定强行将攻击者从网络中移除并销毁攻击者质押的KAD。 这些都是对 51% 攻击的强有力的经济防御措施。

51% 攻击只是其中一种恶意行为。 不良行为者可能会尝试长程攻击（尽管最终确定性小工具抵消了这种攻击向量）、短程“重组”（尽管提议者权重提升和认证期限可以缓解这种情况）、弹跳攻击和平衡攻击（也可以通过提议者权重提升来缓解，并且这些攻击只能在理想化的网络条件下演示）或雪崩攻击（被只考虑最新消息的分叉选择算法规则抵消）。

总的来说，KAD实施的混合共识机制(KPOS)在经济方面比工作量证明更安全。

## 与工作量证明相比 <a href="#comparison-to-proof-of-work" id="comparison-to-proof-of-work"></a>

***

* 能效更高 – 无需在工作量证明计算中使用大量能源
* 门槛更低、硬件要求下降 – 无需购买高性能硬件以便获得创建新区块的机会
* 中心化风险降低 – 混合共识机制(KPOS)应该可以增加保护网络安全的节点
* 由于能源需求低，发行较少的KAD就可以激励大家参与
* 与工作量证明相比，对不当行为的经济处罚让 51% 攻击的代价变得更高。
* 如果 51% 攻击是为了攻破加密经济的防御，那么社区可以求助于诚实链的社会恢复。
