Solanaは、スマートコントラクトを実行する高速で低手数料のブロックチェーンで、決済、取引、アプリによく使われます。この記事では、誰が作ったのか、スロットと手数料がどう動くのか、トークンの送信に少額の追加デポジットが必要になることがある理由、そしてリアルタイムで追う方法を説明します。
基本は、先にブロックチェーンとはをお読みください。
Solanaとは何か、誰が作ったのか
Solanaは、2017年にそのアイデアを発表したアナトリー・ヤコヴェンコによって設計され、メインネットは2020年に始まりました。最初はSolana Labsという企業が構築し、現在ではソフトウェアはオープンソースで、複数のチームが開発に携わっており、非営利の財団がエコシステムを支えています。
Solanaは、スケーリングの問題を解決するために作られました。アクティビティを多数のレイヤーに分けるのではなく、単一の共有チェーンのまま、日常的な利用に十分なほど速く安くするという考え方です。現在の主な用途は、トークンの送金、取引、決済、ゲーム、コンシューマー向けアプリなどです。もう一つのアプローチについては、レイヤー1・レイヤー2・レイヤー3をご覧ください。
仕組み:スロットとリーダー
Solanaはプルーフ・オブ・ステークのチェーンです。時間は約400ミリ秒のスロットに区切られます。各スロットで、1人のバリデーターがリーダーとなり、ブロックを生成します。リーダーのスケジュールは事前に計算され、ステークに応じて重み付けされているため、次に誰がリーダーになるかは全員にわかります。数スロット後に、次のリーダーが交代します。
リーダーがオフラインなら、そのスロットはスキップされ、ブロックがありません。スロット番号が飛んでいるところがあるのは、そのためです。より長い単位であるエポックは、432,000スロット、約2日間続きます。
プルーフ・オブ・ヒストリーをやさしく
バリデーターは、イベントの順序について合意する必要があります。**プルーフ・オブ・ヒストリー(proof of history)**は、検証可能な時計を作る方法です。ハッシュの連鎖が順番に計算され、各ハッシュが、前のハッシュから何らかの時間が経過したことを証明します。取引はこの連なりの中に刻印されるため、バリデーターは順序について合意するために、全員からのメッセージを待つ必要がありません。Solanaがこれほど速く動ける理由の1つです。これは時計であり、コンセンサスそのものではありません。コンセンサスには、ステークで重み付けされた投票が使われます。
ファイナリティ
Solanaは3つのレベルを報告します。Processedは、リーダーが取引を含めたことを意味します。Confirmedは、ステークの超多数がそれに投票したことを意味します。Finalizedは、さらに31のconfirmedスロット(約13秒)の背後にルート化されたことを意味します。ほとんどのウォレットは、confirmedまたはfinalizedを待ちます。ファイナリティと承認数をご覧ください。
手数料
ネイティブコインはSOLです。その最小単位はlamportで、1 SOLは1,000,000,000 lamportsです。
- 基本手数料: 署名1つにつき5,000 lamports。単純な送金は署名が1つなので、0.000005 SOLです。
- 優先手数料: 任意です。コンピュートユニットあたりのマイクロランポートで価格が付けられます。取引は、作業量の尺度である一定数のコンピュートユニットを要求し、優先手数料が高いほど、混雑した瞬間に選ばれる可能性が高まります。
手数料が上がるのは、2つの場合です。ホットなトークンの発売時のように、同じ人気アカウントへの需要が集中するとき、そして、送信者が競争のために優先手数料を引き上げるときです。それでも、手数料はイーサリアムメインネットと比べれば、通常小さいままです。Solanaの優先手数料とガスと手数料をお読みください。
アカウントモデルとSPLトークン
Solanaでは、プログラム(スマートコントラクト)が、それが使うデータとは分かれています。データはアカウントに保存され、取引は、読み書きするすべてのアカウントを列挙します。これにより、異なるアカウントに触れる多数の取引を並列に実行できます。
トークンはSPLトークン規格に従います。ウォレットのアドレスが、トークンを直接保持するわけではありません。保有するトークンごとに、あなたのアドレスとそのトークンのミントに結びついた、専用の関連トークンアカウント(associated token account)があります。誰かが初めてUSDCをあなたに送るとき、そのための関連トークンアカウントを作成する必要があります。これには約0.002 SOLのレント免除のデポジットが必要で、ほとんどのウォレットでは送信者が支払います。このデポジットは手数料ではありません。アカウントに残り、アカウントを閉じれば取り戻せます。新しいウォレットにUSDCを送ってウォレットに少額のSOLの追加コストが表示されたら、それが理由です。
アドレス
Solanaのアドレスはbase58の文字列で、通常32〜44文字です。0、O、I、lを除く文字と数字で構成されます。0xのEVMアドレスとは異なるため、SolanaのアドレスをイーサリアムやBaseで使うことはできず、その逆もできません。SOLやSPLトークンを送るときは、必ずSolanaネットワークを使ってください。ウォレットと鍵をご覧ください。
過去の障害
Solanaには、特に初期の数年間に、ソフトウェアのバグや取引の殺到によって、ネットワークが停止または低速化した時期がありました。その後、開発者はこれに対処するため、ソフトウェアを何度も変更してきました。信頼性は時間とともに向上していますが、イーサリアムやビットコインより障害の履歴が多いネットワークであることは、公平に言えます。古い報告に頼らず、実際の動作を確認してください。
Solanaの比較
| Solana | Ethereum | Base | Polygon | |
|---|---|---|---|---|
| ブロック時間 | 約0.4秒 | 12秒 | 2秒 | 約2秒 |
| ガストークン | SOL | ETH | ETH | POL |
| アドレス形式 | Base58 | 0x | 0x | 0x |
| セキュリティモデル | 独自のレイヤー1 | 独自のレイヤー1 | イーサリアム上のロールアップ | 独自のバリデーター |
Solanaは、独自のツールを持つ、単一の高速なチェーンであり、EVMチェーンではありません。イーサリアム向けに書かれたアプリは、そのままでは動きません。チェーンごとに手数料が違う理由と、USDCを最も安く送る方法をご覧ください。
注意すべき点
- ネットワークの間違い。 イーサリアム系のネットワークからSolanaのアドレスにUSDCを送ったり、その逆をしたりすると、失敗するか資金を失います。両側でネットワークを一致させてください。
- トークンアカウントがない。 受取人がそのトークンを一度も保有したことがなければ、最初の転送には追加のデポジットがかかります。
- 偽トークン。 誰でも、よく知られた名前でトークンを作れます。ミントアドレスを確認してください。
- ウォレットドレイナー。 理解できない取引には、決して署名しないでください。
- ネットワークの混雑。 まれな混雑時には、取引が破棄されることがあります。優先手数料を付けて再試行してください。
ChainMonitorでSolanaをリアルタイムに追う
- ライブスロット: ライブストリームから1秒ごとに1枚のタイルを描画し、リーダー、取引、手数料を表示します。
- 最新ブロック一覧と、取引やアドレスを探せるヘッダーの検索。
- ガストラッカー: 現在のSOL送金、USDC転送、スワップのコスト。
- SolanaのRPCヘルス: 公開エンドポイントをレイテンシーと遅延でランキング。
よくある質問
なぜSolanaはこんなに安いのですか?
基本手数料が署名1つにつき5,000 lamportsで固定されており、高速なハードウェア上で取引を並列実行するため、チェーンの処理容量が大きいからです。手数料が上がるのは、同じアカウントへの需要が激しいときだけです。
lamportとは何ですか?
lamportは、SOLの最小単位です。1 SOLは1,000,000,000 lamportsに相当します。
USDCを送るときに、なぜ余分にSOLを支払ったのですか?
受取人にUSDCのトークンアカウントがなかったため、1つ作成する必要があったからです。これには、返金可能な約0.002 SOLのデポジットが必要です。
SolanaはEVMチェーンですか?
いいえ。独自のランタイム、アドレス、ツールを持っています。EVMウォレットや0xアドレスは、直接は使えません。
プルーフ・オブ・ヒストリーとは何ですか?
ハッシュの連なりで作られる、検証可能な時計です。バリデーターが取引の順序をすばやく合意するのに役立ちます。チェーンを決めるのは、依然としてステークで重み付けされた投票です。
Solanaの取引が確定するまでどれくらいかかりますか?
finalizedでは約13秒です。confirmedはもっと早く届き、少額の支払いにはそれで十分なことが多いです。