Tapyrus Core

Tapyrusは、任意のビジネスユースケースに応じて独自のブロックチェーンネットワークを構成可能なエンタープライズ向けのブロックチェーンです。 各ブロックチェーンネットワークは、ビジネスを推進するフェデレーションが管理するSigner Networkと、 誰もが参加可能な共有台帳ネットワークであるTapyrus Networkで構成されます。

network

Signer Network

Signer Networkは、ネットワークのセットアップ時に予め定められたフェデレーションのメンバーによって運営されます。 フェデレーションのメンバーはTapyrus Networkにブロードキャストされたトランザクションを収集、検証し、 有効なトランザクションを含むブロックを生成します。生成したブロックはTapyrus Networkにブロードキャストされます。

ブロックは、フェデレーションメンバーによるブロックに対するデジタル署名により作成されます。 このデジタル署名はブロックにproofとしてセットされ、Tapyrus Networkの各フルノードは、この署名が有効か検証することでブロックの有効性を検証します。

署名鍵

ブロックの有効性検証を行う際の公開鍵は、フェデレーションメンバーの集約公開鍵を使用します。

チェーンのセットアップ段階で、フェデレーションの各メンバーは、それぞれブロックを承認するための楕円曲線暗号の鍵ペアを用意します。 これらの公開鍵をメンバー間で共有し、全メンバーの公開鍵を加算して集約公開鍵を生成します。 この集約公開鍵はパラメーターとしてチェーンのジェネシスブロックのxfieldに埋め込まれ、 各フルノードは埋め込まれた集約公開鍵を使用して署名検証を行います。1

Signerノード

Signer Networkを運営するためのノード実装として、Tapyrus Signerを提供しています。 フルノードと一緒に実行することで、フェデレーションメンバーと通信し、ブロックの署名を完成させます。 この時、StinsonとStrobl(2001)による検証可能で安全な分散Schnorr署名と(t, n)閾値署名方式2を基に、 各フェデレーションメンバーの秘密鍵を明かすことなく、集約公開鍵に対して有効なSchnorr署名を作成します。

※ Tapyrusのプロトコル上、有効なSchnorr署名が作成できればよく、Tapyrus Signer以外の実装も使用可能です。

Tapyrus Network

Tapyrus Network は誰もが参加可能な共有台帳ネットワークで、ジェネシスブロックから最新のブロックまでブロックチェーンのすべての オンチェーンデータの提供、新規トランザクションの発行、伝播をサポートします。 Tapyrus のフルノードTapyrus Coreは、 Bitcoinの参照実装であるBitcoin Coreをベースに、以下の変更を行ったノード実装です。

  • コンセンサスアルゴリズムの変更
  • トランザクションIDのマリアビリティの修正
  • オラクルを利用したコントラクトのサポート
  • Colored Coin機能のサポート

プロトコルの詳細や、機能についてはTapyrus Technical Overview を参照ください。

セットアップ

Tapyrus Core

各環境毎のTapyrus Coreのセットアップ方法は、以下のリンクを参照ください。

  1. フェデレーションメンバーに変更がある場合、切り替わりのブロックのxfieldにメンバー変更後の集約公開鍵がセットされ、それ以降のブロックでは更新された集約公開鍵を使用して署名検証が行われます。 

  2. http://cacr.uwaterloo.ca/techreports/2001/corr2001-13.ps