先日マージされたBIP-374↓は、楕円曲線のベースポイントGともう1つの点Bを基に、それぞれに同じスカラー値aを乗算した点A = aGと点C = aBが同じ、同じスカラー値(離散対数)aによって導出された点であることをaの値を明かすことなく証明する=離散対数の等…
Great Script Restoration Great Script Restoration(GSR)は、2010年にBitcoinで無効化されたopcode群に対して、重みベースのバジェットを付与して再導入するRusty Russellの提案↓ https://github.com/rustyrussell/bips/blob/890656f624e03ebbd31560f6511…
少し前にAnthony TownsがDalving Bitcoinに投稿した、OP_CATを用いてPoWの検証をすることで、分散型のFaucetを実現する提案が面白かった↓ https://delvingbitcoin.org/t/proof-of-work-based-signet-faucet/937 OP_CATを使用したPoWの検証 まだBitcoinに導入…
2010年にOP_CATを含む複数のopcodeがBitcoinで無効になり、その後の研究でこの時無効になったopcodeがあれば、実はBitcoinでコベナンツを実現できることが判明するも、無効化された現状のBitcoinでコベナンツを実現する方法はこれまでなかった。ところが最近…
先日OP_CHECKSIGFROMSTACK opcodeの導入を提案するBIP-348がBIPとして登録された↓ https://github.com/bitcoin/bips/blob/master/bip-0348.md OP_CHECKSIGFROMSTACK OP_CHECKSIGFROMSTACK(OP_CSFS)自体は、昔からElementsに導入されているopcodeで、スタッ…
先日、TapscriptにOP_INTERNALKEYという新しいopcodeの導入を提案するBIP-349がBIPとして登録された↑ https://github.com/bitcoin/bips/blob/master/bip-0349.md OP_INTERNALKEY OP_INTERNALKEY opcodeは、スタックにTaprootの内部鍵をプッシュするopcode。T…
少し前にStartWareが、Bitcoinのsignet上でOP_CATを利用したSTARKベースのゼロ知識証明の実証をしてたので、どんな内容なのか見てる中で、トランザクションチェーンで状態を遷移させる手法が興味深かった↓ The path to general computation on Bitcoin | Sta…
OP_CATとSchnorrのトリックを使ってBitcoinでコベナンツを実装するAndrew Poelstraの提案について以前書いたけど↓ techmedia-think.hatenablog.com その後、Robin Linusが同様のことをECDSAで行う方法を公開してた↓ Emulate covenants using only OP_CAT and…
Bitcoin Core v28.0で新たにサポートされた機能の1つが1P1C(1 Parent 1 Child)パッケージリレー。パッケージリレーというのは、複数の関連トランザクションをまとめてP2Pネットワークでリレーできるようにする機能のこと。 複数の関連トランザクションのセ…
LNのインバウンド流動性問題 LNでチャネルを新規に開設する場合、開設時は通常チャネル残高=自分の残高となる。これはチャネルを介して自分が支払うアウトバウンド流動性は保持しているけど、チャネルを介して支払いを受け取るインバウンド流動性はまったく…
アダプター署名と言えば、HTLCに代わるPTLCや、スクリプトレスなAtomic Swapを行う際に利用される暗号プリミティブ。簡単にSchnorr署名の例で説明すると*1、 鍵ペアをP = xG(P:公開鍵、x:秘密鍵、G:ベースポイント)として、メッセージmに署名する場合、…
ウィルス対策ソフトウェアの誤検知により、BitcoinのブロックやUTXOセットのデータが自動的に隔離/削除され、bitcoindがクラッシュしデータの破損につながる事例がいくつか報告された結果、DBのデータを難読化する機能が搭載された。 UTXOセットのデータ(ch…
先日公開されたbtcd v0.24.2未満に存在したコンセンサスバグについて↓ CVE-2024-38365 public disclosure (btcd `FindAndDelete` bug) - Implementation - Delving Bitcoin 署名検証時の動作 バグの原因となっていたのは、Segwit導入前のレガシーなトランザ…
先日リリースされたBitcoin Core v28.0が、Pay to Anchorアウトプットを使用するトランザクションのリレーをサポートした。Pay to Anchorというのはエフェメラルアンカーという提案の一部。 エフェメラルアンカー エフェメラルアンカーは、ライトニングネッ…
Bitaxeを入手したのをきっかけに↓、プールマイニングにも興味出てきたので、最近のマイニングプールの仕組みについて調べてみた。※ Bitaxe単体でマイニングに成功することは基本的にない。 プールマイニングは、多数のマイナーが協力して新しいブロックを見…
少し前に、Schnorrベースの閾値署名スキームFROST用にChillDKGという分散鍵生成スキームのBIPドラフトが発表された↓ https://github.com/BlockstreamResearch/bip-frost-dkg FROSTはShcnorrベースの閾値(t-of-n)のマルチシグに対応した署名スキームだけど…
ハードウェアウォレットからマスターシードを流出させるDark Skippyという新しい攻撃手法が最近公開された↓ https://darkskippy.com/ 悪意ある署名デバイスによる攻撃 Dark Skippyも、ハードウェアウォレットのような署名デバイスで悪意あるファームウェアが…
現在のTestnet 3を置き換えるTestnet 4の仕様がBIP-94としてBIPにマージされた↓ https://github.com/bitcoin/bips/blob/master/bip-0094.mediawiki testnetのリセットは、 金銭的価値のないtestnetのコインが詐欺まがいのエアドロップや売買に使用されていた…
BIP-352はBitcoinの静的な支払いアドレスプロトコルを定義するBIP↓ https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki Bitcoinにおけるプライバシーに関する推奨事項として、アドレスの再利用をしないというのがよく挙げられる。複数のトラン…
少し前に量子耐性のある署名アルゴリズムを用いたBitcoinのアドレスフォーマットを提案するBIPドラフトが提案された↓ https://github.com/cryptoquick/bips/blob/p2qrh/bip-p2qrh.mediawiki この中で量子耐性のある署名アルゴリズムとして紹介されていたSQIs…
先日マージされたBIP-328↓は、 https://github.com/bitcoin/bips/blob/master/bip-0328.mediawiki MuSig2の集約公開鍵をベースに新たな子鍵を導出するためのスキームを定義した仕様になる。 MuSig2は、n-of-nのマルチシグに参加する複数の参加者の鍵を1つの…
最近マージされたBIP-46は、Join Marketで既に展開されているFelidity bondのアドレス導出スキームをBIP化したもの↓ https://github.com/bitcoin/bips/blob/master/bip-0046.mediawiki Fidelity bondとは? 元々の意味は、身元保証で、ある人物の行為によっ…
Bitcoinで支払いをする場合、その支払先はアドレスという形で提供され、それをURI形式にしたのがBIP-21↓ techmedia-think.hatenablog.com BIP-21のURIは、bitcoin:の後にアドレスやその他の情報がエンコードされる。ただ、アドレスも人が読みやすい/覚えやす…
BitVMXは、少し前にRootstockLabsが発表したBitVMベースの新しい設計↓ https://bitvmx.org/files/bitvmx-whitepaper.pdf BitVMファミリー 最初に発表されたBitVMは、任意の計算処理について回路を構成し、それをTaprootのスクリプトツリーとしてエンコードし…
先月Bitcoin-Devメーリングリストに投稿されたBitcoinにランポート署名を導入する提案↓ Signing a Bitcoin Transaction with Lamport Signatures (no changes needed) 以前、OP_CATを利用した提案はあったけど↓、↑はOP_CATを必要とせず現状のBitcoinで動作す…
TapscriptでOP_CAT opcodeを利用可能にしようという提案のBIPがBIP-347として登録された↓ https://github.com/bitcoin/bips/blob/master/bip-0347.mediawiki OP_CATとは OP_CAT opcodeは、スタックから上位2つの要素をポップし、それらを連結した値をスタッ…
BitcoinのP2Pネットワークにおいて、トランザクションパッケージのリレーをサポートするBIP-331が先日登録された↓ https://github.com/bitcoin/bips/blob/master/bip-0331.mediawiki トランザクションリレーとmempool 現状のBitcoinのトランザクションリレー…
Bitcoin上で任意のプログラムの検証を可能にするBitVMについて↓ techmedia-think.hatenablog.com この提案では、チャレンジ&レスポンスを行えるのはコントラクトに参加する二者に限定されていたけど、これを マルチパーティ構成に拡張し、 さらに一連のチャ…
Bitcoin Optechのニュースレター#296で、コンセンサスクリーンアップの提案が再検討されているという話の一部に、ブロック1,983,702問題が取り上げられていたので、その内容について。 BitcoinのUTXOは、そのアウトプットが含まれるトランザクションのTXIDと…
Bitcoin Coreはv0.20.0からASMapを利用したアウトバウンドピアの選択をサポートしている↓ Bitcoin Core 0.20.0でASマップを使ったピア選択を有効にする - Develop with pleasure! このASMapを作成して配布するプロセスについて最近投稿されていたので↓ delvi…