Mimblewimble
前回、MWEBチェーンへのペグインまで行ったので↓ techmedia-think.hatenablog.com 今回は、MWEBチェーン上でMWトランザクションを使った送金をしてみる。 MWEB上での送金 新しいmwebタイプのアドレスを作成し、そこに送金する↓ $ ./litecoin-cli sendtoaddre…
LitecoinはExtension Blockという手法を使ってMimblewimbleを導入し(MWEB)、mainnetで2022年5月22日にアクティベートされた。今回はそんなMimblewimbleを試してみる(mainnetじゃなくtestnetだけど)。 トランザクション構造が全く異なるMimblewimbleをソ…
Litecoinでは、Extension Blockを利用してMimblewimbleを実装するMWEBの開発が行われているけど、その中でMimblewimbleのトランザクションを送信者のみが構築するプロトコルがLIP-0004として提案されている↓(まだ正式にLIPとしてマージされてる訳ではななく…
リプレイアタックというと、チェーンがハードフォークした際に、片方のチェーンで発生した送金Txが、もう一方のチェーンで意図せずブロードキャストされる=リプレイされる問題として2017年のフォークコイン誕生の際によく話題に挙がった。 ハードフォークと…
先日、Grinがウォレットリストアの際に自身のUTXOを識別するのにBulletproofsのrange proofにヒントを隠している記事を書いたけど、↓ techmedia-think.hatenablog.com 今回の記事では、リストアという限定的な利用方法だけでなく任意のデータをrange proofに…
BitcoinのウォレットであればほぼBIP-32のHDウォレットをサポートしているため、マスターシードさえバックアップしておけば、いつでもウォレットをリストアすることができる。Bitcoinの受け取りに使用するアドレスは全てマスターシードから導出した鍵から作…
ちょっと前にGrinで発表された脆弱性CVE-2020-6638↓の内容について見てみる。 https://github.com/mimblewimble/grin-security/blob/master/CVEs/CVE-2020-6638.md Grinの構成要素 具体的な脆弱性の解説の前に、Grinの構成要素について抑えておく↓ Pedersen …
techmedia-think.hatenablog.com ↑でBulletproofsの基本となる内積の証明の仕組みについて書いたので、今回はこれがCTやMimblewimbleなどで必要とされるrange proofにどう適用されるのか見ていく。 range proofとは? CTと同様Mimblewimbleなどでもコインの…
最近、LitecoinがMimblewimbleを導入するLIP(Litecoin版BIP)が提案された↓ https://github.com/litecoin-project/lips/blob/master/lip-0002.mediawiki https://github.com/litecoin-project/lips/blob/master/lip-0003.mediawiki Litecoinは元々Bitcoinの…
Mimblewimbleを実装したGrinにはBitcoinのようなスクリプト機能は存在しない。コインの所有権は、秘密鍵の役割をするPedersen CommitmentのBlinding Factorの値を知っているかどうかで、UTXOを使用する際はその値を使った電子署名が求められる。Mimblewimble…
MimblewimbleではPedersen Commitmentにより取引する量が秘匿され、さらにスクリプトがなくPedersen CommitmentのBlinding Factorがそのコインの所有権を証明するキーになる。そのため、Perdersen Commitmentを見ただけでは誰から誰へのいくらの送金なのかは…
techmedia-think.hatenablog.com について整理したので、今回は応用編ということでAtomic Swapや、タイムロックの仕組みをアウトプットと組み合わせた(BitcoinのOP_CLTV使うようなイメージ)条件付きのタイムロック支払いのコントラクトの構成方法について…
MimblewimbleとGrinのトランザクション構成が把握できたので↓ techmedia-think.hatenablog.com 今回は↓を参考にGrinでどんなコントラクトを作る際に使える基本要素についてまとめる。 https://github.com/mimblewimble/grin/blob/master/doc/contracts.md Mi…
Grinのトランザクションのトランザクションフローを見てたら、オリジナルのMimblewimbleと署名プロセスが少し変わってたのでまとめてみた。 Mimblewimbleの基本機能 Pedersen Commitment Gregory Maxwellが提案したConfidential Transactionで導入されたコイ…