Develop with pleasure!

福岡でCloudとかBlockchainとか。

Schnorr

Schnorr署名とOP_CATを使ったCovenants

Covenantsは、Bitcoinのコインの用途(送り先など)を制限するための仕組み。これまでCovenantsを導入する仕組みの提案がいくつかあったけど、2021年1月にAndrew PoelstraがSchnorr署名とOP_CATを利用したCovenantsの構成を発表しているので、その内容につい…

2ラウンドで安全なマルチシグを生成する署名スキームMuSig2

MuSigはもともとSchnorr署名の鍵の集約特性を活かして多重署名(マルチシグ)を単一のSchnorr署名で行う署名スキームで、Rogue-key攻撃に対して堅牢な署名スキーム↓ techmedia-think.hatenablog.com ただ、署名の生成に以下の3ラウンドの通信が必要になる。…

決定性nonceを利用したMuSigの脆弱性に対処したMuSig-DN

Blockstreamは以前、Schnorr署名を利用したマルチシグを構成する際にKey-Rogue攻撃への耐性を持たせる署名スキームMuSigを発表していた。Key-Rogue攻撃やMuSigの内容について以前解説した↓を参照。 goblockchain.network techmedia-think.hatenablog.com そ…

BitcoinにTaprootを導入するBIPドラフトbip-taproot(BIP-341)

先日、Bitcoinの開発者MLでPieter WuilleがTaproot、Schnorr署名およびマークルブランチをベースとしたコインの使用ルールである新しいSegwitバージョン1のアウトプットタイプを提案した↓ https://github.com/sipa/bips/blob/bip-schnorr/bip-taproot.mediaw…

SchnorrベースのScriptlessな「Multi-Hop Locks」の実現方法

techmedia-think.hatenablog.com techmedia-think.hatenablog.com と書いたので、残ったSchnorrベースのMulti-Hop Locksについても書いておく。 (Multi-Hop Locksのコンセプトについては最初の記事参照) SchnorrベースのMulti-Hop Locksは署名アルゴリズム…

Schnorrの非対話型ゼロ知識証明(NIZKP)について定義しているrfc8235を読んでみた

Schnorrにおいて、ある離散対数の知識を知っていることをゼロ知識で証明するプロトコル(Schnorr NIZK proof)が2017年にrfc2835rfc8235として登録されていたので読んでみた。 RFC 8235 - Schnorr Non-interactive Zero-Knowledge Proof 簡単に概要を説明す…

マルチパーティ間のスクリプトのプライバシーを向上させるTaprootというコンセプト

先日、bitcoin-dev MLにGregory MaxwellがポストしていたTaprootというコンセプトが興味深かったので見てみる↓ [bitcoin-dev] Taproot: Privacy preserving switchable scripting まだBitcoinにはデプロイされていないが、MASTというscriptPubkeyをマークル…

Schnorrベースのマルチシグネチャスキーム「MuSig」

先日、Gregory MaxwellとAndrew Poelstra、Yannick SeurinとPieter Wuilleらによって、Schnorr署名を使ったマルチシグスキームのホワイトペーパーが発表された↓ https://eprint.iacr.org/2018/068.pdf これに関する記事をPeiter WuilleがBlockstreamのブログ…