Purchased this article mic51u97c
Ky
ビットガールズで気づいたこと
2016年から2017年にかけて、ビットガールズというテレビ番組が放送されていた。アイドルのトークンをICOしたり、トークンを使ってアイドルに投票したり、アイドルがビットコインの歌を歌ったり、簡単に言うとアイドルとビットコイン(とトークン)をかけ合わせた番組だった。 その頃の僕は、多くのエンジョイ勢と同じようにCounterparteyのトークンを作っては、配ったりもらったりして遊んでいた。そんな感じで暗号通貨に興味を持ち、面白そうなことにはとりあえず手を出していた僕は、当然のようにビットガールズのICOや投票に参加していた。 しばらくして番組は終わってしまった。番組が終わってしばらくしても、なぜかTelegramのビットガールズグループには時々新しい参加者が増えていた。 ある日、彼女と一緒に僕のスマホを見ていたら、ビットガールズグループに新しい参加者が増えたという通知が表示された。おそらく彼女の目にも入ったはずだった。別にやましいことはないのだけど、「ビットガールズ」という怪しい単語を見てどう思うだろうと考えつつ、特に通知に触れることなくやり過ごした。 少しして、今度は彼女のスマホを二人で見ていた。Googleで検索しようとしたそのとき、検索の履歴に「ビットガールズ」と表示された。 やっぱりあの通知は見られていた。あの通知を見た彼女はビットガールズを検索したのだろう。ビットガールズという単語を見てどう思っただろう。ゲームの名前か、アイドルグループか、エロコンテンツだと思ったかもしれない。そしてそれがアイドルとビットコインの番組だと分かった時、どう思ったのだろう。 これは僕の偏見かもしれないけれど、「アイドル」と「仮想通貨」は彼氏にやめてほしいランキングで上位にくる趣味じゃないだろうか。この2つを組み合わせた番組を見ておいて、やましくないという感覚を持ってしまっているのは、異常なのかもしれない。そこまで考えてそれ以上考えるのをやめた。
Greenlightとチャネルの強制閉鎖
Greenlight, BreezSDKを使ったライトニング搭載ビットコインウォレットを開発中に、テスターから強制チャネル閉鎖になると報告がいくつかありました。そこでテスターからログをいただき、解析してみた結果、ビットコイン、ライトニング特有な原因であることがわかりました。以下はそのログの原因箇所を抜粋したものです。 19:08:57 : DEBUG 02c...70d-channeld-chan#1: Received commit_sig with 0 htlc sigs 19:08:59 : DEBUG 02c...70d-channeld-chan#1: sending_revoke_and_ack: HTLC REMOTE 15 = SENT_ADD_REVOCATION/RCVD_ADD_REVOCATION 19:08:59 : DEBUG 02c...70d-channeld-chan#1: revoke_and_ack made pending: commit timer 19:08:59 : DEBUG 02c...70d-channeld-chan#1: Sending master 1021 19:08:59 : UNUSUAL 02c...70d-chan#1: Deferring incoming commit until we sync ライトニングの送金は、送信者と受信者が互いにその取引に署名をします。まずは、送信者がコミットメントに対して署名をします。受信者はそれを受け取り、内容に問題がなければ、古いコミットメントを失効させます。この際、受信者は古いコミットメントがオンチェーンへブロードキャストされていないか確認する必要があります。そのためには、まずはビットコインの最新のブロック高まで同期して確認します。もしブロック高の同期が未完であれば、相手からのコミットメントを受け取ってもその処理を中断して、ブロック高の同期を待ちます。もし、この状態でアプリを閉じてしまうとどうなるか...送信者はコミットメントに署名をして受信者へ渡した状態で、これは送金が宙に浮いている状態です。この場合ライトニングでは、ある一定期間が経過すると、その中途半端な取引をオンチェーンへ展開して資金を回収するプロトコルになっています。これが所謂、チャネルの強制閉鎖です。 ウォレットを開き、支払いを受け取ろうとする。しかしブロック高の同期が完了していない場合、その取引は中途半端になる。その状態でアプリを閉じることで、一定期間経過後にチャネルが閉鎖されてしまう。これがテスターから報告のあったチャネル強制閉鎖の原因でした。 対応策は、ブロック同期が完了するまでインボイスの生成や受け取りができないようにすれば良いはずです。 GreenlightやBreezSDKといったライトニングウォレットの開発が楽になるツールがでてきても、ブロック高の同期など、ビットコインの基本的な処理が必須で、これが「
Purchased this article l23zvlb3s
Purchased this article 2uk0vmsu8
Purchased this article s4tqcy9a9
Purchased this article 8edru3da6
Purchased this article 30q2whqih
Ky tipped you
Purchased this article sdksdspcj
Purchased this article as1e5dhui
Purchased this article a5nai3ps7
Purchased this article dfj24b72k
Purchased this article xdkogpobo
Purchased this article aj5kyiut7
Ky tipped you
Purchased this article lvzbfej70
Purchased this article ed3agqw8x
Purchased this article de1wvz3d4
Purchased this article gy38w7gsk
Purchased this article mfzdm9cvu
Purchased this article 7qi3gpu3g