Stellar - おさらい。利用にあたって知っておくと良いかもしれないこと

StellarX記念(前回記事)
Stellarの利用者が増えたらいいな、の期待を込めて、
利用するにあたっての事前知識的なStellar特有事項を簡単にまとめておきたい。
派生元のRipple/XRP Ledgerと大体一緒なんだけどね。

アカウントと最小残高

Stellarを使うためには、そのネットワーク上にアカウントを作成する必要がある。
これは、Stellarの台帳にアカウント情報を管理してもらうことになるのだが、
台帳に情報を保管してもらうためには、いくらかのルーメン(XLM)をアカウント紐付けでロックしなくてはならない。
現在その最小値は 1 XLMになっており、アカウント削除以外の方法でこれを取り出すことはできない。
つまり、残高0のアカウントは存在しない。

また、以下の追加情報を台帳に保管できるが、これらも保管都度 0.5 XLMがロックされる。 (台帳から情報が削除されればロックは解放される)

  • トラストライン
  • (DEX用)売買注文
  • (マルチシグ用)追加の署名者
  • key-valueペアのデータ

アカウントの削除について

全ての残高を別のアカウントへ移動させるAccount Mergeという特別な操作がある。 それを行うと最小残高も含めた全てのルーメンが別のアカウントへ移動するので
正確には削除ではないが、実質削除となる。

トラストラインとアセット発行

Stellarでは自由にトークン/アセットを発行できる。
しかし、「私はそれが欲しいです」と意思表示した人でないとそれを受け取れない。
この意思表示を表すのがトラストラインである。
トークン/アセット指定と枚数をトラストラインで設定する。
トラストラインなしでは、XLM以外のトークンは貰えないし、売買もできない。
勝手に送りつけられることがない。

発行元ではアカウント毎にトラストラインを承認/否認することができ、相手を選べる。
既にトークン/アセットを所有しているアカウントのトラストラインを否認すると資産凍結ということになる。
また、トークン/アセットは発行元に戻ると消滅する。(台帳上から消える。発行元は無限個持っているとも言える)
なので、発行枚数など、厳密に管理したい場合は発行アカウントと配布アカウントを分けると便利。

台帳上では、トークン/アセットはコード(JPYとか)と発行アカウントのペア(誰が発行した何というトークンか)で識別される。
それ以外の情報はホームドメイン, stellar.tomlで設定することが推奨される。

ホームドメイン と stellar.toml

アカウントにはホームドメインというものを設定できる。
台帳にデータを保存することはできるが、
Stellar的には台帳に保存しなければならない情報以外は、可能な限りStellarネットワーク外へ置き、 そちらを参照するというような方針を採っている。
その参照先を表すのがホームドメインである。

アカウントの持主が誰であるか とか
トークン/アセットの詳細 とか
https://<ホームドメイン>/.well-known/stellar.toml
のURLを参照し、情報を補完するような仕様が用意されている

トークン用のガイドライン

  1. トークン発行者のアカウントを確認する
  2. そのアカウントのホームドメインを得る
  3. ホームドメインのstellar.tomlを参照する

とすることでトークン詳細が得らるようにするべき、とされている。
トークン用stellar.tomlの公式ガイドラインがある(リンク) (仕様はこっち)
(Stellarネットワーク外に紐付けらた資産がある場合はさらに追加の仕様)
発行枚数とか名称とかアイコンとかはもちろん、運営者の情報など色々あります。

強制ではないし、全部設定する必要もないけれど、StellarXはこれを参照すると言っています。
Stellar台帳上に存在する全てのトークンがリストアップされるが、
きちんと情報公開してあるトークンのほうが扱いがよくなる。と思われる。

トランザクションと手数料

Stellar台帳の更新依頼をトランザクションと言います。
トランザクションは複数のオペレーション(台帳操作命令)によって構成されており、
実行結果は、
一つのオペレーションも実行されない(失敗) または
全てのオペレーションが実行された(成功) の
いずれかとなる。(途中まで成功はない)
一つのトランザクションには最大100個までのオペレーションを含めることができる。

オペレーション一つあたり100stroops(1XLM = 1000万stroops)の手数料がかかる。
この手数料はネットワークに支払われプールされるが、
インフレーションと合わせてほぼ手元に戻ってくる。

インフレーションと実質手数料無料

ルーメン(XLM)総量は毎年1%ずつ増加し、
増えたルーメンはトランザクション手数料と同様にプールされる。
この増加したルーメンは特定の条件に合致するアカウントに毎週払い出される。

この仕組みを利用して、払い出されたルーメンをさらに皆に配布すると手数料をカバーできたりする。
StellarXはそれをするようだ。

むすび

ぐだぐだ書いたようなことを、
知らなくても、気にしなくても、使えることが大事。
あと、こうやって分かった気になるのが一番危ない。


See also