見出し画像

Astar Network勉強会(devillageさん主催 3/6(日)21:00~)

こんにちは、CryptoGamesの高橋です。

クリスペの会社です。

また、CryptoMaidsのアンバサダーも務めさせていただいております。

この度はdevillageさん主催の勉強会で、Astar Networkについてお話しすることになりましたので、お話し内容をここに記載します。

予習や復習などにお役に立てていただければ幸いです。

1 Polkadotについて

1ー1 構成

次のような2つのチェーンによって構成されています。

① Relaychain
② Parachain

スクリーンショット 2022-02-23 18.08.45

1ー2 Relaychainとは

Polkadotコアです。

スクリーンショット 2022-02-24 10.12.48

次の部分を担当しています。

① ネットワークのセキュリティ
② コンセンサス
③ チェーン間の相互運用性

なお、③は、XCMP(Cross-chain Message Passing)とも言われます。

パラチェーンAからパラチェーンBにメッセージを送ることができます。

1ー3 Parachainとは

ParachainはRelaychainに接続されておりますが、それ自体が独立したブロックチェーンです。

スクリーンショット 2022-02-24 10.13.00

また、特定のユースケースに対して、機能を最適化しています。

2 Astar Networkについて

2ー1 概要

Astar Networkは最初の拡張性に特化したスマートコントラクトパラチェーンになることを目指しています。

スクリーンショット 2022-02-23 18.33.22

2ー2 スケーラビリティについて

スケーラビリティには2つのタイプがあります。

① L1スケーラビリティ(水平的)
② L2スケーラビリティ(垂直的)

下の図がわかりやすいと思います。

スクリーンショット 2022-03-04 8.04.08

L2の構造を組み合わせることで、Astar Network上で色々なDappsの作成が可能になります。

スクリーンショット 2022-02-23 18.53.24

3 Plasmaとは

3ー1 概要

Plasmaはブロックチェーンのスケーリングソリューションの一つです。

① サイドチェーンを作り
② メインチェーンへの接続

ができます。

スクリーンショット 2022-03-04 6.22.32

Plasmaはブロックチェーンを

① 安全性と分散化を犠牲にすることなく
② 速く・安くする

ということを念頭に置いています。

3ー2 Asatar内での具体的な処理

Plasma

①チェーンの外の
②マークルツリーで
③高速に
④トランザクションを管理・処理
します。

スクリーンショット 2022-03-04 6.28.04

そして、Aggregator

①チェーン外の処理を実行して
②マークルルートだけをブロックチェーンに送ります。

これによって、ブロックチェーンに書き込む量が大幅に削減されます。

3ー3 状態遷移について

Plasmaは
①トランザクションではなく、状態を保持
状態遷移のルールはOVMで定義されます

スクリーンショット 2022-03-04 6.37.36

状態遷移のフローは次のようになります。

① オーナーがトランザクションを署名
② Outputとして特定
③ OVMを使って記述される

スクリーンショット 2022-03-04 6.41.39

OVMのロジックは「一階述語論理」で記載され「Predicate(述語論理)」と呼ばれているようです。

余談(命題論理と述語論理について)

専門ではないので参考です。

下のように「全ての〜」「いくつかの〜」というような「量化子」が入るものが述語論理と呼ばれるようです。

スクリーンショット 2022-03-04 7.43.04

下の動画を参考にしました。

4 Astar/Shiden Network Family

大まかに、下のようになります。

① Astar:ポルカドットのパラチェーン
② Shiden:クサマのパラチェーン
③ Shibuya:Shidenのテストネットワーク
④ Local Network:ローカル環境で動く

4ー1 Astar/Shiden

① Astar:ポルカドットのパラチェーン
② Shiden:クサマのパラチェーン

スクリーンショット 2022-02-23 17.55.29

現時点では、まだポルカドットのパラチェーンは利用ができないため、現在はShidenのみ利用ができます。

なお、Shidenもそれ自体に経済的価値があります。

4ー2 Shibuya

③ Shibuya:Shidenのテストネットワーク

スクリーンショット 2022-02-23 17.59.52

ほぼShidenと同様の動きをするため、新しい機能の追加時などには、Shibuyaでテストを行います。

4ー3 Local Network

④ Local Network:ローカル環境で動く

スクリーンショット 2022-02-23 18.04.28

5 collatorsとは

スクリーンショット 2022-03-04 4.59.07

5ー1 概要

collatorsはネットワーク環境の維持に重要な役割を果たします。

① ブロックの生成
② トランザクションの確認

スクリーンショット 2022-02-24 6.08.58

5ー2 collatorの役割

次のような役割があります。

① トランザクションを候補となるブロックに集約する
 (まだこの時点ではそのブロックがつながるかが確定していない)
② バリデータのために状態遷移証明を作成する

スクリーンショット 2022-02-24 6.52.51

画像32

なお、validatorsと異なり、collatorsはネットワークを安全にするわけではありません。

妥当でないブロックはvalidatorsに拒絶されます。

スクリーンショット 2022-02-24 6.53.41

さらにcollatorsが多すぎるとネットワークが遅くなる可能性もあります。

画像31

5ー3 XCMPの立役者

Parachain間でメッセージを送れる仕組みをXCMPと呼び、ポルカドットの重要な機能の一つです。

このキーとなるのがcollatorです。

スクリーンショット 2022-02-24 6.58.21

Relaychainフルノードとなることで、お互いをpeersとして連携し、XCMPを可能にしています。

スクリーンショット 2022-03-04 5.20.01

6 collatorの動きを見てみよう

6ー1 最新のファイルを取得する

次のようにバイナリファイルの取得方法には2種類あります。

① Githubから取得する
② ソースから作る

スクリーンショット 2022-02-23 21.30.31

ここでは、Githubから取得していきます。

こちらからダウンロードを行います。(私はMacなので「MacOS」から)

スクリーンショット 2022-02-23 15.06.28

では、こちらに沿って、実行許可とバージョンの確認を行いましょう。

chmod +x ./astar-collator
./astar-collator --version

スクリーンショット 2022-02-23 21.32.39

私の場合は、このようにバージョン確認がそのままできませんでした。

スクリーンショット 2022-02-23 15.21.11

下のように、「システム環境設定」から「セキュリティとプライバシー」に進みます。

スクリーンショット 2022-02-23 15.52.18

「このまま許可」を押します。

スクリーンショット 2022-02-23 15.21.38

再度実行すると、このように表示されます。

ご自身の責任でリスクを確認した上で、問題なければ「開く」を選択

スクリーンショット 2022-02-23 15.22.02

このように、バージョンの確認ができました!

スクリーンショット 2022-02-23 15.22.15

6ー2 ローカルのネットワーク環境を実行する

下のコマンドで、ローカルのネットワークを立ち上げましょう。

./astar-collator --port 30333 --ws-port 9944 --rpc-port 9933 --rpc-cors all --alice --dev

スクリーンショット 2022-02-23 16.43.39

このように立ち上がりました。

スクリーンショット 2022-02-23 16.45.38

ちなみに、よく見てみると、ブロックの生成は次のようなステップを踏んでいるようです。

① Starting consensus session
② Prepared block(ブロックの準備ができた)
③ Pre-sealed block(封をする前のブロック)
④ Imported(取り込み完了)

大まかに、こんな感じになっています。

スクリーンショット 2022-03-04 5.41.40

6ー3 エクスプローラーからローカルネットワークを見てみる

ターミナルからだけではなく、下のようにポルカドット・エクスプローラーからも見ることができます。

スクリーンショット 2022-02-23 17.17.39

このように、アカウントの情報も見ることができます。

スクリーンショット 2022-02-23 17.22.10

なお、こちらのポルカドット・エクスプローラEthereum RPCには対応していないようです。

7 参考

こちらは参考です。

7ー1 メタマスクにネットワークを追加する

メタマスクに「Shibuya」ローカルネットワークなどを入れるためには、下の情報を「Custom RPC」から入れていきましょう。

スクリーンショット 2022-02-23 17.32.54

7ー2 メタマスクにローカルのトークンを入れる(現時点では参考です。)

そもそも、なぜポルカドット・エクスプローラからメタマスクのウォレットに直接トークンを送ることができないのでしょうか。

スクリーンショット 2022-02-23 17.36.46

それは、上にあるようにアドレスのフォーマットが異なるためです。

① Substrate:SS58フォーマット
② Metamask(EVM):H160フォーマット

そのため、メタマスクのアドレスをSS58フォーマットに変換する必要があります。


以上で終了いたします。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊