如何在 Corda 中定义自定义公证算法?

How can I define a custom notary algorithm in Corda?

我想在 Corda 中实现一个使用以下算法的四节点公证集群:

If at least two of the four notaries agree that the transaction is not a double-spend, the transaction is valid.

如何实现这个自定义公证算法?

在 Corda 公证集群中,任何节点都可以为客户端请求提供服务,并且根据实现的不同,需要一个或多个签名来满足公证复合密钥要求。

目前有两种共识实现与 Corda 一起交付——Raft 只需要一个签名者,而 BFT SMaRt 实现需要大多数签名者签名,即三个。

您可以在 https://github.com/corda/corda/tree/master/samples/notary-demo

找到同时使用 Raft 和 BFT SMaRt 实现的示例

在您要求至少一半公证人同意的情况下,可能值得检查 BFT SMaRt 实施 (https://bft-smart.github.io/library/) 并对其进行更改以支持此要求。

我将跟进对此 post 的更新,提供一个自定义公证算法如何插入 Corda 的示例。