メインコンテンツまでスキップ

Cardanoの仕組み

ブロック、台帳、トークン、プログラム、アップグレードをステップごとに解説します。

ステークプールがブロックを生成し、UTXO台帳が誰が何を所有しているかを記録し、トークンとスマートコントラクトがその台帳の上で動き、システム全体はコミュニティが決定するハードフォークによってアップグレードされます。

基礎​

ブロックチェーンとは?

ブロックチェーンとは、中央の運営者なしに多数のコンピューターが同期を保つ台帳です。トランザクションはブロックにまとめられ、各ブロックは1つ前のブロックを参照し、参加者は誰でも履歴全体を自分で確認できます。古いブロックを書き換えると、それ以降のすべての参照が壊れてしまうため、記録の改ざんを検知できます。

ブロックチェーンごとに異なるのは、次のブロックを書く人をどう決めるか、所有権をどう表すか、そして自身のルールをどう変えるかです。このページでは、この3つの問いに対するCardanoの答えを順に説明し、そのうえで実現できること、つまりトークン、プログラム、ネットワークの自主運用について紹介します。

初めての方は、Cardanoとは何かから始めましょう

コンセンサス​

Cardanoはどのように合意に達するのですか?

CardanoはOuroborosというプルーフ・オブ・ステークのプロトコルを使っています。計算能力を競う代わりに、委任されたADAに比例して、ブロックを生成する参加者が選ばれます。

dots-with-line

スロットとエポック

時間は1秒単位のスロットと、432,000スロット、つまり5日間のエポックに区切られています。各ステークプールは、スロットごとに、委任されたステークに占める自分の割合に応じた確率で非公開の抽選を行い、当選したプールがスロットリーダーになります。平均するとリーダーがいるのは20スロットに1つだけなので、新しいブロックはおよそ20秒ごとに生成され、ほとんどのスロットはブロックなしで過ぎていきます。ときには2つのプールが同じスロットで資格を得ることがあり、その場合はどちらか一方のブロックだけがチェーンに残ります。

chains

ブロック

スロットリーダーは、保留中のトランザクションを現在のパラメーターで最大約88 KBのブロックにまとめ、署名してピアに送ります。受け取ったピアは、すべてのトランザクションを検証してから次に伝えます。上にブロックが積み重なるほどロールバックの可能性は低くなるため、ウォレットや取引所は数ブロック後にトランザクションを確定したものとして扱います。プロトコル自体がロールバックを完全に排除するのは、ブロックがチェーンの十分深い位置に達してからで、メインネットではセキュリティパラメーターによって約36時間の期間が設定されています。

proof-of-stake

安全である理由

Ouroborosは導入前に論文として発表され、査読を受けており、その保証は誠実な参加者がステークの過半数を握っている限り成り立ちます。スラッシングはありません。不正を働いたプールは報酬を得られませんが、委任されたADAが危険にさらされることはありません。


台帳​

Cardanoは、誰が何を所有しているかをどのように管理しているのですか?

Cardanoは拡張UTXOモデル、略してeUTXOを使っています。残高を持つ口座の代わりに、台帳には未使用トランザクション出力、つまりそれぞれがアドレスにロックされた価値のお札が1枚ずつ記録されています。トランザクションはお札を丸ごと入力として消費し、新しいお札を出力として作ります。入力の合計は出力の合計と手数料の和に等しくなければならず、余りはおつりとしてあなたに戻ります。ウォレットに表示される使用可能な残高は、そのウォレットがロックを解除できるお札の合計にすぎません。唯一の例外はステーキング報酬で、報酬は別の報酬アカウントに貯まり、それをお札として引き出すこと自体が1つのトランザクションになります。

この仕組みには、ユーザーにとって重要な点が2つあります。1つ目は、トランザクションが何をするかは組み立てた時点ですべて確定しているため、署名する前にウォレットが正確な結果と手数料を示せることです。2つ目は、お札は一度しか使えないため、2つのトランザクションが同じお札を使おうとすると、成功するのはどちらか一方だけだということです。もう一方は、組み立てた時点ですべてのチェックを通っていたとしても丸ごと拒否され、一部だけが適用されることはありません。アプリケーションは価値を多数のお札に分けたり、まとめて処理したりしてこれに対応しています。Cardanoのアプリの中に、注文を1件ずつではなく複数件まとめて処理するものがあるのはこのためです。

「拡張」の部分がプログラムを可能にしています。出力はデータを持つことができ、鍵ではなくスクリプトでロックできます。そして、トランザクションがその出力を使えるかどうかはスクリプトが判断します。

eUTXOモデルの解説

トランザクション​

トランザクションの費用と所要時間は?

手数料はオークションではなく計算式で決まります。固定部分とバイトあたりの部分からなり、どちらもプロトコルパラメーターで設定されています。2026年時点のメインネットでは、155,381 lovelaceに1バイトあたり44 lovelaceを加えた額で、数百バイトの一般的な送金なら約0.17 ADAです。ほかのプロトコルパラメーターと同じく、これらの値はガバナンスを通じて変更されることがあります。ネットワークが混雑しても手数料は上がらず、トランザクションが少し長く待つだけです。

また、台帳がダスト(ごく少額の出力)であふれないよう、すべての出力には最低限のADAを入れておく必要があります。最低額は出力のサイズによって決まり、ADAだけのシンプルな出力ならおよそ1 ADA、トークンやデータを含む場合はそれ以上になります。このADAは手数料ではなく、出力の中に残り、その出力が使われるときに戻ってきます。ステークキーの登録に返還可能なデポジット(現在は2 ADA)が必要なのも、同じ理由です。

ブロックはおよそ20秒ごとに生成されるため、トランザクションは通常1分以内にチェーンに記録されます。その後、ウォレットや取引所は、確定したものとして扱う前に、上にさらにブロックが積み重なるのを待ちます。日常的な用途なら通常数分、高額な送金ならそれ以上です。

ドキュメントで手数料の構造を見る

トークン​

トークンはどのように作られるのですか?

Cardanoのトークンはネイティブです。台帳がADAとほぼ同じようにトークンを直接管理するため、作成、送信、保有にスマートコントラクトは必要ありません。トークンはミンティングポリシーによって定義されます。これは、誰がトークンを作成または破棄できるかを定める小さなスクリプトまたは鍵です。発行されたトークンは、通常のトランザクション出力の中でADAと一緒に移動し、1つのトランザクションで多くの異なる資産を運べます。ADAには特別な役割が残されています。手数料とデポジットを支払えるのはADAだけ、ステーキング報酬として支払われるのもADAだけで、トークンを含むすべての出力には一定のADAも入れておく必要があります。

NFTとは、同じ資産を二度と発行しないポリシーのもとで、数量1で発行されたトークンにすぎません。そのトークンが何を表すか、たとえば画像や名前などは、通常メタデータで記述され、CIP-25やCIP-68などの標準が、ウォレットやマーケットプレイスがそれを読み取る方法を定めています。

ドキュメントでネイティブトークンを見る

スマートコントラクト​

スマートコントラクトはどのように実行されるのですか?

Cardanoのスマートコントラクトはバリデーターです。つまり、トランザクションをチェックし、有効かどうかという1つの問いに答えるスクリプトです。多くの場合は出力を守り、トランザクションがその出力を使えるかどうかを判断しますが、スクリプトはトークンの発行と焼却、報酬の引き出し、証明書、さらにChangアップグレード以降はガバナンスの投票や提案も管理します。トランザクション自体は、スクリプトが必要とするすべての入力、出力、データを含めて、ユーザーのウォレットやアプリが組み立てます。スクリプトはほかのサービスを呼び出すことも、後から判断を変えることもできないため、結果は予測可能です。

スクリプトはAikenやPlinthなどの言語で書かれ、ノードが実行する言語であるPlutus Coreにコンパイルされます。実行料金は、別枠で設定するメモリと処理ステップの予算に、あらかじめ決められた単価を適用して算出されるため、基本手数料とまったく同じように、コストは送信前にわかります。通常はアプリやウォレットが署名を求める前にスクリプトを評価するため、オンチェーンでの失敗はまれです。それでもオンチェーンでスクリプトが失敗した場合は、少額のコラテラル(担保)がネットワークの処理コストを賄います。そのため、DAppに接続するウォレットは、この目的のために一定のADAを確保しています。

スマートコントラクトの解説

ネットワーク​

ネットワークを運用しているのは誰ですか?

Cardanoのノードは誰でも運用できます。ステークプールはブロックを生成するノードで、個人、企業、コミュニティによって運営されています。プールにADAを委任すると、そのプールが選ばれる確率が上がり、ADAをどこにも移動させることなく、プールの報酬の一部を受け取れます。報酬はエポックごとに、新たに放出される準備金のADAとトランザクション手数料から支払われます。

プロトコルは、飽和点を超えないプールに最も多くの報酬を与えるため、特定のプールが大きくなりすぎることを抑えられます。また、プールオペレーターはコミットメントとして自分のADAの一部をプレッジします。登録されているプールは3,000近くあり、1つのエポックでブロックを生成するのはおよそ1,000です。

新しいノードは、チェーンの全履歴を再生するか、Mithrilが生成した署名付きスナップショットから始めることで、チェーンに追いつきます。Mithrilは、同じステーク分布に裏付けられた署名者のネットワークです。委任するよりもブロック生成に協力したい方は、自分でステークプールを運用することもできます。

ADAを委任する

アップグレード​

Cardanoはどのように変化していくのですか?

Cardanoはハードフォークによってアップグレードしますが、この言葉から通常連想されるチェーンの分裂は起きません。ハードフォークコンビネーターにより、1つのノードがプロトコルのすべての時代(エラ)を理解できるため、あるルールから次のルールへの切り替えは、全員が事前に知っているエポックの境界で行われます。各時代では新しい要素が加わりました。ステーキング、ネイティブトークン、スマートコントラクト、より安価なスクリプト、そしてオンチェーンガバナンスです。

2025年以降、ハードフォークはそれ自体がガバナンスアクションです。オンチェーンで提案され、憲法委員会、委任された代表者、ステークプールオペレーターのそれぞれが承認して初めて施行されます。手数料やブロックサイズなどのプロトコルパラメーターも同じオンチェーンのプロセスで変更されますが、3つの主体のうちどれが投票する必要があるかはアクションの種類によって異なります。ガバナンスの仕組みをご覧ください。

これまでのすべてのアップグレード

用語​

これらの用語の意味は?

このページで使われている用語です。それぞれ用語集の項目にリンクしています。

  • UTXO:未使用の出力、価値のお札1枚。
  • eUTXO:出力にデータとスクリプトを持たせる拡張モデル。
  • エポック:5日間、432,000スロット。
  • スロット:1秒、時間の単位。
  • スロットリーダー:あるスロットのブロックを生成する資格を得たプール。
  • ステークプール:委任されたステークを持つ、ブロックを生成するノード。
  • ネイティブトークン:ADAと並んで台帳が直接管理する資産。
  • Plutus Core:オンチェーンのスクリプト言語。
  • コラテラル:スクリプトがオンチェーンで失敗した場合に備えて確保されるADA。
  • ハードフォークコンビネーター:1つのノードですべての時代(エラ)を扱えるようにする仕組み。
  • Mithril:ノードを高速に立ち上げるための署名付きスナップショット。
  • DRep:ガバナンスにおける委任された代表者。
用語集を開く

FAQ​

プルーフ・オブ・ステークのプロトコルであるOuroborosを通じて選びます。ブロックは、委任されたADAに比例して選ばれるステークプールによって生成されます。Cardanoがマイニングを使ったことは一度もありません。

ブロックはおよそ20秒ごとに生成されるため、トランザクションは通常1分以内にチェーンに記録されます。各サービスは確定したものとして扱う前にさらに数ブロック待ち、プロトコル自体がロールバックを完全に排除するのは、それよりはるかに長い期間が経過した後です。

いいえ。Cardanoにスラッシングはありません。委任したADAはウォレットに残ったままで、運営の質が低いプールを選んでも失うのは報酬だけです。

オークションという意味でのガスはありません。手数料はトランザクションのサイズに基づく固定の計算式で決まり、スクリプトの実行には別に価格が決められた予算があるため、コストは署名前にわかり、需要が増えても上がりません。

スロットは1秒単位の時間の単位です。ブロックを生成するリーダーがいるのは平均して20スロットに1つだけなので、ブロックはおよそ20秒ごとに生成されます。

Cardanoのリファレンスノードと台帳のルールは、Haskellで書かれています。Haskellは関数型言語で、プロトコルの基盤となる形式仕様にコードを近い形で保てます。Cardano上のアプリケーションはさまざまな言語で書けますが、オンチェーンのスクリプトはPlutusやAikenで書かれます。

腕試しをしてみませんか?技術クイズに挑戦しましょう。