Symbolはいったい何をなめらかにするブロックチェーンなのか、という視点で、Symbolの基本概要、基本機能を中心にあらためてまとめたいと考え、ざっくりだがこの記事を作成した。
自分でもSymbolの概要一覧・基本機能一覧として使っていくイメージである。
ブロック生成やトランザクションをなめらかにする
Symbolには、後述するアグリゲートトランザクションという機能があり、1つのトランザクション(Tx)の中に 100個 のTxを内包することができる(以降、内部Txと呼ぶことにする)。これにより、1ブロック内で、短時間で多くのTxの処理を実現している。
項目 | 値 |
---|---|
ブロック生成間隔 | 30 秒 |
1ブロック内最大tx数 | 6,000 tx |
※アグリゲートトランザクションを含む
以上から、秒間Tx処理数は 200tx/秒 だ、と言うことができそうだが、
アグリゲートTxによる内部Txも含まれているため、一般的な秒間処理速度と比較しがたい面があるので、注意が必要である。
アカウント/アドレスの運用をなめらかにする
- ネームスペースを使って、アドレスに名前をつけることが可能
- アカウント制限機能で、特定のアドレスからのみTxを受け取れるようにすることが可能
- アカウント制限機能で、特定のトークンの受け取りを自動的に拒否することが可能
→スパムを防止したり、不必要なトランザクションを避けたりできる
トークノミクスをなめらかにする
- コンセンサスアルゴリズム:PoS+
- ハーベスティングするにはステーキング必要、しかし残高資産はロックされない。そのため、自由に資産を活用可能
※ただし、ハーベスティング/委任ハーベスティングには、10,000XYM 以上の継続保有が必要 - ノード運営者のみならず、ノードへ委任することでハーベスティングが可能
トークン(モザイク)をなめらかにする
- ウォレットを使って、ノンプログラミングで独自トークン(モザイク)の発行が誰でも簡単にできる
- ネームスペースを使って、トークン(モザイク)に名前をつけることが可能
→サブネームスペースによって、3層までの階層的な名前の運用ができる
例)
gocchi-token・・・ルートネームスペース
└ gocchi-token.food・・・2層目サブネームスペース
└ gocchi-token.food.onigiri・・・3層目サブネームスペース - 供給量の変更可能(発行時に供給量変更可能に設定した場合)
- 期限付きのトークンを発行可能
- 転送できないトークン(モザイク)を発行可能(発行者にのみ送信できる)
- 取り消し(回収)できるトークン(モザイク)を発行可能
- トークン(モザイク)にメタデータを付加可能(変更可能)
- モザイク制限機能によって、該当トークン(モザイク)を送受信できるアカウントを指定可能
マルチシグをなめらかにする
- ウォレットを使って、ノンプログラミングでマルチシグの利用が可能
→マルチシグアカウントの作成・連署人の追加・連署人の削除など - 3階層までの「マルチレベル・マルチシグ」機能あり
例)組織内の稟議に活用可能
役員クラス・・・A・B・C 署名
↑部長クラス・・・D・E・F 署名
↑社員クラス・・・G・H・I 署名
トランザクションをなめらかにする
- Txにメッセージを付加することができる
・平文でのメッセージ送信可能
・暗号化した上でのメッセージ送信可能
・ウォレットを使ってノンプログラミングでメッセージ付加可能
・0XYM 送信でメッセージのみを送ることもできる
・1つのTxにつき 1024KB までメッセージを送ることができる
→このメッセージ領域を活用してデータのフルオンチェーン保存が可能 - アグリゲート・トランザクション機能の利用が可能
→最大 100個 までの内部Txを1つのTxとして一括同時実行が可能
①アグリゲートボンデッドトランザクション
自分の署名のみでほかの必要な署名が揃っていない状態で、10XYM を担保として(ロックされ=ハッシュロックTx)ネットワークにアナウンスすることができる
※署名が揃ったら 10XYM が自動で返却される
※期限内に署名が揃わなかった場合、10XYM はネットワークに没収される
②アグリゲートコンプリートトランザクション
Tx送信時に必要な署名がすべて揃っている場合のアグリゲートTx
同一内容のTxを複数人に送信したい場合などに便利(例:NFTの配布)
クロスチェーンスワップをなめらかにする
ハッシュタイムロックコントラクト(HTLC)相当のシークレットロックTxとシークレットプルーフTxを活用
【シークレットロックトランザクション】
→秘密の値を知っている人のみがTx実行できる・・・秘密の値を含めたTxをアナウンス
→シークレットロックTxを2つのアカウント間で転送し、送信されたモザイクは、有効なシークレットプルーフTxによってロックが解除されるまでロックされたままとなる。
有効期限:デフォルトでアナウンス後 365日
【シークレットプルーフトランザクション】
→シークレットプルーフTxを使って、シークレットロックTxでロックされた資金のロックを解除し、異なるチェーン間のトークン交換を完了する。(モザイクを解除する証拠「proof」を知っていることを証明する必要がある)
例) Alice と Bob が異なるチェーン間で、10 alice:tokens と 10 bob:tokens とを交換する場合
※お互いに、各チェーンのアカウントを所有していることが必要
① Alice がランダムなバイト「proof」を生成(10-100バイト以内)
② Alice は「proof」をハッシュ化して「secret」を生成
③ Alice はシークレットロックTx:TX1 を定義
④ Alice は TX1 をプライベートネットワークへアナウンスし、Bob と「secret」を共有
⑤ Bob はチェーンからシークレットを取得し、次のシークレットロックTx:TX2 をパブリックネットワークへアナウンス
⑥ Alice はシークレットプルーフTx:TX3 をパブリックネットワークへアナウンス。このTxは使用している暗号化アルゴリズム、オリジナルの証明とシークレットを定義する。
⑦ TX3 が承認されると「proof」が明かされる。TX2 はアンロックされて Alice はロックされた資産を受け取る。
⑧ Bob は「proof」を手に入れてシークレットプルーフTx:TX4 をプライベートネットワークへアナウンスし、ロックされた資産を TX1 から受け取る。
世の中をなめらかにするために、Symbolを活用しよう!
Symbol自体、このようにたくさんのことをなめらかにしている。
そんなSymbolをうまく活用することで、世の中をなめらかにしていくことができる。
さあ、みんなでSymbolを活用して社会をなめらかにしようではないか!