babylonのテストネットを触ってみる
ライトペーパーを読んだが細かい部分がわからなかったので実際にテストネットを触ってみる
手順
ここでステーキングを行うがOKXウォレットとKeplrウォレットが必要
解説記事
Youtube : https://www.youtube.com/watch?v=1xPr-dNMkPs
Keplr
手順に従ってKeplrをインストール
拡張機能に追加
プラグイン?的なので「babylon testnet」を追加
拡張機能からKeplrを開いてbabylonの tBBN トークンを追加
OKXウォレット
拡張機能を追加
手順に従ってsBTCを追加
signetのBTCをfaucetからもらう
faucetでもらえなかったのでbabylonのディスコードに参加してコマンドを叩いてもらった
---------------------------
ステーキングのサイトで各ウォレットを接続すると開けた
https://scrapbox.io/files/660a8e57ff25f100251c8417.png
どういったスクリプトなのかみたいので引き出してみた
withdrawボタンがあるので押すと引き出せる
code:script
OP_PUSHBYTES_32 f33321f9b7d1d18002658d7164ea2a081177f9209fc8d6dd597c5efe83cc31e9
OP_CHECKSIGVERIFY
OP_PUSHBYTES_2 f003
OP_CSV
秘密鍵による署名と時間経過で引き出せる条件だった。
条件に関しての記述があったので翻訳
code:翻訳
ビットコイン・ステーキングのワークフロー
ビットコインステーキングの観点から、ビットコインステーキングプロトコルは以下のように動作します:
1. ビットコインのステーキング:ステーカーは、ステーキングトランザクションをビットコインチェーンに送信してプロセスを開始し、彼女のビットコインを自己保管庫にロックします。具体的には、2つの支出条件を持つUTXOを作成する:1) ステーキング者が秘密鍵を使用して引き出すことができるタイムロック、2) 特別な抽出可能なワンタイムシグネチャ(EOTS)を使用してこのUTXOを燃やす。委任の場合、このEOTSはステークが委任したバリデータに属する。
2. PoSチェーンの検証:ステーキングトランザクションがビットコインチェーンで確認されると、ステーカー(またはステーカーが委任したバリデータ)は PoS チェーンの検証を開始し、EOTS 秘密鍵を使用して有効な投票ブロックに署名することができます。バリデーションの際、2つのパスが考えられます:
ハッピーパス:誠実なシナリオでは、ステーカーはプロトコルに従い、収穫を得る。その後、ステーカーは以下の2つの方法で結合を解除することができる:1) 既存のタイムロックが切れるのを待ってから引き出す、2) Bitcoin にアンボンディングトランザクションを提出し、パラメータ化されたアンボンディング期間後に Bitcoin がビットコインのロックを解除して返す。
アンハッピーパス:ステーキングを行う人が悪意を持って行動した場合、例えばPoSチェーン上で二重支出攻撃に参加した場合、ステーキングプロトコルは彼女のEOTS秘密鍵が公開されることを保証します。その結果、誰もがステーカーになりすまし、ビットコインチェーン上でスラッシングトランザクションを送信し、彼女のビットコインを燃やすことができます。この不幸な経路は、安全違反がペナルティを受けることを保証し、システム全体の完全性を維持します。
今回は正常な流れなので1のパターン
不正をすると2のパターンでバーンされる
EOTS
code:翻訳
1.概要
EOTSデーモンは、EOTS鍵の管理、EOTS乱数の生成、およびEOTS署名の生成に責任を負う。
注: EOTSは、Extractable One Time Signatureの略です。詳しくは、Babylon BTC Staking Litepaperをご覧ください。要するに、EOTSマネージャーは、EOTSパブリック/プライベート・ランダムのペアを生成します。ファイナリティ・プロバイダーは、このペアのパブリック部分を、ファイナリティ署名を提供する予定の将来のブロックの高さごとに、バビロンにコミットします。もし、最終性プロバイダーが、同じ高さの2つの異なるブロックに投票した場合、彼らは同じプライベート・ランダムネスを再利用しなければならず、その結果、彼らの基礎となるプライベート・キーが暴露され、彼らとそのすべてのデリゲーターが抹殺されることになります。
EOTS マネージャは以下の処理を担当する:
EOTS 鍵管理:
BIP-340 標準を使用して、指定された最終プロバイダのシュナー鍵ペアを生成する。
生成されたキー・ペアを内部 Cosmos キーリングに保持する。
乱数生成:
EOTSキー、chainID、ブロックの高さに基づいて、EOTSランダムネス・ペアのリストを生成する。
ランダム性は決定論的に生成され、特定のパラメータに関連付けられる。
署名生成:
最終プロバイダの秘密鍵と、指定された高さの指定されたチェーンに対応する秘密ランダムネスを使用して、EOTSに署名します。
最終性プロバイダの秘密鍵を使用してシュナー署名に署名する。
EOTS マネージャは、eotsd ツールによって制御されるデーモンとして機能する。