ドキュメント
コンセプト
シールドプール、アセット、手数料、メモ、ブロックとバリデーター、交換プール。
テストネットワーク:コインに価値はありません
シールドプールとノート
Tint でのあなたの残高は、ノートの集まりです。ノートは1つのアドレス宛てに暗号化された記録で、「このコインがこれだけあなたのものです」ということを表します。ノートはコミットメントとして Merkle ツリーの形でチェーンに保存されるため、誰も中身を読めず、誰のものかもわかりません。
支払うとき、ウォレットはいくつかのノートを使用し、新しいノートを作ります。受取人向けのものと、自分へのお釣りです。ウォレットは Halo 2 証明によって、使用するノートを所有していること、それらが存在していたこと、金額の収支が合っていることを、どのノートかを明かさずに証明します。使用されたノートごとにナリファイアが公開されます。これは、ネットワークが同じノートの二重使用を拒否するための目印で、どのノートかはわかりません。
受取人のウォレットはすべてのブロックを読み、新しいノートを閲覧キーで復号しようとします。復号できたノートが、その人のものです。この試行復号のおかげで、ノードは支払いが誰宛てなのかを判別できません。
アセット
コインは番号を持つアセットです。アセット 0 はネイティブコインの TINT、アセット 1 はテスト用ドルの TUSD です。1つのチェーンでは最大16個のアセットを定義できます。すべてのアセットが専用のシールドプールを持ちます。支払いは1つのアセットのノートを動かし、2つのアセットが出会うのは交換だけです。
金額は単位の整数で表します。1コインは 100,000,000 単位(小数桁数 8)なので、TINT の最小額は 0.00000001 です。
手数料
支払いのアクションごとに最低手数料がかかり、手数料は送るコインで支払います。ガスを支払うために2つ目のコインが必要になることはありません。現在のテストネットワークでの最低額は次のとおりです。
| コイン | アクションあたりの手数料 |
|---|---|
TINT | 0.00005 |
TUSD | 0.001 |
トランザクションには、最低1つ、最大64個のアクションが含まれます。確定する前に、ウォレットが正確な手数料を表示します。手数料は公開されます。
メモ
すべてのノートには、ノートとともに暗号化される 512 バイトのメモ欄があります。ここに短いテキストを入れると、受取人のウォレットだけが読めます。メモが空でも追加費用はかかりません。どのノートにも、もともとこの欄があるためです。
ブロックとバリデーター
Tint はプルーフ・オブ・ステークです。固定されたバリデーターの集合が、BFT コンセンサス(commonware ライブラリの Simplex)で各ブロックに合意します。ブロックは、バリデーターが合意した時点で確定します。確認数が積み上がるのを待つ必要はありません。
- 支払いを含むブロックは、取り込む支払いができ次第、作られます。
- 静かなチェーンでは、約 5秒ごとに空のブロックが作られます。空のブロックでディスクが埋まらないようにするためです。支払いは、この待ち時間を待ちません。
- コンセンサスのパラメーターでは、2つのブロックの間隔は最低でも0.5秒です。
- バリデーターはジェネシスで選ばれ、今のところ変わりません。公開テストネットワークでは、4台すべてが1台のサーバーで動いています。
ブロック報酬はバリデーターに支払われます。テストネットワークでは、1ブロックあたり 2 TINT から始まり、15,768,000 ブロックごとに半減し、0.1 TINT のテール報酬で落ち着きます。
交換プール
チェーンには、TINT と TUSD を相互に交換する組み込みのプールがあります。定積ルール(x · y = k)に従い、プールの2つの準備量が変わるにつれて価格が動きます。プールは支払われた額の 0.3% を保持し、その手数料はプールに残ります。
プールは 200,000 TINT と 100,000 TUSD から始まり、価格は1コインあたり0.5テストドルです。プールを運営する人はおらず、プールのコインは引き出せません。できるのは交換だけです。
スワップでは、受け入れる最低額を指定します。プールの価格が動いて、その額を出せなくなった場合、ノードは price_moved を返し、何も使用されません。
上限
| 上限 | テストネットワークでの値 |
|---|---|
| 1つのトランザクション内のアクション数 | 64 |
| 1つのブロック内のアクション数 | 2,048 |
| トランザクションがアンカーできる最近のルート | 1,000 ブロック |
| トランザクションが有効期限を先に設定できる範囲 | 1,000 ブロック |