tanakei

tanakei

@163

甘いもの大好きメタボ猫。マイペースなのはしょうがない。

ECDSAのアダプター署名とDLCへの応用

先日の読書会にて様々なScriptless Scriptの手法についての解説があり、中でも「Payment points without 2p-ECDSA or Schnorr」と呼ばれる手法とそのDLCへの活用事例が面白かったので、それについて復習も兼ねて紹介したいと思います。 ペイメントポイントについては以前の記事で解説しましたが、ライトニングネットワークのマルチホップペイメントではHTLCと呼ばれるコントラクトを使うことで複数ノードを中継してコインを送金しています。しかし、このHTLCでは中継ノード全員に同じシークレットが行き渡ってしまい、それにより送金経路が明らかになったり、中継ノードが結託することで攻撃ができてしまう欠点がありました。ペイメントポイントを使うことで、中継ノードそれぞれに個別のシークレット情報を渡すことが可能となり、プライバシー向上や攻撃への対処ができることを解説しました。このペイメントポイントはアダプター署名を使用していますが、シュノア署名の導入が必要であったり、既存のECDSAを使う場合でも2者間で暗号化した署名を交換しあう必要があり(これを2party ECDSA、2p-ECDSAと呼ぶ)、複雑になるという難点があります。 そこで登場したのが、2p-ECDSAやシュノア署名を使わずにアダプター署名(Scriptless Script)を実現する方法「Payment points without 2p-ECDSA or Schnorr」です。この手法はOP_CHECKMULTISIGを使うので、完全なScriptless Scriptではありませんが、既存のビットコインブロックチェーン上で実現ができます。そしてこの手法をDLCへ応用することで、従来のDLCで想定されていたトランザクションをシンプルにすることができます。以前の記事でDLCの実装ソフトNDLCについて紹介した時、なぜアダプター署名を使う必要があるのか疑問でしたが、その答えがまさにこれでした。 Payment points without 2p-ECDSA or Schnorr アリスはボブが公開情報Tに対するシークレットtを公開すれば、1BTCを送金するという例をとって解説します。やりとりの流れは以下の通りです。

Popular stories

【Umbrel】BlueWallet Lightning & tailscaleで便利で快適なLightningウォレットを作ろう!

309

【Umbrel】LNURLが使いたいから自分で環境つくってみた

157

【Umbrel】LNDのtls.certってどんな時使うの?

118

Archives

2022-12
2posts
2022-10
1posts
2022-09
3posts
2022-07
2posts
2022-06
1posts
2022-05
3posts
2021-11
1posts
2021-04
1posts
2021-01
1posts