ネットワークスチュワードの投票

私たちは、どんなに慈悲深いものであっても、説明責任のない権威は最終的には腐敗、非効率、または単純な革新の不足に陥る普遍的な事実だと信じています。 そのため、ネットワークスチュワードが役割を果たさなくなった場合のために、PKTブロックチェーンソリューションに組み込みました。 PKTの保有者は、ネットワークスチュワードを弾劾し、新しいネットワークスチュワードに交代させる投票を行うことができます。弾劾はささいな出来事ではなく、発生するには存在するPKTの少なくとも50%が明示的にそのために投票する必要があります。しかし、弾劾が発生した場合、自動的な投票数の集計とネットワークスチュワードの交代が続きます。

ネットワークスチュワード

投票の仕組み

投票はVoteForとVoteAgainstの2つの部分で構成され、VoteAgainstは弾劾の投票であり、VoteForは弾劾が発生した場合の新しいネットワークスチュワードを選出するための投票です。

ネットワークスチュワードは、スクリプトエンコードされたキーではなく、トランザクションのアウトプットスクリプトとして表されます。特定のアドレスのスクリプトを取得する簡単な方法は、そのアドレスに少額のお金を支払い、その後、生のトランザクションを調査し、アウトプットをコピーすることです。

コインベーストランザクションを調査すると、ネットワークスチュワードに支払われたアウトプットが表示されます https://explorer.pkt.cash/address/ このアウトプットのスクリプトは次のとおりです 0020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2

$ ./bin/pktctl getrawtransaction 505d2750577a3d3c739c2a650ec0e03a7ddb1f81080c820ab1a317575020745b 1
{
  "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff10022913000b2f503253482f706b74642fffffffff03cac2a6ee0000000
01976a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac362f5f3b00000000220020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b000000000000
0000326a3009f91102ffff7f20c70542e4ca2363ce0149e845305f25564e7ce81e33411ad570df0f56f387462021cd01000000000000000000",
  "txid": "505d2750577a3d3c739c2a650ec0e03a7ddb1f81080c820ab1a317575020745b",
  "hash": "505d2750577a3d3c739c2a650ec0e03a7ddb1f81080c820ab1a317575020745b",
  "size": 203,
  "vsize": 203,
  "version": 1,
  "locktime": 0,
  "vin": [
    {
      "coinbase": "022913000b2f503253482f706b74642f",
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 40.0390625,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 7d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "pGzmtW4Q2v4AWHcX8TYGqG5c1Eh5Ykg6fX"
        ]
      }
    },
    {
      "value": 9.9609375,
      "n": 1,
      "scriptPubKey": {
        "asm": "0 d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b",
        "hex": "0020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b",
        "reqSigs": 1,
        "type": "witness_v0_scripthash",
        "addresses": [
          "pkt1q6hqsqhqdgqfd8t3xwgceulu7k9d9w5t2amath0qxyfjlvl3s3u4sjza2g2"
        ]
      }
    },
    {
      "value": 0,
      "n": 2,
      "scriptPubKey": {
        "asm": "OP_RETURN 09f91102ffff7f20c70542e4ca2363ce0149e845305f25564e7ce81e33411ad570df0f56f387462021cd010000000000",
        "hex": "6a3009f91102ffff7f20c70542e4ca2363ce0149e845305f25564e7ce81e33411ad570df0f56f387462021cd010000000000",
        "type": "nulldata"
      }
    }
  ],
  "blockhash": "c77d9026867de1455e573eb47bd3322548fd537b29ed9296a004a00f43d1da18",
  "confirmations": 3,
  "time": 1566221646,
  "blocktime": 1566221646
}

ネットワークスチュワードが何であるかを調べるためにpktdにクエリを投げても、支払われたスクリプトが表示されます。

$ ./bin/pktctl getnetworksteward
{
  "script": "0020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b",
  "votesagainst": 0,
  "totalpossible": 21985819476623360
}

たとえば、ネットワークスチュワードを次のように変更したい場合、 https://explorer.pkt.cash/address/pGzmtW4Q2v4AWHcX8TYGqG5c1Eh5Ykg6fX , 対応するスクリプトに投票する必要があります 76a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac, もちろん、現在のネットワークスチュワードに対しても投票したいでしょう。

投票方法

投票はウォレットを設定して行います。お金を使うたびに、ウォレットは将来のPKTの支払いごとに投票を含めます。投票プロセスを加速したい場合、ウォレットを設定して投票し、その後、すべてのPKTを別のウォレットに送金して、すべてが投票されることを確認することができます。

ウォレットを次のように設定して、 https://explorer.pkt.cash/address/pGzmtW4Q2v4AWHcX8TYGqG5c1Eh5Ykg6fX および https://explorer.pkt.cash/address, に投票するには、次のワークフローを使用します:

$ ./bin/pktctl --wallet getnetworkstewardvote
{}
$ ./bin/pktctl --wallet setnetworkstewardvote default 76a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac 0020d5c1005c0d4012d3ae2672319e7f
9eb15a57516aeefabbbc062265f67e308f2b
{}
$ ./bin/pktctl --wallet getnetworkstewardvote
{
  "votefor": "76a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac",
  "voteagainst": "0020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b"
}