Qlyphs ドキュメント

基本から考える

3 つの問いに、いちばん土台から答えます。これがわかれば、ほかのページは細部にすぎません。

Qlyphs は、3 つの問いへの答えの上に作られています。それぞれの答えは、ひとつ前の答えを土台にしています。このページでは、Quantus やトークンについての予備知識がなくても読めるように、ゼロから順に考えていきます。

ほかのページもすべて同じ進め方です。まず問い、次に考え方、それから仕組み、最後に何が保証され、どこまでが限界か。

1. 誰が何を持っているかを、誰が決めるのか?

問い

Alice が 750 GLYF を持っているとき、それを本当にしているのは何で、誰ならそれを変えられるでしょうか?

トークンの残高は「主張」です。 その主張を本当にする何かが必要です。置き場所の候補は 3 つあります。

会社のデータベース? それなら、残高は運営者が言うとおりの数字になります。書き換えたり、なくしたり、凍結したりしないと、運営者を信じるしかありません。

チェーンに新しい機能を組み込む? それならチェーンそのものを変える必要があり、トークンのルールを 1 つ変えるたびにネットワークのアップグレードが必要になります。

みんながすでに合意している履歴から導かれる結果にする。 チェーンは、署名されたメッセージの同じ順番のリストを、すでに全員に配っています。それを読むための正確なルールを決めれば、残高はそこから自然に決まります。残高を握る運営者はいません。誰でもチェーンから計算し直せます。Qlyphs がしているのはこれです。

  1. 01 / 05

    チェーンは、署名されたメッセージの順番付きリスト

    ブロックチェーンをそぎ落としていくと、残るのは全員が合意している履歴です。それぞれ送り手が署名したメッセージが、1 つの順番で並んでいます。Quantus が提供するのはまさにこれです。GLYF トークンが何なのかを知る必要はありません。

  2. 02 / 05

    ルールが、ある状態を次の状態に変える

    ルールを関数として書きます。今の状態と次のメッセージを受け取り、新しい状態を返します。正しいメッセージは残高を変えます。持っている以上を使うような正しくないメッセージは拒否され、何も変えません。

  3. 03 / 05

    履歴を再生すると、台帳ができる

    決まったブロックの空の状態から始め、すべてのメッセージに順番に関数を当てはめます。結果が台帳、つまり誰が何を持っているかです。誰も残高を手で入力していません。履歴から導かれます。

  4. 04 / 05

    誰でもでき、同じ答えになる

    同じ履歴、同じルール、同じ出発点なら、台帳も 1 バイトまで同じになります。ハッシュを取れば、短いフィンガープリントになります。別々の言語で書かれた 2 つの独立したプログラムは、互いを信じるかわりにフィンガープリントを比べられます。

  5. 05 / 05

    1 バイト変えれば、誰でも気づける

    履歴のメッセージを 1 つでも書き換えると、再生で得られる台帳が変わり、フィンガープリントも変わります。だから署名されたフィンガープリントは確かめる価値があります。状態全体をしっかり固定するからです。

上のフィンガープリント(指紋のような要約値)は、短くした説明用のものです。本物は、状態全体にわたる SHA-512 のルートです。

この 1 つの考え方で、プロトコルの大部分が説明できます。2 つのプログラムが違う読み方をしないように、メッセージはバイト単位で正確でなければなりません。メッセージをご覧ください。ルールは、何もないところから単位を生み出してはいけません。台帳をご覧ください。そして全員が同じブロックから始め、まだ変わる可能性のあるブロックは無視しなければなりません。ファイナリティをご覧ください。

2. 相手を信用せずに、どう支払うのか?

問い

あなたは QTC を送り、売り手はトークンを送ります。どちらが先に送り、相手が送らなかったらどうなるでしょうか?

先に動いたほうがリスクを負います。 先に払えば、売り手はお金を持ち逃げできます。先に渡せば、買い手はトークンを持ち逃げできます。

エスクロー(第三者預かり)はリスクを移すだけで、なくしはしません。 今度は仲介者が資金を預かり、あなたはその仲介者を信じることになります。

かわりに、分けられない 1 つの出来事にします。 Quantus では、いくつもの呼び出しを 1 つのバッチとして実行できます。バッチは完全に成功するか、ネットワーク手数料以外は何も残さないかのどちらかです。支払いと、一度しか使えない条件を、同じバッチに入れます。

届けるのはルールにまかせます。 トークンは、あなたが支払う前から、この販売のために確保されています。そのとおりのバッチが成功すると、プロトコルが確保されたトークンをあなたに移します。届けるかどうかをサーバーが決めることはありません。

試してみましょう。どれかのステップを壊してから、バッチを送ってください。

Quantus の取引 1 つ · batch_all
壊すステップ:
  1. 使い切りチケットを使うこの購入が最初で唯一のものだと証明します。
  2. 売り手に 10 QTC を支払う代金を受取アカウントへ直接。
  3. 手数料 0.1 QTC を支払う代金の 1%、切り上げ。

壊すステップを選ぶか「なし」を選んで、送信してください。

二重払いを防ぐのは、この一度しか使えない条件です。ちょうど一度だけ使えるので、2 回目の購入は最初のステップで、支払いの前に失敗します。取引では販売の流れを最後まで追い、オープン出品では 2 人の買い手の競争を見せ、うまくいかないときではあらゆる失敗のケースを順に説明します。

3. すべてを再生せずに、ウォレットはどう確かめるのか?

問い

支払う前に、ウォレットはトークンが本当にあなたのために確保されていると知る必要があります。でもチェーン全体を再生することはできません。では、何を確かめられるでしょうか?

Web サイトの答えは信用できません。 乗っ取られたサーバーは、存在しない確保を表示できてしまいます。

署名なら確かめられます。 独立した再生プログラムが台帳を計算し、そのフィンガープリントに署名します。ウォレットにはそれらの公開鍵が組み込まれているので、Web サイトが自分の鍵に差し替えることはできません。

作りの違う 2 つを必須にします。 1 つは TypeScript で、もう 1 つは Python で書かれています。どちらも、確定したブロックについて、最近、同じフィンガープリントに署名していなければなりません。

支払いの根拠になる状態そのものを確かめます。 ウォレットは、署名され確定した状態の中から確保を見つけ、それをもとに購入を組み立てます。1 バイトでも変えられていれば、チェックは失敗します。次の段階では、選択的な証明(開発中)により、購入する項目と、署名されたフィンガープリントまでの短い経路だけを送ります。

署名が保証するのは、証人(ウィットネス)が何を計算したかです。証人が正直であることまでは証明しません。だから証人は 2 つあり、それぞれ独立して作られています。そして、どれか 1 つでもチェックが欠けていれば、ウォレットは拒否します。検証できる設計では証明がツリーを上っていく様子を見せ、なぜ耐量子なのかでは署名に ML-DSA-87 を使う理由を説明します。

1 ページでわかる考え方

問い原則仕組み読む
誰が何を持っている?所有は合意された履歴から決まるQLYP メッセージの決定的な再生台帳
履歴はいつから数える?もう変わらないものだけ固定されたアンカー、確定したブロックファイナリティ
安全に支払うには?支払いと条件を 1 つの出来事に使い切りチケット付きのアトミックなバッチ取引
失敗したら?2 つの台帳、別々の答えネイティブのロールバック、QLYP による拒否うまくいかないとき
ウォレットはどう知る?サーバーではなく署名を確かめる2 つの証人が同じ状態に署名する検証できる設計

このページの内容