# 燃焼証明プロトコル:カルダノ上の革新的な応用Iagonチームは最近、カルダノエコシステムのために燃焼証明(PoB)プロトコルを開発するという挑戦を完了しました。これは、あるブロックチェーン分野の著名な人物からの質問への応答です。本稿では、Iagonチームのソリューションを紹介し、主に以下のいくつかの側面を含みます:1. バーニング証明メカニズムとその応用の概要2.IagonのPoBプランのカルダノネットワーク上の実装詳細3. テストネットでスマートコントラクトをデプロイしてテストする4. "ブラックホール"アドレスにトークンを送信してPoBプロトコルを実行する## バーニング証明とその応用トークンのバーン(は、焼却)の一般的な手法であり、本質的にはトークンをアクセス不能な「ブラックホール」アドレスに送信することです。このアドレスにはプライベートキーがないため、焼却されたトークンは再取得できません。一般の人々は、焼却が実際に行われたことを検証できますが、ただ一つの「秘密」の約束値を知っているだけです。このメカニズムは、仲介者による焼却資金の検閲を防ぎます。燃焼メカニズムには多くの用途があり、残りのトークンの価値を高めたり、ブロックチェーンプロトコルのコミットメント証明として機能したりします。大規模なトークンの燃焼は、流通しているトークンの総量を減少させるため、デフレ圧力を生み出す可能性があります。燃焼は一般的なブロックチェーン取引であるにもかかわらず、マイナーの承認が必要です。これらのメカニズムには一定の利点があるものの、トークンの燃焼に反対する意見もあります。この問題に対して、Iagonは検閲不可能なトークン燃焼プロトコルの開発に取り組んでいます。この特別な無検閲操作は、業界の著名人の注目を集めています。燃焼証明の安全性は、トークン転送取引と同じメカニズム、つまり暗号ハッシュ関数に基づいています。これらの関数は計算が容易ですが、逆算が難しいです。本質的に、入力のわずかな変化は出力結果を完全に異なるものにします。これは、ハッシュ関数の出力から逆算するのに多大な時間がかかることを意味します。簡単に言えば、暗号ハッシュ関数の最下位ビットを反転させることでブラックホールアドレスを作成できます。このアドレスに送信されたものは、回復が困難または不可能になります。暗号取引の安全性は完全に公開鍵暗号と暗号ハッシュ関数に基づいています:"資金を送信するたびに、新しい未使用取引出力(UTxO)が作成されます。"このUTxOは、資金の量と受取人の公開鍵のハッシュ値を記録しています。受取人がこの資金を使用したい場合、同じ公開鍵で新しい支出取引に署名する必要があります。なぜハッシュ関数の出力の最低位を反転させるのか、直接0x0のハッシュ値を使用しないのか?理由は、既知の値を使用すると燃焼がすぐに可視化されるからです。しかし、このプロトコルの設計は、まず資金を燃焼させ、その後(において独立したステップで)それが燃焼されたことを証明することです。これを実現するためには、まずコミットメント値のハッシュを作成する必要があります。その後、コミットメント値はブラックホールアドレスが作成されたことを示します。! [](https://img-cdn.gateio.im/social/moments-e942fc679d8ef7e55f3db32648b24d99)## カルダノネットワーク上の燃焼証明スマートコントラクトカルダノのスマートコントラクトは、カルダノネットワーク上で実行されるプログラムであり、開発者が定められたルールに従って(の金融)取引を実行できるようにします。スマートコントラクトは、取引当事者間の透明性と検証可能な取引を確立することを目的としています。最近、分散型金融サービスと分散型組織の台頭により、スマートコントラクトの応用が急速に成長しています。イーサリアムのスマートコントラクトとは異なり、カルダノは異なる構造を採用しています。これにより、ユーザーは自分のウォレット内で各取引をシミュレートでき、ネットワーク攻撃の難易度が増します。取引によって生じた変化は、ブロックチェーンノードによって検証された後に記録されます。そのため、カルダノのスマートコントラクトは、3つの構成要素を含んでいます:- リデンプションスクリプト: eUTxOsの支出を許可または禁止する- ウォレットスクリプト: ユーザーが実行することを表し、資金を回収し、新しいeUTxOsを作成するために使用される- eUTxOs:各eUTxOは資金とデータポイント(datum)を含んでおり、リデンプション者がこれらの資金を再利用できるタイミングを特定するために使用されます。これは、カルダノのスマートコントラクトが台帳上に中央集権的な状態を持たないことを意味します。各eUTxOは独立した状態(データ)を持ち、その資金と分離できません。これにより、以下の4つの操作が可能になります:- 燃焼:秘密のハッシュコミット値を持つブラックホールアドレスに資金を送信する- バーニングの検証:特定のコミットメント値のバーニングが実際に発生したことを検証する- ロック:資金を鍵のあるアドレスに送信する- 引き出し:ロックされた資金を引き出す前に注意が必要なのは、エンドポイントがユーザーのウォレット内で実行されることです。エンドポイントスクリプトがウォレット内で実行を完了した後、生成されたトランザクションはブロックチェーンに移されます。このケースでは、このトランザクションは資金をリデンプションスクリプトに移動させます。このスクリプトは、資金がそのハッシュ値を保持する対象アドレスによってのみアクセスされることを検証します。ロック操作では、ハッシュ値は私たち自身のアドレスである可能性があります。バーン操作では、ハッシュ値はブラックホールアドレスを指します。私たちは、ハッシュに秘密のコミットメント値を与え、それを反転させることでこれを実現します。暗号ハッシュ関数を使用しているため、結果と一致するハッシュ値を見つけることはほぼ不可能です。取引を仲介する者は、その取引が焼却されるのか、ロックされるのかを知ることができません。このスクリプトを利用することで、仲介者は任意の焼却取引を選択的に審査することができません。焼却とロックは同じリデンプション者フォーマットを使用しており、取引の発起者のみがそれが焼却取引であるのかロック取引であるのかを知っています。焼却値は、与えられたコミットメント値を使用した焼却エンドポイントの検証によって検証することができます。コミットメント値が公開される前には、誰も焼却された資金の量を知ることができません。! [](https://img-cdn.gateio.im/social/moments-f7f162dc2a412b8d5ff903636b2e631b)## スマートコントラクトのテストネットデプロイテストネットにスマートコントラクトをデプロイするには、以下の手順を実行する必要があります。1. Haskellツールチェーンをインストールする2. プルタススクリプトを構築する3. カルダノノードとウォレットのコンテナを起動する4. ウォレットを復元してウォレットIDを取得する5. バーントークンの操作を実行する6.燃焼を確認する操作を実行します上記の手順を実行することで、外部からはその取引が燃焼かロックかを知ることはできません。しかし、このスクリプトを公開した後、人々は提案された償還者スクリプトのハッシュに対して償還を拒否するコンパイルを試みるかもしれません。これは膨大な努力を要しますが、特定の燃焼が検閲される可能性があります。このような事態を防ぎ、違反行為をより困難にするために、Iagonはこのソリューションの安全性を高めるために努力しています。! [](https://img-cdn.gateio.im/social/moments-7777b1db89195a287d84464f2b80b5e9)## スマートコントラクトからウォレットスクリプトへユーザーハウォレット内でほとんどのスマートコントラクト操作が発生するという事実を利用して、ウォレットのみを使用した実行スキームを作成することができ、これによりスマートコントラクトはもはや必要なくなります。このアプローチの実際的な意味は、対応する燃焼のスマートコントラクト取引を選択的に防ぐことは不可能であるということです。しかし、すべての燃焼を防ぎたい監査者は、すべてのスクリプトを防ぐことで目的を達成できます。ウォレットのみを使用する場合、燃焼を監査する唯一の方法は、すべてのCardano取引を監査することです。これは監査に対する究極の抵抗です。これを実現するには、コミットメント値のハッシュで公開鍵のハッシュを置き換え、コミットメント値の最下位ビットを反転させる必要があります。しかし、これだけでは不十分です。カルダノは、構造とCRCコードをチェックすることで、アドレス内の入力エラーを防ぎます。したがって、コミットメントからアドレスを生成する最も簡単な方法は、特定のスクリプトとカルダノAPIライブラリを使用することです。提供されたコードを使用して燃焼アドレスを生成し、その後取引をカルダノブロックチェーンに提出できます。燃焼を確認するためには、燃焼アドレスに送信された取引を確認する必要があります。! [](https://img-cdn.gateio.im/social/moments-fed84a6717b012408df1b428b2d80586)## まとめこの記事では、燃焼証明プロトコルの実装をスマートコントラクトとウォレット取引の2つの方法に分けています。しかし、Alonzoスマートコントラクトは現時点で必要なインフラ(、例えばPABライブラリ)が不足しているため、ウォレットスクリプトの使用を推奨します。いずれにせよ、PABライブラリは近い将来、Cardanoに基づくアプリケーション開発をサポートする予定であり、ウォレットスクリプトと組み合わせることで、より複雑で検閲耐性のあるスマートコントラクトソリューションが生まれる可能性があります。このソリューションについて詳しく知りたい場合は、Githubで関連情報をすべて確認することができます。! [](https://img-cdn.gateio.im/social/moments-3d2bf883bd43da42085612065d17c6ef)
カルダノ上実現燃焼証明プロトコル:Iagonチームが検閲耐性ソリューションを構築
燃焼証明プロトコル:カルダノ上の革新的な応用
Iagonチームは最近、カルダノエコシステムのために燃焼証明(PoB)プロトコルを開発するという挑戦を完了しました。これは、あるブロックチェーン分野の著名な人物からの質問への応答です。本稿では、Iagonチームのソリューションを紹介し、主に以下のいくつかの側面を含みます:
バーニング証明とその応用
トークンのバーン(は、焼却)の一般的な手法であり、本質的にはトークンをアクセス不能な「ブラックホール」アドレスに送信することです。このアドレスにはプライベートキーがないため、焼却されたトークンは再取得できません。一般の人々は、焼却が実際に行われたことを検証できますが、ただ一つの「秘密」の約束値を知っているだけです。このメカニズムは、仲介者による焼却資金の検閲を防ぎます。
燃焼メカニズムには多くの用途があり、残りのトークンの価値を高めたり、ブロックチェーンプロトコルのコミットメント証明として機能したりします。大規模なトークンの燃焼は、流通しているトークンの総量を減少させるため、デフレ圧力を生み出す可能性があります。燃焼は一般的なブロックチェーン取引であるにもかかわらず、マイナーの承認が必要です。これらのメカニズムには一定の利点があるものの、トークンの燃焼に反対する意見もあります。この問題に対して、Iagonは検閲不可能なトークン燃焼プロトコルの開発に取り組んでいます。この特別な無検閲操作は、業界の著名人の注目を集めています。
燃焼証明の安全性は、トークン転送取引と同じメカニズム、つまり暗号ハッシュ関数に基づいています。これらの関数は計算が容易ですが、逆算が難しいです。本質的に、入力のわずかな変化は出力結果を完全に異なるものにします。これは、ハッシュ関数の出力から逆算するのに多大な時間がかかることを意味します。簡単に言えば、暗号ハッシュ関数の最下位ビットを反転させることでブラックホールアドレスを作成できます。このアドレスに送信されたものは、回復が困難または不可能になります。
暗号取引の安全性は完全に公開鍵暗号と暗号ハッシュ関数に基づいています:"資金を送信するたびに、新しい未使用取引出力(UTxO)が作成されます。"このUTxOは、資金の量と受取人の公開鍵のハッシュ値を記録しています。受取人がこの資金を使用したい場合、同じ公開鍵で新しい支出取引に署名する必要があります。
なぜハッシュ関数の出力の最低位を反転させるのか、直接0x0のハッシュ値を使用しないのか?理由は、既知の値を使用すると燃焼がすぐに可視化されるからです。しかし、このプロトコルの設計は、まず資金を燃焼させ、その後(において独立したステップで)それが燃焼されたことを証明することです。これを実現するためには、まずコミットメント値のハッシュを作成する必要があります。その後、コミットメント値はブラックホールアドレスが作成されたことを示します。
!
カルダノネットワーク上の燃焼証明スマートコントラクト
カルダノのスマートコントラクトは、カルダノネットワーク上で実行されるプログラムであり、開発者が定められたルールに従って(の金融)取引を実行できるようにします。スマートコントラクトは、取引当事者間の透明性と検証可能な取引を確立することを目的としています。最近、分散型金融サービスと分散型組織の台頭により、スマートコントラクトの応用が急速に成長しています。
イーサリアムのスマートコントラクトとは異なり、カルダノは異なる構造を採用しています。これにより、ユーザーは自分のウォレット内で各取引をシミュレートでき、ネットワーク攻撃の難易度が増します。取引によって生じた変化は、ブロックチェーンノードによって検証された後に記録されます。そのため、カルダノのスマートコントラクトは、3つの構成要素を含んでいます:
これは、カルダノのスマートコントラクトが台帳上に中央集権的な状態を持たないことを意味します。各eUTxOは独立した状態(データ)を持ち、その資金と分離できません。これにより、以下の4つの操作が可能になります:
注意が必要なのは、エンドポイントがユーザーのウォレット内で実行されることです。エンドポイントスクリプトがウォレット内で実行を完了した後、生成されたトランザクションはブロックチェーンに移されます。このケースでは、このトランザクションは資金をリデンプションスクリプトに移動させます。このスクリプトは、資金がそのハッシュ値を保持する対象アドレスによってのみアクセスされることを検証します。
ロック操作では、ハッシュ値は私たち自身のアドレスである可能性があります。バーン操作では、ハッシュ値はブラックホールアドレスを指します。私たちは、ハッシュに秘密のコミットメント値を与え、それを反転させることでこれを実現します。暗号ハッシュ関数を使用しているため、結果と一致するハッシュ値を見つけることはほぼ不可能です。
取引を仲介する者は、その取引が焼却されるのか、ロックされるのかを知ることができません。このスクリプトを利用することで、仲介者は任意の焼却取引を選択的に審査することができません。焼却とロックは同じリデンプション者フォーマットを使用しており、取引の発起者のみがそれが焼却取引であるのかロック取引であるのかを知っています。焼却値は、与えられたコミットメント値を使用した焼却エンドポイントの検証によって検証することができます。コミットメント値が公開される前には、誰も焼却された資金の量を知ることができません。
!
スマートコントラクトのテストネットデプロイ
テストネットにスマートコントラクトをデプロイするには、以下の手順を実行する必要があります。
上記の手順を実行することで、外部からはその取引が燃焼かロックかを知ることはできません。しかし、このスクリプトを公開した後、人々は提案された償還者スクリプトのハッシュに対して償還を拒否するコンパイルを試みるかもしれません。これは膨大な努力を要しますが、特定の燃焼が検閲される可能性があります。このような事態を防ぎ、違反行為をより困難にするために、Iagonはこのソリューションの安全性を高めるために努力しています。
!
スマートコントラクトからウォレットスクリプトへ
ユーザーハウォレット内でほとんどのスマートコントラクト操作が発生するという事実を利用して、ウォレットのみを使用した実行スキームを作成することができ、これによりスマートコントラクトはもはや必要なくなります。このアプローチの実際的な意味は、対応する燃焼のスマートコントラクト取引を選択的に防ぐことは不可能であるということです。しかし、すべての燃焼を防ぎたい監査者は、すべてのスクリプトを防ぐことで目的を達成できます。ウォレットのみを使用する場合、燃焼を監査する唯一の方法は、すべてのCardano取引を監査することです。これは監査に対する究極の抵抗です。
これを実現するには、コミットメント値のハッシュで公開鍵のハッシュを置き換え、コミットメント値の最下位ビットを反転させる必要があります。しかし、これだけでは不十分です。カルダノは、構造とCRCコードをチェックすることで、アドレス内の入力エラーを防ぎます。したがって、コミットメントからアドレスを生成する最も簡単な方法は、特定のスクリプトとカルダノAPIライブラリを使用することです。
提供されたコードを使用して燃焼アドレスを生成し、その後取引をカルダノブロックチェーンに提出できます。燃焼を確認するためには、燃焼アドレスに送信された取引を確認する必要があります。
!
まとめ
この記事では、燃焼証明プロトコルの実装をスマートコントラクトとウォレット取引の2つの方法に分けています。しかし、Alonzoスマートコントラクトは現時点で必要なインフラ(、例えばPABライブラリ)が不足しているため、ウォレットスクリプトの使用を推奨します。いずれにせよ、PABライブラリは近い将来、Cardanoに基づくアプリケーション開発をサポートする予定であり、ウォレットスクリプトと組み合わせることで、より複雑で検閲耐性のあるスマートコントラクトソリューションが生まれる可能性があります。このソリューションについて詳しく知りたい場合は、Githubで関連情報をすべて確認することができます。
!