NostrクライアントのLN組み込み方法

Nostrクライアントは多種ありますがメジャーなものはだいたいLNの支払いが用意されています。現時点でどんな組み込み方法になっているか調べました。この記事では主にSnortを対象にしています。 LN活用場面 大きくLNアドレスとLNインボイスの2つの形式があります。 1. LNアドレスで投げ銭をセットできる LNURLのLNアドレスをセットすると、プロフィールやノート(ツイートに相当)からLN支払いができます。別クライアントのastralなどではプリミティブなLNURLの投げ銭形式(lnurl1dp68~)でもセットできます。 さらに本日、Snortで試験的にノート単位に投げ銭できる機能が追加されています。 2. LNインボイスが投稿できる 投稿でLNインボイスを貼り付ければ上記のように他の発言と同じようにタイムラインに流れます。Payボタンを押すと各自の端末にあるLNウォレットが立ち上がります。 3. DMでLNインボイスを送る メッセージにLNインボイスが組み込まれているという点では2とほぼ同じですが、ユースケースが異なります。発表されたばかりですがリレーサーバの有料化が始まっていて、その決済をDMにLNインボイスを送付して行うことが試されています。2だとパブリックに投稿されますが、こちらはプライベートなので購入希望者のみにLNインボイスを届けられます。 おまけ: Nostrのユーザ名をLNアドレスと同じにする 直接は関係ないですが、Nostrはユーザー名をemail形式にすることができます。LNアドレスも自分でドメイン取って作れるのでNostrのユーザー名と投げ銭のアドレスを同じにできます。 LNウォレットのAlbyのドメインをNostrのユーザ名にも活用している様子 実装方法 LNアドレスもLNインボイスも非常にシンプルな話ですが軽くまとめます。<a href="https://github.com/v0l/snort" target="

Swap-in-Potentiam 備忘録

LNへのオンボードにはチャネル開設が必要であったり、チャネルマネジメントのためにオンチェーンとオフチェーンの資金交換をしたりと、L2技術とは言え、なにかとオンチェーン送金が必要になる場合があります。オンチェーン送金をする場合、0承認TXを許容することも可能ですが、基本的にはブロック承認を待つことが望ましいとされています。Diamond Swapでもある一定の条件を満たすことで0承認を許容していますが、できることなら避けて通りたい道です。 この問題を解決し得るある提案がLNメーリスで紹介されていました。本提案では、0承認でもトラストレスにSwap-inができるというものです。 ユーザーのシナリオとしては、まずウォレットからアドレスを生成して、そこへBTCを送金します。これは取引所からの出金であったり、第三者からの支払いであったりなんでも構いません。そして後日、ユーザーはLN決済でコーヒーを買おうとします。この時、ウォレットにチャネルがない場合はチャネル開設が必要で、チャネルがあってもアウトバウンドキャパシティがない場合はSwap-inをしてウォレットへBTCをチャージしたりする必要があります。この際、オンチェーン送金が発生するので、ブロック承認を待つ必要があります。 ここで、ウォレットから生成するアドレスをある特別なアドレスへ少し変換してあげます。そうすることで、チャネル開設やSwap-inをする際にブロック承認を待たずしてトラストレスにウォレットへBTCを送金することが可能になります。 その特別なアドレスは、2つのブランチによる消費条件で構成されています。1つはAとBのマルチシグを必要とするブランチで、もう1つはAの署名と相対的なタイムロック(OP_CSV)が掛けられているブランチです。このアドレスへ送金された資金であれば、Swap-inを0承認で安全に行うことができます。 通常のSwap-inの場合、AがBが生成したロックアップアドレスへオンチェーン送金をして、その送金が承認されるとBがSwap-inを開始します(AへLN送金をする)。そしてAがプリイメジを公開することで、Bがそのプリイメジを使いロックアップアドレスから資金を回収してSwap-inが完了します。もしここで、AがRBFによるロックアップアドレスへのオンチェーン送金TXをキャンセルしてしまうと、Bはロックアップアドレスからの資金回収ができなくなります。そのため、BはそのTXが含まれるブロック承認を待つ必要があるわけです。 Swap-in-Potentiamの場合、ロックアップアドレスへ送金するためにはAとBの署名が必要となります。そのため、上記のようにAのみの署名で資金を動かすことができないので、ロックアップアドレスへ送金されれば、Bは安全にSwap-inを開始することができるのです。 Swap-in-Potentiamで使われる特別なアドレスはAの管理下にありますが、第2ブランチのタイムロックが過ぎてしまえば、Swap-in-Potentiamができなくなります。いざLN決済でコーヒーを買おうとした場合、そのアドレスがタイムアウトになっていれば元も子もありません。ウォレットがタイムロックのマネジメントをする必要はありますが、したとしてもSwap-in-Potentiamは実用的ではないのではと思いました。 https://lists.linuxfoundation.org/pipermail/lightning-dev/2023-January/003810.html

バッジャー君

Spotlight

SNS platform for distributing digital content using Bitcoin. Each piece of content can be sold or purchased for as little as one $0.01 in Bitcoin, making it a fun place to start for both readers and creators.

Sign up
Search spotlight

Reckless ads

ads here

Trending Stories