【问题标题】:Consensus algorithm in CordaCorda 中的共识算法
【发布时间】:2019-06-05 18:14:21
【问题描述】:

通常情况下,公证节点的定义如下所示,在 build.gradle 文件中

从上图我们如何理解这个特定公证人的共识算法? 或者从哪里(哪个文件)我们可以得到关于 Notary Used 的共识算法的信息?

【问题讨论】:

    标签: corda


    【解决方案1】:

    共识算法通常适用于集群,您需要有多个公证节点才能实现它。以下是示例公证配置文件

    devMode=true
    
    dataSourceProperties {
        dataSource.password : "test"
    }
    myLegalName="O=Notary2,L=Zurich,C=CH"
    notary {
    
        raft {
    
            clusterAddresses=[
                "localhost:10012",
                "localhost:10015",
                "localhost:10019",
                "localhost:10022"
            ]
    
            nodeAddress="localhost:10016"
        }
    
        serviceLegalName="O=Raft,L=Zurich,C=CH"
    
        validating=false
    
    }
    
    p2pAddress="localhost:10017"
    
    rpcSettings {
    
        address="localhost:10018"
    
        adminAddress="localhost:10118"
    
    }
    

    更多信息可以在这里找到 Corda notary cluster demo

    【讨论】:

      【解决方案2】:

      公证人所做的只是检查在向其发送交易时是否已经花费了任何状态。它通过存储已用状态的哈希值并检查交易中的状态是否未存储在公证人中来做到这一点。

      它没有使用共识算法。

      validating=true 表示它将执行合约验证作为检查交易的一部分。如果设置为 false,它只会检查双花。

      【讨论】:

      • 那么这个和Notary相关的Consensus算法是从哪里来的呢?
      • @dan-newton 是的,但是当你有公证人池时,他们需要使用一些共识算法来确保池就花费了哪些状态达成一致。
      猜你喜欢
      • 2020-11-19
      • 2021-09-27
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 2019-02-01
      • 2017-10-15
      相关资源
      最近更新 更多