瞬時に確認できる高TPSのTezosソリューション

要旨

ブロックチェーン技術は伝統的な金融機関と引けを取りません。暗号解読化され確実なピア・ツー・ピアのネットワークシステムを用いています。ブロックチェーン技術は分散化された環境を作り出し、間に「管理者を必要としない」トランザクション機能を採用しています。この信用が担保されたトランザクションは2つの関係者が存在します。つまり、トランザクションはオンチェーン状態で署名され、記録され、受信者はブロックの中に含まれた時点で、トランザクションを完全に信用し、ブロックは様々な要素からなる承認を受け取ることができます。しかしながら、分散化にはコストがかかります。トランザクションのスピードが遅く、承認に時間がかかるのです。

こちらの記事では、信用が担保されたスマートコントラクト(自動化された契約)を操作する方法を記述します。このスマートコントラクト(自動化された契約)はアトミックスワップ(第三者を介さず信用を必要とせずにコインの交換を行うこと)とマルチシグ(複数の署名)コントラクトに類似した技術を用いた解決法を基盤においています。

はじめに

テゾスは機能的なプログラミングを念頭に置いたスマートコントラクト型ブロックチェーンプロトコルです。これのおかげでテゾスのスマートコントラクトは数学的な精密さを正式に証明することが可能になりました。テゾスはデレグレート・プルーフ・ステーク(DPoS)メカニズムを実行し、出資者は新しいブロックを認証できます。それに加え、テゾスプラットフォームはオンチェーンの状態で運営管理され、出資者は自由にプラットフォームの成長と促進に向けての方法の決定権をもつことができるようになります。こういった動向にはテゾスに強固で将来に保証された安全なブロックチェーンブロトコルを確立させようという意向があるからだろうと予想されています。

テゾスは理論上、およそ1秒間に30のトランザクション(TPS)の処理量があり、数分間の承認タイム機能が備わっています。これらのテゾスのタイムは伝統的な支払い処理プログラムにはるかに及ばす、目下この状態において、水準の低い代用方法を用いています。

この記事上では、この問題の解決策としてテゾスのプロトコルの代わりに代替えソリューションであるベロス(Velos)を提案します。ベロス(Velos)は管理者を必要としない状態に類似した取引をオフチェーンの状態で行います。この機能は資金源(送信者)と資金源の保証人(ゲートウェイ/異なるネットワークの接続システム)がオンチェーンの状態で契約を作成することにより成り立ちます。一旦、契約が確立されると、送信者は保管された残高をトランザクション上での約束という形でもって目的地(受信者)に分配することができ、それはオフチェーンの状態で行われ、認証され、そしてすぐに確証されます。

トランザクション

送信者はtez(テゾスの純粋のトークン)を配布するために証明されたトランザクションを生成し、ゲートウェイ(異なるネットワークの接続システム)によって認証され、共同で署名され、そして受信者によって確証されます。一度、確証されると、受信者はトランザクションを信頼し、たとえ、それがオンチェーンの状態でおこらなかったとしても信じます。この過程はすぐに行われ、トランザクションの高スピードと低い承認タイムによってなされます。受信者はトランザクションがオンチェーンの状態で決済されると、将来におけるトランザクションという存在の価値を求めることが予想されます。

ベロス(Velos)はゲートウェイ(異なるネットワークの接続システム)が含まれていることで機能します。つまり、ゲートウェイ(異なるネットワークの接続システム)は中央集権化されたサイドチェーン(トランザクションチェーンあるいはtxchainと称される)を使って、送信者のオフチェーンの状態での残高を維持しています。加えて、ゲートウェイはコントラクト内のトークン維持もになっており、これはゲートウェイの保有と称されます。ゲートウェイがトランザクションに署名すると、送信者の残高が十分にあるかないかに関わらずゲートウェイの保有から、トランザクション保有量を分配する「確約」を提供します。

トランザクション上のチェーン

トランザクションチェーン(あるいはtxchain)はゲートウェイによって実行される中央集権的なサイドチェーンです。ゲートウェイが署名した全てのトランザクションを表します。全てのトランザクションはブロックチェーン上でのブロックと類似した方法で繋がっています。ゲートウェイはこのtxchainを用いて、定められた送信者の正確な残高を維持し、未決済のトランザクションが存在することを想定して行われます(言い換えると、オンチェーンの状態で行われていないトランザクションということです)。

ゲートウェイがトランザクションをスマートコントラクト(自動化された契約)するためには、順番になされなければなりません。つまり、トランザクションの一連の配列が確実に保たれてることです。txchainは中央集権的で分散化されてませんが、ベロス(Velos)のスマートコントラクトは悪行に対し、厳密な罰金を強要し、良い行いには報酬を与えます。

この中央有権的なtxchainを利用する利点として、トランザクションの速度があります。理論的であるベロスのTPSシステムは数千に上り、従来の支払い処理プログラムに匹敵するように開発されることになっています

ゲートウェイ(異なるネットワークの接続システム)

ゲートウェイは第三者の関係者として、自ら進んでベロスのスマートコントラクトとtxchainの即時性を操作します。ゲートウェイが巨大な中央集権的なネットワークを管理しているため、ベロス(Velos)が実行される可能性のある金融上の悪行を減らすためにいろいろな対策を行います。ゲートウェイは無効なトランザクションに署名するというメジャーな制御の仕方をします。つまり、利用できる残高を持っていない送信者のためにトランザクションに署名するのです。かりにゲートウェイが無効なトランザクションに共同で署名したとすれば、その違いは、ゲートウェイの残高から差し引かれるということでしょう。この違いは「ゲートウェイの損失」と言います。

スマートコントラクトはまた、このゲートウェイの損失に対し、tezも均等の量を「バーンする(市場に流通しているコインのうち一定数のコインを使えないようにする)」ことが組み込まれています。これは無効なトランザクションが署名されときはいつでも残金から差し引かれます。

ゲートウェイはまた最小の可採年数(RBR)を維持しなければならず、スマートコントラクトによって遵守されています。これは送信者全員が保有する総額の残高に対する保有残高の比率です。このRBRが合わない場合、予備の引き出し金と送金者の保証金は失われます。これにより、ゲートウェイの操作方法が制限されて、ゲートウェイコントラクトが、保有として十分なtezを確実に維持するようにしています。

公正に行動を起こしているゲートウェイに対してインセンティブを提供するために、トランザクションから報酬をもらい、ゲートウェイに利用可能にすることができます。それに加え、スマートコントラクトの残額が委任され、テゾスプラットフォーム上でブロックを認証し、認証報酬の形で追加のtezを獲得することができます。

トランザクション周期

トランザクション前(オンチェーン状態)

    1)ゲートウェイはコントラクトをスタートさせ、予備という形でtezを保管する
    2) 送信者はtezを送金することで、スマートコントラクト内に自分たちの残額を蓄えます

トランザクション最中(オフチェーン状態)

    3) 受信者と共同で署名入りのリクエストを作成し、ゲートウェイに送信します
    4) ゲートウェイはリクエストを認証し、署名入りの領収書を返送します。領収書は秘密鍵と組み合わせて約束を形成し、受信者に転送されます
    5) 受信者は約束を確証します。受信者は新たにトランザクションを認めることができます。この段階ではトランザクションは「未決済」とみなされます

トランザクション後(オンチェーン状態)

    6) ゲートウェイはトランザクションを決済し、オンチエーンの状態で送信者の残額を更新します
    7) 受信者は約束の価値を主張し、tezでトランザクションの残高を受け取ります
トランザクションの仕組み

トランザクションは構築され署名され、最初に送信者にだけにしか知らされていない秘密が埋め込まれています。これをtxRequestと呼びます

txRequest=送信者のアドレス+受信者のアドレス+総額+報酬+日時の記録+ハッシュ(秘密)+送信者の署名

txRequestは認証し共同署名するためにゲートウェイに送られます。かりにゲートウェイがトランザクションを有効であるとみなせば、署名つきの返答が送信者に返信されます。これをtxReceiptと呼びます。それゆえ、txReceiptは送信者とゲートウェイの両方によって署名されます。

txReceipt=txRequest+最新のTxハッシュ+ゲートウェイの署名

送信者は即座にtxReceiptと秘密を受信者に提示できるようになりました。これはtxPromiseと呼ばれます。

txPromise=txReceipt+秘密

受信者はトランザクションデータをチェックし、署名を認証し、秘密とハッシュが一致しているのを保証することでtxPromiseを認証することができます。これはオフチェーンの状態で発生し、過程全体が即時になされます。この段階で、受信者はすぐにトランザクションを信用することができます。受信者はすぐにオンチェーン状態でのトランザクションの残額を要求できるでしょう。これは秘密を明らかにすることで実行されます。

スマートコントラクト

スマートコントラクトは守らなければならない固定ルールを維持します。ベロス(Velos)はゲートウェイとtxchainが同時に作動する独自に構築されたスマートコントラクトを利用しています。スマートコントラクトは悪事に対して高い罰金を適用し、良い行いには報酬を与えることで中央集権化されたtxchainをバランスよく利用しています。それに加え、スマートコントラクトは保管された資金に対する中央集権的な管理を削除し、一つの存在が他の関係者に悪影響を及ぼすことがないようにしています。

ベロス(Velos)のスマートコントラクトは以下に対して責任を負います。

1) 送信者の残高の保有
スマートコントラクトは送信者全員の残高と利用可能な残高を保有します。トランザクションが決済されると、残高が変更されることになっています。送信者はスマートコントラクトに資金を預けることができ、利用可能な残高を増やすことができます。

特別な過程は送信者の引き出しのために特定され、その引き出しは前もって定義された窓口の経過後に成果を上げることができます(未決済のトランザクションを決済化するため)。

2)ゲートウェイによって決済されたトランザクションの受け入れ
ゲートウェイは定期的にスマートコントラクトに対してトランザクションを決済化します。つまり送信者の残高を正しく更新し、トランザクションが要求される(あるいは払い戻しされる)のを可能にします。受信者はゲートウェイに導くトランザクションに繋がる秘密を明確にすることができ、同時にゲートウェイはトランザクションを決済し、完了することができます。ゲートウェイは一度に多様なトランザクションを決済し、ガスの価格を軽減することができます。

3) 受信者によって要求されるトランザクションの受け入れ
受信者はスマートコントラクトにトランザクションを送ることでトランザクションを手動で要求する選択権を持つことができます(秘密を明らかにし、ゲートウェイがトランザクションの決済を待つのとは反対に)。

4) 送信者によって払い戻しされるトランザクションの受け入れ
潜在的な攻撃から送信者を守るため、コントラクトは送信者が請求されていないトランザクションの払い戻しを要求することができるようにし、それはあらかじめ決められた時間が経過してからのことです。

5)ゲートウェイの保有金の維持
ゲートウェイの保有はまた、スマートコントラクトを経由して格納され、管理されます。ゲートウェイは保有金に対して取りやめることができますが、RBR(可採年数)を満たさなければなりません。またゲートウェイはスマートコントラクトに預金することができます。かりにRBR(可採年数)があらかじめ決められ、価格(例えば20%)を下回った場合、ゲートウェイは送信者が預金、あるいはゲートウェイの引き出し金を受け入れることができません。

おわりに

ベロス(Velos)は方法を解説し、中央集権化されたサイドチェーンの演算処理がオンチェーン型スマートコントラクト(自動化された契約) と同時に動くようにしています。その結果として、高速で管理者の必要ないトランザクションシステムが誕生し、資金が第3者の保証人を経由して2者間に送金されます。保証人は悪行をしないように高い罰金の責任を持つようになっており、良い行いには報酬が支払われます

ベロス(Velos)はVisaのような従来の決済処理プログラムに匹敵するように開発されつつあります。そして分散型システムが発展するようにオンチェーン型スマートコントラクトの利点を生かし、速さと即決な承認が可能なオフチェーン型トランザクションへの繋がりを用いているのです

by Stephen Andrews