最近のある出来事をきっかけに、従来のドメイン名アクセスサービスについて改めて考えるようになりました。ドメイン名解決サービスは非常に安定していると常に考えていましたが、時折問題が発生することがあります。そこで、分散型ソリューションを検討する価値があるのではないかと考えています。
考えてみると、ブロックチェーン上にページを展開すると、次のような利点があると考えられます。
1. 分散化: すべての変更には全員の共同同意が必要であり、単一の組織が最終決定権を持つことはありません。
2. 証明書は不要:ブロックチェーン自体が暗号化技術を使用しているため、追加の証明書設定は必要ありません。
以前、TONのドメイン名スキームを見たことがありますが、当時はただ面白いだけで、あまり実用的ではないと思っていました。というのも、従来のアクセス方法はすでに非常に安定していて、広く使われているからです。しかし、今では本当に役立つかもしれないと思い、もっと詳しく調べてみようと思っています。
ブロックチェーン上にウェブサイトを作成する
この記事では、TONでウェブサイトをデプロイし、ユーザーがブラウザでそのページにアクセスできるようにします。プロセスは3つのステップに分かれています。1. ドメイン名の購入、2. フロントエンドページの準備、3. ページとドメイン名の紐付けです。
ブロックチェーンとWEB2の世界におけるドメイン名の概念は、実際には似ています。どちらも複雑で覚えにくいアドレスの別名です。ブロックチェーンではユーザーのアドレスを表し、WEB2ではサービスのIPアドレスを表します。
ドメインを購入する
TONを例に挙げると、ドメイン名の公式購入アドレスはhttps://dns.ton.org/で、価格はTONで計算されます。WEB2と同様に、文字数が短いほどドメイン名の価格は高くなり、1~100TONの範囲となります。
ドメイン名が誰にも所有されていない場合は、低価格で入札できます。入札後、カウントダウンが始まります。カウントダウン中は、カウントダウンが終了するまで誰でも入札できます。ドメイン名がオークションにかけられた後、ドメイン名はNFTの形でユーザーのウォレットに保管されます。ドメイン名のNFTは取引可能です。ドメイン名の有効期間は1年間で、有効期限が切れると回収されます。
まとめると、ドメイン名は公式サイトでのオークションを通じて購入することも、他のユーザーと取引することもできます。
フロントエンドページを準備する
このステップでは、表示用のフロントエンドページを準備する必要があります。この記事では、簡潔にするために、ページを公開するためのHTMLファイルとnginxのみを準備します。もちろん、プロジェクトにはフロントエンドページを実行するためのクラウドサーバーも必要です。このステップは、従来のフロントエンドアプリケーションのデプロイと同じです。
ページを.tonにバインドする
.tonドメイン名を取得したら、TON DNSの公式サイトでANDLアドレスをバインドできます。もちろん、TONが提供するバインドツールを使用して、公式サイトの指示に従ってページをバインドすることもできます。
バインディングが完了したら、サーバー上でHTTPリクエストをリッスンし、UDPに転送するためのリスニングポートを開始する必要があります。公式のrldp-http-proxyツールを使用し、以下のコマンドを入力して起動します。
rldp-http-proxy/rldp-http-proxy -p 8080 -c 3333 -C global.config.json
ここで、8080 はローカル ホストで着信 HTTP クエリをリッスンする TCP ポートであり、3333 はすべての送信および受信 RLDP および ADNL アクティビティ (つまり、TON ネットワーク経由で TON Web サイトに接続する) に使用される UDP ポートです。global.config.json は TON グローバル構成のファイル名で、ここからダウンロードできます。
.tonドメインをご覧ください
ブラウザに.tonドメイン名を直接入力してウェブサイトにアクセスしようとしても、ブラウザはドメイン名を解決できる場所を知らないため、アクセスできません。そのため、いくつかの追加操作が必要になります。
.tonを申請するプロセス
.tonドメイン名をリクエストすると、まず対応するANDLアドレスがチェーン上で照会されます。このアドレスは、ウェブサイトをデプロイする際に自動的に生成されるWEB2のIPアドレスと簡単に理解できます。この照会プロセスは、DNSクエリプロセスにも似ています。
その後、ANDLアドレスに基づいてリクエストが対応するマシンに転送され、対応するページを指定できます。全体的なプロセスはWEB2とほぼ同じですが、主な違いはアドレスとドメイン名のマッピングのクエリ方法が異なることです。
プロキシ経由でページにアクセスする
最も推奨される方法は、公式サイトで提供されているプロキシツール「Tonutils Reverse Proxy」を使用することです。ダウンロードしてインストールすると、プロキシ用にポート8080が起動し、.tonドメイン名にアクセスできるようになります。
.ton ドメイン名を使用して Web サイトにアクセスできることがわかります。
使用状況の概要
現在、以下の問題が発生しています。
ウェブサイトを実行するには環境要件があります。システムはglibcバージョン2.34以上をサポートしている必要があります。ページを展開する前に、お使いのマシンが要件を満たしているかどうかを確認してください。
ドキュメントがあまり明確ではありません。ウェブサイトの運営にこのTONを使用する需要があまりないためか、ドキュメントが充実しておらず、自分で調べる必要があります。また、中国語版はタイムリーに更新されておらず、英語版に比べて遅れています。
アクセス速度が遅い。従来のウェブサイトに比べてアクセス速度が遅れています。もちろん、これには多くの要因が絡んでおり、今後改善の余地が大きいと言えるでしょう。
ウォレットではサポートされていません。公式サイトではシンプルな埋め込みブラウザページが提供されており、プロキシをインストールせずにアクセスできます。ただし、このウェブサイトは現在、すべての主要なウォレットでフィッシングサイトとして認識されています。
全体的に見て、現在の体験は実際には平均的であり、将来的に改善できる領域はまだたくさんありますが、この方向性は非常に優れており革新的であり、試してみる価値があると思います。