ビットコインはどのように機能するのですか?
ビットコインの中核は、不変の方法でレコードを追跡する分散型データベースです。それは、3つのことを行うシステムを作成します。
- データベース内のすべての新しいエントリは、前のエントリに依存し、すべてのエントリを互いにリンクするイベントの歴史的連鎖を作成します。
- 新しいエントリーを追加するには、エントリーを偽造しようとする人が、その作業だけでなく、その後に行われた作業もやり直す必要があるように、ある量の作業を行うことが必要です。
- ネットワークのすべての完全なノードは、データベースのコピーを取得し、順番に、すべての参加者が歴史の正しいバージョンに同意することができる簡単なルールのセットに従っています。
ビットコインのこれらの特性は、システム内のすべての新しいエントリが前のものと同様に安全であることを保証します。その非中央集権的な性質は、中央の権威なしに実行することを可能にします。
このため、ビットコインは、第三者を介さずに個人で取引を行いたい個人にとって、非常に便利です。なぜビットコインフルノードを使用するのですか?
ビットコインフルノードは、あなたがビットコインネットワークの独立した参加者になることを可能にするソフトウェアです。ネットワークの取引履歴の正確なコピーを提供し、通常のビットコインウォレットからは不可能な多くのことを行うことができます。
例えば、全取引履歴を持つことで、フルノードはそれ自体であらゆる受信トランザクションを検証することができます。これは、ビジネスでビットコインを受け入れているユーザーにとって、特に便利な機能です。 また、フルノードを運営することで、ビットコインネットワークのアーカイブになることができます。自分のフルノードを持ちたい他のユーザーは、あなたのノードを出発点として使用することができます。 最後に、フルノードを使用すると、新しいトランザクションをチェックし、ブロードキャストするたびに、外部サーバーの必要性を排除することができます。これは、ビットコインを使用している間、セキュリティとプライバシーを持ちたいユーザーにとって有用である。 フルノードを使用する最も簡単な方法の1つは、Dojoをインストールすることです。Dojoとは何ですか?
Dojoは強力なソフトウェアスイートで、安全なBitcoinノードを簡単に作成、展開することができます。また、Torと同様にプライバシーを強化するいくつかのアドオンを使用することで、高度なセキュリティを維持することを目的としています。
Dojoの実際のインストールは、インストール手順は簡単でも、リソース集約的で時間のかかる作業であることに注意することが重要です。 これは主に、ビットコインの取引履歴を取得するために、コンピュータが受信したすべてのエントリを検証する必要があるためです。例えば、2011年製の私のCore 2 Duoマシンは、ネットワークと完全に同期するのに5日かかりました。 さらに、パソコンがすべてのデータを保存できるかどうかを確認するのも良い方法です。ほとんどの場合、1TBのドライブがあれば、全履歴を保存し、新しい履歴のためのスペースも残せるはずです。 このチュートリアルでは、Ubuntu 22.04マシンにDojoをインストールすることに焦点を当てています。ほとんどのコマンドはどの Linux ディストリビューションでも動作するはずですが、パッケージやプログラムの名前が異なる場合があります。Ubuntu Linux での Dojo インストールの準備
始めるにあたって、まずシステムに新しいユーザーアカウントを作成します。
sudo useradd -s /bin/bash -d /home/dojo -m -G sudo dojo
sudo passwd dojo
これにより、Dojoが実行するあらゆる設定やプログラムをユーザーアカウントから切り離すことができます。別のアカウントにすることで、ユーザーのエラーが Dojo に影響を与える可能性も低くなります。
これが完了したら、su dojo
を実行して Dojo ユーザーに切り替え、ディストリビューション固有の依存関係のインストールを開始します。
sudo apt update
sudo apt install gnupg-agent ca-certificates curl software-properties-common unzip tor torbrowser-launcher
次に、DockerとDocker Composeのリポジトリをインクルードします。
Dockerリリース用のプライマリサインキーをダウンロードし、インポートします。curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -.
Dockerリポジトリを追加します。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsbb_release -cs) stable".
sudo apt update
Dockerをインストールします。
sudo apt install docker-ce docker-ce-cli
sudo usermod -aG docker dojo
最後に、docker-compose をインストールします。
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Dojoのマシンへのダウンロードを開始します。
wget https://code.samourai.io/dojo/samourai-dojo/-/archive/master/samourai-dojo-master.zip
Dojoのファイルを全てマシンに解凍します。
mkdir /home/$USER/dojo
unzip /home/$USER/samourai-dojo-master.zip -d /home/$USER/dojo
Dojoの秘密鍵の設定
dojo フォルダ内の “docker-bitcoind.conf.tpl” を開いてください。
nano /home/$USER/dojo/docker/my-dojo/conf/docker-bitcoind.conf.tpl
編集が必要な変数は BITCOIN_RPC_USER=
と BITCOIN_RPC_PASSWORD=
です。Dojo はこれらを使用して、他のリモートウォレットに接続します。
BITCOIN_RPC_USER=dojo
BITCOIN_RPC_PASSWORD=random_password
Dojoデータベースの変更
次に編集が必要なファイルは “docker-mysql.conf.tpl” です。これは、フルノードに直接関係しないすべての情報を保持しています。
nano /home/$USER/dojo/docker/my-dojo/conf/docker-mysql.conf.tpl
この設定ファイル内の3つの変数を編集します。MYSQL_ROOT_PASSWORD=、
MYSQL_USER=、
MYSQL_PASSWORD=`の3つの変数を編集してください。
MYSQL_ROOT_PASSWORD=your_mysql_root_password
MYSQL_USER=dojo
MYSQL_PASSWORD=mysql_user_password
NodeJSの設定を変更する
次に編集するファイルは、“docker-node.conf.tpl “です。これは Dojo フロントエンドのインスタンスを制御し、フルノード、MySQL、および Dojo が使用するすべての追加機能を結合する糊として機能します。
nano /home/$USER/dojo/docker/my-dojo/conf/docker-node.conf.tpl
NODE_API_KEY=、
NODE_ADMIN_KEY=、
NODE_JWT_SECRET=`を編集してください。
- NODE_API_KEY は、Dojo の REST API 用のプライマリシークレットキーとして機能します。この値は、必要なときに他のサービスが Dojo と簡単に通信できるようにします。
- NODE_ADMIN_KEY は、Dojo インスタンスのプライマリパスワードです。Dojo の設定パネルにアクセスしたいときに、これを入力します。
- NODE_JWT_SECRET は Dojo の Web Token システムの主ソルトとして機能し、すべての Dojo セッションに強力な暗号化を保証する値です。
NODE_API_KEY=random_node_api_key
NODE_ADMIN_KEY=random_node_admin_key
NODE_JWT_SECRET=random_node_jwt_secret
ビットコインブロックエクスプローラーの設定
最後に、「docker-explorer.conf.tpl」ファイルを編集してください。これはDojoの内部ブロックエクスプローラーを制御します。
nano /home/$USER/dojo/docker/my-dojo/conf/docker-explorer.conf.tpl
この設定ファイル内の2つの変数を編集します。EXPLORER_INSTALL=と
EXPLORER_KEY=`の2つの変数を編集します。最初の変数は Dojo にブロックエクスプローラをインストールすることを伝え、2番目の変数はアプリケーションのパスワードとして機能します。
EXPLORERER_INSTALL=on
EXPLORER_KEY=random_key
UbuntuにDojo Bitcoin Nodeをインストールする
次に、以下のコマンドを実行して、Dojoのインストールスクリプトを起動します。
/home/$USER/dojo/docker/my-dojo/dojo.sh install
インストールスクリプトは Dojo の docker コンテナを構築するために必要なすべてのツールをダウンロードし、必要なツールとプログラムの両方を構築するコンパイルプロセスを開始します。
スクリプトは Dojo 実行ファイルを起動し、すぐに Bitcoin ネットワークと同期し、ターミナルのレイアウトと色の違いでそのことを示します。Ctrl+
C` を押すと、プロセスがバックグラウンドにフォークされます。
Dojoの同期進捗の確認
上述したように、ビットコインネットワークとの同期には数時間から数日かかることがあります。ノードの進行状況を追跡し、同期中に潜在的な問題がないかを調べることが重要です。
Dojo の進行状況を確認する方法は 2 つあります。まず、「dojo.sh」ファイルを使用してサーバーの実行ログを生成します。これは特に、サーバーの進行状況を素早く確認したい場合に便利です。例えば、このコマンドを実行すると、Bitcoin full ノードに関連するすべてのログが表示されます。/home/$USER/dojo/docker/my-dojo/dojo.sh logs bitcoind
また、専用のウェブポータルからDojoの進捗を確認することも可能です。ただし、Dojo が使用するすべてのオニオンアドレスを表示するには、お使いのコンピューターに Tor ブラウザーのコピーがあることを確認し、以下のコマンドを実行する必要があります。
/home/$USER/dojo/docker/my-dojo/dojo.sh onion
次に、“Dojo API and Maintenance Tool “のアドレスをコピーしてTorブラウザで読み込み、先ほど追加した管理キーを入力する小さなプロンプトを表示させる必要があります。
Dojo はノードの簡単な概要とサービスの状態を表示するので、 Dojo インスタンスをもっと包括的に見たい場合に便利です。 Dojoインスタンスをより包括的に見たい場合に便利です。SamouraiウォレットとDojoのペアリング
DojoノードがBitcoinネットワークと適切に同期されたら、モバイルウォレットをペアリングすることができます。デフォルトでは、DojoフルノードはSamourai Wallet for Androidとうまく連動しています。
- PlayストアからSamouraiウォレットをダウンロードします。
- Samourai Walletを実行し、“Connect to your own Dojo server “を有効にし、“Scan QR “をクリックします。
3. 道場のメンテナンスツールで、左のウェブサイトのメニューにある「ペアリング」をクリックし、スキャンするためのQRコードを生成します。
4. サムライウォレットに戻り、ウェブサイト内のQRコードをスキャンしてください。 おめでとうございます。これでDojoを使ったBitcoinフルノードのセットアップが完了です。よくある質問
Dojoの秘密鍵に同じパスワードを使用することはできますか?
はい、しかし私たちはそれを推奨しません。Dojoのフルノードは、いくつかの重要な機能をあなたが提供するキーに依存しています。攻撃者があなたのキーを管理することに成功した場合、あなたの取引を盗み見たり変更したりすることが可能になります。
DojoはTorに接続している間、5%で止まっています。私のビットコインノードは壊れているのでしょうか?
これは、Dockerが適切な外部接続を確立できないために起こっている可能性が高いです。これは、あなたのマシンがDockerのaptとsnapの両方のバージョンを持っているために起こる可能性があります。
これを修正するには、Dockerのすべてのインスタンスを削除し、1つのバージョンのみで再インストールしてください。“task: bitcoind blocked for more than 120 seconds” というエラーが発生しました。私の Dojo に何か問題があるのでしょうか?
ほとんどの場合、同期中にあなたのマシンのリソースが不足しているため、プログラムが十分なリソースを待つ「セルフハング」状態に陥ります。これが原因でシステムが完全にロックされることがあります。
お使いのコンピューターがビットコインノードの同期と管理に十分なリソースを持っていることを確認することが重要です。あなたのマシンは、ビットコインネットワークと快適に同期するために、少なくとも1TBのスペースと8GBのRAMを持つ必要があります。 画像クレジット:Fernando Hernandez via Unsplash