-
bitcoin $78074.098354 USD
1.89% -
ethereum $2299.014391 USD
2.17% -
tether $0.998449 USD
0.01% -
bnb $700.460149 USD
1.26% -
xrp $1.273048 USD
1.81% -
usd-coin $0.999762 USD
0.01% -
solana $92.929882 USD
1.25% -
tron $0.321666 USD
0.30% -
zcash $1272.523101 USD
12.65% -
hyperliquid $84.856242 USD
1.58% -
monero $637.212844 USD
3.50% -
dogecoin $0.074680 USD
1.23% -
unus-sed-leo $9.292529 USD
-0.02% -
chainlink $11.063098 USD
-0.05% -
cardano $0.190385 USD
1.97%
スマートコントラクトでランダム性を安全に生成する方法は?
Secure randomness in smart contracts is vital, as on-chain data like block timestamps or hashes are predictable, making traditional methods vulnerable to manipulation.
2025/07/11 15:56
スマートコントラクトにおけるランダム性の課題を理解する
ブロックチェーンおよびスマートコントラクト環境では、安全なランダム性を生成することは、自明ではないタスクです。信頼できるハードウェアまたは外部APIが予測不可能な値を提供できる集中システムとは異なり、ブロックチェーンネットワークは設計による決定論的です。つまり、すべてのノードが操作の結果に合意に達する必要があります。これにより、従来の乱数生成技術が不適切になります。
重要な問題の1つは、ブロックタイムスタンプ、ハッシュ、トランザクションIDなどのオンチェーンデータが予測可能または操作可能であることです。スマートコントラクトがこれらをエントロピーソースとして使用する場合、悪意のあるアクターはこれを悪用して不公平な利点を獲得する可能性があります。したがって、分散化や信頼性を損なうことなく安全なランダム性を生成する方法を理解することが不可欠です。
オンチェーンランダム性を生成する場合の一般的な落とし穴
多くの開発者は、スマートコントラクト内でランダム性を生成しようとするときにtrapに分類されます。
- block.timestampの使用:この値は鉱夫の影響を簡単に受け入れ、本当にランダムと見なすことはできません。
- 最近のブロックのブロックハッシュに依存する:ランダムに見えますが、マイナーは、結果から負けるようになった場合、特定のブロックを操作または公開しないことを選択できます。
- msg.senderやbalancesなどの契約変数をハッシュする:これらの値は公開されているため、搾取可能です。
これらの各方法は、攻撃者がシミュレーションまたは操作を通じて活用できる脆弱性を導入します。オフチェーンコンポーネントまたは暗号化のコミットメントと組み合わせて使用しない限り、それらを回避することが重要です。
コミットリビールスキーム:安全なアプローチ
安全なランダム性を生成するための広く受け入れられている方法は、コミットレビールスキームです。この手法により、当事者が明らかになる前に、最終的なランダム値を知ることも影響を与えないことも保証されます。
これがどのように機能しますか:
- 参加者は、実際の値ではなく、最初にハッシュドコミットメント(例えば、Keccak256(randomValue + secretsalt))を提出します。
- 事前定義された時間またはイベントウィンドウの後、参加者は元のランダム値と塩を明らかにします。
- 契約は、ハッシュが明らかにされた値と一致し、すべての入力を組み合わせて最終的なランダムシードを生成することを確認します。
このアプローチは、すべてのコミットメントが行われるまで他人の入力を決定できないため、フロントランニングを防ぎ、公平性を保証します。
ChainLink VRFを使用して、信頼できないランダム性
現在利用可能な最も信頼できるソリューションの1つは、ChainLink検証可能なランダム関数(VRF)です。暗号化された証明に裏打ちされたランダム性のオンデマンドソースを提供します。
このプロセスには、次の手順が含まれます。
- スマートコントラクトは、ChainLink Oracleからランダム性を要求します。
- Oracleは、その秘密鍵を使用して暗号化された証明とともに乱数を生成します。
- 契約は、それを受け入れる前に、数値を受け取り、鎖で証明されたオンチェーンを検証します。
これにより、ランダム性が予測不可能で改ざん防止の両方であることが保証され、NFTドロップ、宝くじシステム、ゲームメカニックなどのアプリケーションに適しています。
チェーンリンクVRFを実装するには:
- インポートされたVRFCONSUMERBASE契約との契約を展開します。
- Link Tokensとの契約に資金を提供します。
- 適切なキーハッシュと料金でrequestrandomness()関数を呼び出します。
- fullyrandomness()コールバックをオーバーライドして、生成された値を受信して使用します。
オフチェーンオラクルソリューションを活用します
ChainLinkに加えて、他のOracleサービスもランダム生成機能を提供します。これらには、ブロックチェーンと現実世界のデータの間の橋として機能するWitnet、API3、およびOraclizeが含まれます。
これらのサービスは通常、次のように機能します。
- スマートコントラクトからのランダムリクエストを受け入れる。
- 安全な外部ソースを使用して数値を生成します。
- 結果を署名または証明でチェーンに戻します。
これにより集中化の層が追加されますが、これらのプラットフォームの多くは、セキュリティと公平性を維持するために、分散型のOracleネットワークと堅牢な検証メカニズムを採用しています。
選択したOracleサービスに透明な監査プロセスと、操作を防ぐための強力な暗号化保証があることを確認することが重要です。
よくある質問
Q:将来のブロックのブロックハッシュを使用してランダム性を生成できますか? A:将来のブロックのブロックハッシュを使用することは、予測不可能に思えるかもしれませんが、それでもリスクをもたらします。鉱夫は、特にハイステークスシナリオで、結果として生じるハッシュの恩恵を受けない場合、ブロックを差し控える能力を持っています。したがって、重要なアプリケーションには推奨されません。
Q:スマートコントラクトで複数のエントロピー源を組み合わせても安全ですか? A:複数のエントロピー源を組み合わせると、予測不可能性が向上する可能性がありますが、操作の問題は本質的に解決しません。各入力がコミットされ、安全に明らかにされない限り、攻撃者はまだシステムを悪用する方法を見つけることができます。
Q:ChainLink VRFは、オラクルによる操作をどのように防ぎますか? A:ChainLink VRFは、既知の公開キーを使用してランダム性が正しく生成されたことを確認する暗号化された証明を使用します。 Oracleが侵害されたとしても、対応する秘密鍵にアクセスせずに有効な証明を偽造することはできません。
Q:チェーンリンクVRFのガス効率の良い代替品はありますか? A:はい、一部の軽量プロトコルは、セキュリティ保証の削減を犠牲にしてより安価なランダム性を提供します。ただし、ミッションクリティカルなアプリケーションの場合、コスト効率よりも検証可能性とセキュリティに優先順位を付けることをお勧めします。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- フランス銀行の仮想通貨損失:ZachXBTがCrédit Mutuel Arkéaでの1億3,300万ドル強盗疑惑を発掘
- 2026-11-04 16:55:01
- 民主党が米国下院支配を確保、中間選挙のさなか議会に新時代の到来を告げる
- 2026-11-04 16:45:01
- 米国中間選挙、予測市場、仮想通貨レース: ワシントンの将来に対する一か八かの賭け
- 2026-11-04 04:30:22
- デジタル資産、グローバル金融、AI: DavosWeb3 以降の次のフロンティアをナビゲートする
- 2026-11-04 04:30:22
- 広範な市場苦境の中でAVAX価格が雪崩式に下落。機関の関心は依然として強い
- 2026-11-03 12:35:02
- なぜクオンツの価格は下がっているのでしょうか?市場不安の中での QNT の最近の下落を深く掘り下げる
- 2026-11-03 12:55:01
関連知識
BTCUSDT先物ポジションを保有する総コストの計算方法
2026-10-26 04:06:35
BTCUSDT先物ポジションの総コスト構成要素1. BTCUSDT 先物ポジションを保持するための総コストには、明示的な料金と暗黙的な料金の両方が含まれます。明示的なコストは取引開始手数料と終了手数料で構成されますが、暗黙的なコストは主に、長期にわたる資金調達率の支払いまたは受け取りによって発生しま...
XRPSDT の資金調達レートと建玉を一緒に監視する方法
2026-10-20 18:39:42
XRPUSDT 無期限契約の資金調達率の仕組み1. XRPUSDT 無期限スワップの資金調達率は、XRP と USDT 建て融資市場の間のプレミアム インデックスと金利差を使用して 8 時間ごとに計算されます。 2. Binance、Bybit、OKX などの取引所は、デリバティブ API エンドポ...
SOLUSDT 無期限先物で損益分岐点ストップロスを設定する方法
2026-10-23 09:34:18
損益分岐点とストップロスの仕組みを理解する1. 損益分岐点ストップロスは、ポジションが有利に動くにつれて上方に調整され、約定時に純損失がゼロになるように固定する動的な注文です。 2. 取引が事前に定義された利益しきい値 (通常、初期リスクまたはエントリー手数料の 1 倍から 2 倍) に達した場合に...
ETHUSDT取引にBinance Futures Calculatorを使用する方法
2026-10-21 02:00:11
Binance Futures Calculator インターフェイスを理解する1. 計算機は Binance Futures 取引インターフェイス内に直接組み込まれており、注文入力パネルの ETHUSDT 無期限契約ページからアクセスできます。 2. ユーザーがポジションサイズ、エントリー価格、レ...
先物清算前にBTCUSDTマーク価格を確認する方法
2026-10-26 12:20:18
BTCUSDT 先物におけるマーク価格を理解する1. マーク価格は、市場環境が不安定な場合に不当清算を防止するために取引所が使用する計算値です。 2. 指標価格や調達率など、複数の情報源から導き出された公正かつ安定した参照価格を反映しています。 3. 前回の取引価格とは異なり、マーク価格には操作リス...
TRUMPUSDT 無期限契約のレバレッジを調整する方法
2026-10-30 22:19:37
TRUMPUSDT の無期限契約の仕組みを理解する1. TRUMPUSDT は、複数の Tier-1 デリバティブ取引所に上場されているテーマ別無期限先物契約であり、資産の基礎となるファンダメンタルズではなく、米国の政治的物語を中心とした価格センチメントを追跡するように設計されています。 2. プラ...
BTCUSDT先物ポジションを保有する総コストの計算方法
2026-10-26 04:06:35
BTCUSDT先物ポジションの総コスト構成要素1. BTCUSDT 先物ポジションを保持するための総コストには、明示的な料金と暗黙的な料金の両方が含まれます。明示的なコストは取引開始手数料と終了手数料で構成されますが、暗黙的なコストは主に、長期にわたる資金調達率の支払いまたは受け取りによって発生しま...
XRPSDT の資金調達レートと建玉を一緒に監視する方法
2026-10-20 18:39:42
XRPUSDT 無期限契約の資金調達率の仕組み1. XRPUSDT 無期限スワップの資金調達率は、XRP と USDT 建て融資市場の間のプレミアム インデックスと金利差を使用して 8 時間ごとに計算されます。 2. Binance、Bybit、OKX などの取引所は、デリバティブ API エンドポ...
SOLUSDT 無期限先物で損益分岐点ストップロスを設定する方法
2026-10-23 09:34:18
損益分岐点とストップロスの仕組みを理解する1. 損益分岐点ストップロスは、ポジションが有利に動くにつれて上方に調整され、約定時に純損失がゼロになるように固定する動的な注文です。 2. 取引が事前に定義された利益しきい値 (通常、初期リスクまたはエントリー手数料の 1 倍から 2 倍) に達した場合に...
ETHUSDT取引にBinance Futures Calculatorを使用する方法
2026-10-21 02:00:11
Binance Futures Calculator インターフェイスを理解する1. 計算機は Binance Futures 取引インターフェイス内に直接組み込まれており、注文入力パネルの ETHUSDT 無期限契約ページからアクセスできます。 2. ユーザーがポジションサイズ、エントリー価格、レ...
先物清算前にBTCUSDTマーク価格を確認する方法
2026-10-26 12:20:18
BTCUSDT 先物におけるマーク価格を理解する1. マーク価格は、市場環境が不安定な場合に不当清算を防止するために取引所が使用する計算値です。 2. 指標価格や調達率など、複数の情報源から導き出された公正かつ安定した参照価格を反映しています。 3. 前回の取引価格とは異なり、マーク価格には操作リス...
TRUMPUSDT 無期限契約のレバレッジを調整する方法
2026-10-30 22:19:37
TRUMPUSDT の無期限契約の仕組みを理解する1. TRUMPUSDT は、複数の Tier-1 デリバティブ取引所に上場されているテーマ別無期限先物契約であり、資産の基礎となるファンダメンタルズではなく、米国の政治的物語を中心とした価格センチメントを追跡するように設計されています。 2. プラ...
すべての記事を見る














