TechnologyTapyrusNews ReleaseJapan

Tapyrus Core v0.3.0およびTestnet用のFaucetを公開

Tapyrusはオープンソースで公開している安定的なトランザクションの承認を行うため、ブロックの生成をネットワーク毎に定められた署名者群(Signer Group)による多重署名で行うブロックチェーンです。今回フルノード実装であるTapyrus Core v0.3.0をリリースしました。v0.3.0では以下の新しい機能が利用できます。ノードの起動やTestnetへの接続方法については、Getting Startedを参照してください。

ブロックの集約署名のサポート

Tapyrusでは各ブロックヘッダーに署名者群(Signer Group)によって作成された署名が付与され、参加ノードが有効なブロックかどうか検証するのため付与された署名が有効なSignerの署名か検証します。v0.2.0までこの署名にはECDSA署名が用いられ、予め決められた閾値の数分の署名データが付与されていました。つまりブロックの承認に必要なSignerの数に比例して、署名データのサイズは大きくなります。

v0.3.0では署名方式をECDSAからSchnorr署名に変更し、閾値署名をサポートしました。具体的には、ブロックヘッダーに付与される署名データは1つのみとなり、その署名データは全Signerの公開鍵を集約した集約公開鍵に対して有効な署名である必要があります。集約公開鍵に対応する集約秘密鍵を知るSignerは1人もおらず、各Signerは個別に署名データの一部を作成し、そのデータが閾値分集まると集約公開鍵に対して有効な署名を生成できる秘密分散の技術を利用した仕組みになります。この変更によりSignerの閾値が増えてもブロックあたりの署名データのサイズは一定で、参加ノードの署名検証の回数も1回で済み検証コストも安価になります。

署名のサイズ自体は大きなものではありませんが、数十年と数多くの取引を記録しているプラットフォームとしては、ノード運用の負荷の低さは分散性を担保するための重要な条件でもあるため、このようなデータや検証コストの削減は重要な取り組みです。

バイナリリリース

v0.2.0まではバイナリは提供されていませんでしが、v0.3.0以降は各バージョンおよびLinux、MacOS向けのバイナリがリリースされるようになりました。

その他、詳しい内容についてはリリースノートを参照ください。

Testnet Faucet

Testnetのコインを入手できるようFaucetを公開しました。Testnetのパラメータを指定してノードを起動し、アドレスを生成し、Faucetからアドレス宛にコインを送金することで、TestnetでTapyrusを利用することができます。Testnet上のブロックはChaintopeが運用するSinger Networkにより約10分間隔でブロックが作成されます。

https://testnet-faucet.tapyrus.dev.chaintope.com/

※ Tapyrusは現在、コンセンサスに影響を与える機能追加をサポートするNetwork Upgrade機能をまだ搭載していません。Network Upgrade機能は近い将来実装予定ですが、それまではバージョンの異なるTapyrus Coreを同一のネットワークで動作することができないという制限が付きます。そのため、Testnetもバージョンアップグレードの際にリセットされますのでご注意ください。

今後のリリース

現時点でも独自ネットワークを構成できますが、直接ソースコードを編集する必要があります。次期バージョンv0.4.0では独自ネットワークの構成を外部設定できるようにしたバージョンをリリース予定ですので、独自ネットワークを構成したい方は今しばらくお待ちください。v0.4.0では独自ネットワークのサポート以外に、署名者群(Signer Group)の管理(追加・変更・削除)機能をサポートする予定です。

  • このエントリーをはてなブックマークに追加