Yuya

Yuya

@ogw_yuya

夢は世界中に影響を与え社会貢献すること。感謝、親孝行。

EVM・Bitcoinオペコードと手数料

オペコードとは機械語の1個の命令のことで、数学では+や=などの演算子にあたります。プログラミングをする場合、PythonやJavaなど高水準言語と呼ばれる人間にとって理解しやすい言語を使います。そのプログラムを変換(コンパイル)してコンピュータが処理しやすいように低水準言語へ置き換えるのですが、その時にオペコード(実際はバイトコード)へ変換されます。ビットコインやイーサリアムも同じような仕組みですが、今回はこのオペコードと手数料の関係について両者の比較をしたいと思います。 ビットコインとオペコード ビットコインのプログラミング言語はビットコインスクリプトと呼び、これは低水準言語にあたります。ビットコインには一応Miniscriptという高水準言語ちっくなものが存在しますが、あまり活用されている事例は聞かないです。ビットコインスクリプトの例を以下に書いてみます。 OP_IF OP_2 ${alice.publicKey} ${bob.publicKey} OP_2 OP_CHECKMULTISIG OP_ELSE 3 OP_CHECKSEQUENCEVERIFY OP_DROP ${alice.publicKey} OP_CHECKSIG OP_ENDIF 上記のスクリプトは、「アリスとボブの署名か、または3ブロック経過していればアリスの署名を使うとビットコインを引き出せる」というプログラムで、巷ではこれをスマートコントラクトと呼んでいます。このスクリプトをバイトコードへ変換したものが以下になります。 63522103d410a00494e5831cc4fbadc78028428647a8072748cf3ed29980ac02c58faa85210376d82d42e52d88710fd8cd05091246bec5a8111008f64fef8c5f7e312fb839ba52ae6753b2752103d410a00494e5831cc4fbadc78028428647a8072748cf3ed29980ac02c58faa85ac68 意味不明ですよね。機械が理解できればよいのでこんな感じになります。データサイズは112byteです。このデータをハッシュしてビットコインアドレスにしたものが以下になります。 2N7MMSjziUcgU6HwseBH8S9WzQhebg7Xkyq <a href="https://blockstre

HODL Invoiceの逆襲

みなさんビットコインHODLしてますか? 今年はさらにATHを更新しそうな予感がするビットコインですが、レイヤー2のライトニングネットワークにはHODLインボイスと呼ばれる送金方法があります。以前の記事で紹介したことがありますが、HODLインボイスはビットコインの送金時に受取り側が受理するかを選択できるという特殊なインボイスです。通常のライトニング決済ではインボイスに対して送金すると自動的に決済が完了します。しかし、HODLインボイスの場合は受取り側がアクション(受理か拒否)を起こすまで送金がペンディング状態となります。 この仕組みを活用したサービスには、最近ローンチしたPaddleやRedditのlntipbotがあります。lntipbotは最近初めて知ったのですが、テレグラムのlntxbotに近いカストディアル型のウォレットです。ただしHODLインボイスを取り入れていることがユニークだと思い今回紹介してみます。 lntipbotでは、投げ銭をしたいユーザーへ対して、!hodltip とコメントをすると、以下の流れで送金が行われます(送金者をアリス、受信者をボブ、lntipbotをbotとする)。 アリスはボブへ !hodltip <amount> とコメントすると、HODLインボイスが生成される アリスはそのインボイスへ送金する(この時の送金は保留状態) botはボブへ<amount>以下のインボイス生成を要求する ボブは外部ウォレットでインボイスを生成し、botへ返信する botはボブのインボイスへ送金し、2.でペンディングされている送金を受理する 上記の流れでは、botが送金を仲介していて、5でのエスクローに信用が必要です。しかし、特筆すべきことは、残高管理をしなくてもよいという所です。残高管理って結構大変なんですよね。できればしたくないです。このHODLインボイスを活用すれば残高管理のない投げ銭サービスが作れそうですね。ただし、この仕組みでは、いちいちボブがインボイスを生成しないといけないので面倒です。 もしウォレットではなくLNノードを運用しているユーザーであれば、3のインボイス生成の要求に対して自動でインボイスを生成するスクリプトかBotを作れば自動化はできそうですね。それでもアリスは投げ銭ごとにウォレットを使う必要があるので、UX的にはやはりカストディアルな残高管理があるほうがシームレスです。

ライトニングネットワークへのビットコイン流動性提供の備忘録

ライトニングネットワークで調査や試したいことがあるんだけど、中々まとまった時間がとれない(・_・、) ライトニングネットワークへのビットコイン流動性提供のニーズあるはずで、各LSP(Lightning Service Provider)は結構利益が出ていると思う。LSPをカテゴリ毎に分けると カストディアルウォレット BluewalletやWalletofSatoshiは送金額の0.3%を手数料として得ている。一日に1BTCの送金と仮定すると(実際はもっと多いと思う)、0.003BTC(約1万円)の収益 ノンカストディアルウォレット Eclair mobile, Breezなどは開発元が巨大なルーティングノードを運営しており、大元とのチャネル接続によってルーティング手数料を得ている。例えば、ACINQのルーティング手数料は0.05%なので、一日に1BTCのルーティングがあると仮定すると、0.0005BTC(約1600円) Lapp Y'allsなどのLappサービスを提供するノードも多くの流動性を提供している。Y'allsノードのルーティング手数料は0.5%で、一日に1BTCのルーティングがあると思われるので、0.005BTC(約1.6万円) クジラノード LNBIGやACINQなどのクジラノードはその潤沢な資金を使って多くのチャネル開設をしてきた。LNBIGは最近までルーティング手数料をほぼ0にしたり、リバランスを怠っていたみたいだが、運用を再開したら、一日に0.5BTCのルーティングがあるらしく、15,000sats(約500円)の収益 かなりラフだけど、上記のカテゴリ別にツイッターから情報収集すれば、現状のライトニングネットワーク上でのトランザクション量やルーティング手数料などが分かると思う。以下はLNBIGに関しての情報です。 <iframe style="border: 1px solid #dedede; box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px;" allowfullscreen="allowfullscreen" allow="autoplay *; encrypted-media *" src="//cdn.iframe.ly/a

次期ソフトフォークTaproot

ビットコインの次期ソフトフォークの名前となっているTaprootについての備忘録です。Taprootソフトフォークでは以下のBIPが取り込まれる予定で、その中には今回のアップデートの目玉であるシュノア署名も含まれています。 BIP340(シュノア署名) BIP341(SegWit V1) BIP342(Tapscript検証) 上記のとおりTaprootソフトフォークでは複数の仕様が含まれているので、いくつかに分割しておさらいをしたいと思います。 Schnorr署名 シュノア署名は以前の記事で解説しているので詳細は割愛しますが、現在使われている楕円曲線DSA署名に替わり、このシュノア署名が導入されます。シュノア署名は署名の集約やバッチ検証、その他さまざまな恩恵を受けることができます。 MAST MAST(Merklized Abstract Syntax Trees)は、マークル木を活用してコインの使用条件をハッシュ化し秘匿する技術です。ビットコインを送金するにはUTXOにロックされている使用条件を解除する必要があり、その解除方法が「署名」となります。通常のビットコイン送金であれば、この使用条件は「公開鍵に対応する署名」のみですが、例えば、1-of-2マルチシグアドレスのコインを送金をする場合、使用条件は「2つの公開鍵Aと公開鍵Bに対応するどちらかの署名」となります。もしこのマルチシグアドレスからコインを送金すると、ブロックチェーン上にはその使用条件が書き込まれます。例えば署名Aを使いコインを送金した場合でも、公開鍵Aと公開鍵Bの情報がブロックチェーン上に書き込まれます。これがプライバシーを損なうといわれている理由です。ここで、MASTという仕組みを使うと、公開鍵Bの情報を秘匿することが可能になります。さらに、実行されなかった使用条件は書き込まれないので(厳密にはハッシュ・集約化されている)、ブロックスペースを節約することが期待されています。今回のソ

暗号通貨で自分語り

2017年私がビットコインを知ったきっかけは兄だった。暗号通貨というものがあり、買えば儲かる。コインチェックのコイン一覧を見せられ、それぞれアイコンや値段が違うと思った。何が何やらわからない私はとりあえず、兄に進められるがままなんだかおしゃれなリップルを買った。 5万円をコンビニ入金して0.2BTC購入、BTCで1,221XRPを買った。 株取引もしたことがない私にとってこれが初めてのトレードとなった。リアルタイムに自分の金が増えたり減ったりするのが衝撃だった。その後二日と経たずにXRPを半分売りNEMを買った。(ビギナーほど安いコインを買うというのは真実だ)声優養成所のダンスや日舞といった幼少期から運動神経を作ってきたものだけが着いていけるレッスンに早々挫折した私は、返還された入所金の半分の使い道を決めた。bitFiyer,bitbank国内取引所も登録したし、妙なコインを求めてBittrex,Phoronix海外取引所も登録した。ETHも買った。BCH(ドラコンスレイヤー)も買った。Numeraireも買った。Byteballも買った。ecobitも買った。けれどBTCは買わなかった。 ノートを取る勉強もせず、漫然とツイッターで暗号通貨関連のツイートを見ては金を増やしたいと思っていた。そしてチャンスが来た。MONAがbitFiyerに上場しグングン値上がりしたのだ。秋葉原にCM見に行って良かった。やはりこれからはMONAだ。スマホをみると評価額は700万と表示されている、見間違いではない。人生勝った!と思った。どこまで上がる?1000万か?2000万か? それがピークだった。MONAはするすると下降をしていった。儲けるには儲けた。が一度手の内にあった大金が消えたショックは大きかった。あのとき。あのとき。ああ入社した会社のプログラミング研修なんてやっている場合ではなかった! ほどなくして出川哲郎さんがテレビCMにでた。 2020年11月暗号通貨に戻ってきた。残高は0.2BTC。Jihanは消えていた。もうkazmaxサロンに入らない。チャートにhenashampしない。変なコイン買わない。SOONを信じない。AidosMarket早くBTC出金させて。少しづつでいいビットコインとイーサリアム、ブロックチェーン技術を勉強するんだ。DeFiも寿司や雲丹と言い出した時にちゃんと調べていれば先行者利益に乗ることができたハズだ。BTC保有者ゼロのIT派遣会社なんて辞めた。無職の子供部屋おじさんだ。おばあちゃんが孫のために貯めた定期預金を元手にいくで!やるで!

Monacoin core based Bitcoin 0.20 の論点整理(2)

つづき。 まずは dust size から。 Bitcoin 系チェーン(モナコイン含む)を普通に使っている限り気にする機会がほとんどないと思います。Counterparty やモナパーティを深く使いこなすと気になってくるのですが、それも、限られた人々だけでしょう。 送金の記録はトランザクションというデータとしてP2Pネットワークを通り、採掘者のノードに到着し、ブロックに纏められる。これは割と知られているのではと思います。 トランザクションの量が多くなると、ネットワークの負荷が上がり、ノードが必要とするリソースも増えます。 ごく少額の送金トランザクションを大量に生成し、P2Pネットワークへ放流すれば、低コストで嫌がらせ的な攻撃を行えます。俗に tx spam 攻撃に分類されるものです。 ちょっと指摘を又聞きしたので、加筆。tx spam は一通りではなく、複数のバリエーションがあります。ここで取り上げているのは Very-low-fee flooding の亜種です。この攻撃の定石では fee を極端に下げますが、fee が正常で送金額が小さなトランザクションを大量放流するのも同様に嫌がらせとして成立しえます。対法定通貨建の価格が安い暗号資産に限られますが。 この種の攻撃を防ぐため、ノードが別のノードに転送する最小の送金額が決められています。これを dust (ゴミ)と呼びます。Bitcoin では 546sat でした。Segwit 導入以降はちょっとややこしい計算が必要です。半端な数値に見えますが、理詰めで導き出せる数値です。 <

おねだりへ投げ銭しました。

-1000

noielqi37へ投げ銭しました。

-1918

Ryusuke Kuwaharaさんからw1tst6g5oが購入されました。

10000

Ryusuke Kuwaharaさんからvaal4lvtpが購入されました。

1000

Ryusuke Kuwaharaさんから3gt0psvnqが購入されました。

2000

Lappへ決済しました。

-51

pin2ovhvcを購入しました。

-100

a7jajvcnbを購入しました。

-100

l72lu9q7sを購入しました。

-100

sinchaiさんから32u6bi6tfが購入されました。

10000

ロクヨウさんから32u6bi6tfが購入されました。

10000

ロクヨウさんからjdmiw2innが購入されました。

100

トムさんからvaal4lvtpが購入されました。

1000

トムさんから3gt0psvnqが購入されました。

2000

echoさんから32u6bi6tfが購入されました。

10000

ヨースケ@表参道燻製堂さんから32u6bi6tfが購入されました。

10000

匿名ユーザさんから32u6bi6tfが購入されました。

10000

Katsudonさんから32u6bi6tfが購入されました。

10000

Kyさんから32u6bi6tfが購入されました。

10000

kyoronutさんから32u6bi6tfが購入されました。

10000

このクリエイターの人気記事

LNノードの運用益はどれぐらい?パート1

745

LNノードの運用益はどれぐらい?パート3

429

猫でも分かるLightning Network解説!

401

アーカイブ

2021-02月
5記事
2021-01月
4記事
2020-12月
8記事
2020-10月
2記事
2020-09月
20記事
2020-08月
4記事
2020-07月
5記事
2020-06月
10記事
2020-05月
7記事
2020-04月
10記事
2020-03月
3記事
2020-02月
3記事
2020-01月
6記事
2019-12月
6記事
2019-11月
5記事
2019-09月
1記事
2019-08月
1記事
2019-07月
1記事
2019-05月
4記事
2019-04月
7記事
2019-03月
4記事
2019-02月
5記事