タグ

bitcoinに関するkiririmodeのブックマーク (52)

  • ビットコインの新アドレスフォーマット「Bech32」に潜む、深刻なバグ

    こんにちは!フレセッツ株式会社の日向です。気づけばもう11月も半ば、令和元年も残すところあと一ヶ月半といったところですね。だいぶ寒くなってきたので去年使っていた暖房器具《マイニングリグ》を引っ張り出してきたんですが、どうもGPUファンがどれも動作不良で寒い日々を過ごしております。 今回は、ビットコインの新しいアドレスフォーマットである「Bech32」で発見された設計上のバグについてお話しようと思います。 Bech32の換字テーブルBech32とは?ビットコインで長らく使われていた「1」または「3」から始まるアドレスフォーマットは base58(check)と呼ばれるものであり、秘密鍵のエクスポート時などにも使われるなど、広く使われてきました。しかしながら長く使われていくにつれていろいろと不便な点が浮き彫りになってきたため、Segregated Witness (SegWit) の導入と合わ

    ビットコインの新アドレスフォーマット「Bech32」に潜む、深刻なバグ
    kiririmode
    kiririmode 2020/01/03
    Bech32エンコーディングはBase58に対して効率が良く口頭でも伝えやすく2のべき乗の文字数を利用するため過去研究が適用しやすい
  • What is the database for?

    kiririmode
    kiririmode 2019/12/11
    bitcoinのデータがどう格納されているか。raw data とそこから生成される level db ファイル。
  • 仮想通貨ビットコインでSTOも サムソン・モウ氏に聞くサイドチェーン「リキッド」の可能性【独自記事】

    仮想通貨企業ブロックストリームが手掛ける「リキッド(LIQUID)ネットワーク」。仮想通貨ビットコインのネットワークを決済ネットワークとするためのプロジェクトだ。 リキッドネットワークに参加するパートナー企業の第1回会合が10月に東京で開かれた。コインテレグラフジャパンは、リキッドネットワークの現状や未来について、ブロックストリームの最高戦略責任者(CSO)であるサムソン・モウ氏にインタビューを行った。 リキッドネットワークとはリキッドネットワークは、仮想通貨ビットコインのサイドチェーンとして開発されたものだ。 「リキッドは決済ネットワークだ。仮想通貨取引所同士をサイドチェーン上でリンクさせる。またトレーダーのためのツールも提供している。リキッド上で発行するL-BTCは、メインネット上のBTCと1対1の関係を持っている」(モウ氏)。 たとえば、メインネット上にある1BTCを預託することで、

    仮想通貨ビットコインでSTOも サムソン・モウ氏に聞くサイドチェーン「リキッド」の可能性【独自記事】
    kiririmode
    kiririmode 2019/11/29
    liquidの狙い
  • 部分的に署名されたトランザクション(PSBT)のフォーマットを定義するBIP-174 - Develop with pleasure!

    通常のP2PKHやP2WPKHで決済をする分には特に関係ないが、P2SHベースのマルチシグやコントラクトなどで複数のユーザーによる署名が必要な場合、ユーザー間でトランザクションをやりとりしながら、各自署名を付与し、最終的にブロードキャスト可能なトランザクションを作成する必要がある。 この部分はブロックチェーン外で行われるけど、どういうフォーマットで途中のトランザクションをやり取りするかなどは、ウォレットやサービスによってそれぞれ異なる。標準仕様がないため、当然ウォレットが違えば互換性が無いのがあたり前だが、そういう部分的に署名されたトランザクションのフォーマットを標準定義しようというのが最近追加されたBIP-174↓ https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki ※ BIPが結構更新されてたので2020/01/

    部分的に署名されたトランザクション(PSBT)のフォーマットを定義するBIP-174 - Develop with pleasure!
  • 弁天ちゃんと学ぶ! ビットコインアドレスとトランザクションスクリプト - Qiita

    ビットコインキャッシュも、バイナリ形式のアドレスとしてはビットコインと同じよ。(そのあとのBase58のところが、ビットコインキャッシュは独自のものになっている)https://en.bitcoin.it/wiki/List_of_address_prefixes に他の例があるわ。メインネットとテストネットでもversion prefixが違うのが分かりますね。 これで、prefix8ビット、公開鍵ハッシュ160ビット、checksum32ビット、で200ビットが得られた。これがバイナリ形式のアドレスってわけ。 バイナリ形式からBase58エンコードしてアドレスを得る そうしたらこの200ビットのデータを、「200ビットの大きな整数」だと思って58進数で表したものがビットコインアドレスになるのよ。 58進数では数字が58種類必要なので、小さい順に記号 123456789ABCDEFGHJ

    弁天ちゃんと学ぶ! ビットコインアドレスとトランザクションスクリプト - Qiita
  • Bitcoinの匿名性を向上させるConfidential Transactions - Develop with pleasure!

    Bitcoin単体には個人を表すデータは存在しないけど、アドレス間の送金のやりとりや、取引所を介した現金化などのデータから必ずしも個人が特定できないということは無い。 Bitcoinのアドレスと組織・個人が結びつくと、例えばAという会社はどれくらいの売上をBitcoinで上げているかわかったり、顧客や従業員にいくらBitcoinを支払っているのかといった情報も分かってくる。そこでBitcoinの匿名性を強化しようというZerocashやConfidential Transactionsのような取り組みがされてる。 Confidential Transactionsとは Confidential Transactions - Investigation | elementsproject.org Bitcoinのトラストレスな仕組み上、信頼できる第三者がいなくても取引が可能である反面、全ての

    Bitcoinの匿名性を向上させるConfidential Transactions - Develop with pleasure!
  • トランザクション署名時のSIGHASH - Develop with pleasure!

    Bitcoinのトランザクションに署名する際の、署名のスコープの仕様について読んでみる。 SIGHASHの種類 https://bitcoin.org/en/developer-guide#signature-hash-types OP_CHECKSIGが各署名から非スタック引数を抽出し評価することで、署名者はトランザクションのどの部分に署名するか決めることができるようになる。署名によりトランザクションの一部を変更から保護することで、他のユーザが自分のトランザクションを変更できるようにすることができる。 どのように署名するかはsignature hash typesと呼ばれるオプションで定義されている。現在は以下の3つの基的なSIGHASHが利用可能。 SIGHASH_ALL (デフォルト)全ての入力と出力に署名し、署名スクリプトを除く全ての変更から保護する SIGHASH_NONE 全

    トランザクション署名時のSIGHASH - Develop with pleasure!
    kiririmode
    kiririmode 2019/11/11
    sighashと署名について
  • Miner fees - Bitcoin Wiki

    Miner fees are a fee that spenders may include in any Bitcoin on-chain transaction. The fee may be collected by the miner who includes the transaction in a block. Overview Every Bitcoin transaction spends zero or more bitcoins to zero or more recipients. The difference between the amount being spent and the amount being received is the transaction fee (which must be zero or more). Bitcoin's design

    kiririmode
    kiririmode 2019/11/08
    feerate の説明
  • ロックタイムの比較の際に使われるMedian time-past(BIP-113) - Develop with pleasure!

    BIP-68のRelative lock-time等である一定期間ロックされたトランザクションをブロックに入れていいか判断する際の考え方を再定義するのがBIP-113になる。 https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki 動機 現状、現在の時刻もしくはブロック高が指定されたロックタイム以下の場合、そのトランザクションはブロックに含める対象にはならない。ただコンセンサスルールではブロックのタイムスタンプの順序を強制していない。そのためマイナーがブロックのタイムスタンプを偽造し、来であればまだブロックに含めてはならないトランザクションをブロックに含めることでより多くの手数料を得るという誤ったインセンティブをマイナーに与えてしまう。 このBIPではロックタイムの比較を行うのに、トランザクションが含まれているブロック

    ロックタイムの比較の際に使われるMedian time-past(BIP-113) - Develop with pleasure!
    kiririmode
    kiririmode 2019/11/08
    mediantimeの定義がわかる
  • ブロックチェーン技術とは?非中央集権による革新技術ではないのか? - 快傑Zの仮想通貨遊戯

    私は2016年以前からの仮想通貨クラスタを古参コイナーと呼んでいるのですが、久々に彼らの熱い議論が交わされていたため、この内容を埋もれさせては勿体ない思い記事にまとめました。 バトルを繰り広げたのは 以下2名の古参コイナーです。 Crypto Chick(通称:ひよこ)氏@CCassets ETH推し&TenXコミュニティ日本代表 蘇るタヌ尊氏@GodTanu2 NEM推し&COMSA推し 当初 ひよこさんが、こんなツイートをしておりました。 「ブロックチェーン」が革新的技術だとされた要因は「中央管理者を不在にできる」ことだったのではないの? それが、経済のあり方に大きな変革をもたらすと。 コンソーシアムの"共有管理データベース"はコンセンサス形成を分散させないのに、ブロックチェーンという仕組みを使う必要がないよね? 例えば、 中国国内のすべての経済が、中国の中央管理による"ブロックチェー

    ブロックチェーン技術とは?非中央集権による革新技術ではないのか? - 快傑Zの仮想通貨遊戯
    kiririmode
    kiririmode 2019/11/03
    ブロックチェーン技術とは何なのか議論。すごく良い。
  • 信頼を可視化するSNS bajji(バッジ)におけるブロックチェーン利用方法 - Qiita

    株式会社bajjiの藤尾です。 自社サービスにおけるブロックチェーン周りの実装と、E2Eテスト実装を主に行なっています。 現在開発中のbajjiというサービスにおけるブロックチェーンの利用方法を書いてみました。 bajji(バッジ)とは? 『bajji(バッジ)』(※)は、物理的に人と出会った記録と、信頼の証(bajji)を贈った/もらった記録をブロックチェーンに刻むことで、人と人との信頼を可視化していく新しいSNSです。 6月中のオープンβリリースに向けて開発中です。 なぜブロックチェーン? 信頼を可視化するためにbajji Scoreという独自の指標を用いています。 bajji Scoreは、簡単に説明すると「物理的に人と出会った(エンカウント)数」、「信頼の証(bajji)送受信数」「頻度」、そして「経過時間」といった各個人の行動データを基に算出します。算出のためのアルゴリズムとして

    信頼を可視化するSNS bajji(バッジ)におけるブロックチェーン利用方法 - Qiita
  • Miniscript: How Blockstream Engineers Are Making Bitcoin Programming Easy(er)

    kiririmode
    kiririmode 2019/10/18
    miniscriptの必要性と、最適なminiscriptを生成するpolicy languageについて
  • Miniscriptがビットコインのスマートコントラクトを使いやすくする

    今回のコラムは、ビットコインのスマートコントラクト言語Scriptをより扱いやすくしたMiniscriptという言語について書きます。 Miniscriptはここ1年ほどの間にBlockstream所属のPeter Wuille、Andrew Poelstra、Sanket Sanjalkarの3人によって開発されており、ときどき話題に上っていましたが、2019年8月19日にビットコイン開発者のメーリスにてプロジェクトの詳細が共有されました。ひと言で表現すると「ビットコインのスマートコントラクトをより安全に、読みやすく、簡単に書く方法」です。 ビットコインには「スクリプト」というスマートコントラクト機能があり、マルチシグやタイムディレイ(任意の数のブロックが経過するまで使用できない)などの機能を実現するのに使われています。実際のところ、現在利用されているスクリプトの多くは上記2つかそれを組

    Miniscriptがビットコインのスマートコントラクトを使いやすくする
    kiririmode
    kiririmode 2019/10/18
    コンパイルなのかトランスパイルなのか分からんけどbitcoinの世界にもそういう概念が登場してるのか…
  • Miniscript: Bitcoinのスマートコントラクトのこれまでとこれから

    序文宮です。最近は複数種類の仕事がさみだれ的にやってきて、発達障害気味な自分にはコンテキストスイッチのオーバーヘッドが辛いです。カフェインで乗り切ります。 さて、先日のStanford Blockchain Conference 2019 で、Pieter Wuille (sipa) がMiniscript というプロトコルについて発表していました。 これは、結論から言うと単に Bitcoin Script にコンパイルする DSL で、発想自体は昔から存在するものなのですが、ルーツが面白いので今日はその辺りを解説します。 Bitcoin Core の Wallet 機能1年ほど前まで、ビットコイン標準実装である bitcoin core の wallet 機能は他のWalletに比べて様々な面で十分とはいえない出来でした。 Wallet のコードがブロックチェーン体のコードと密結合に

    Miniscript: Bitcoinのスマートコントラクトのこれまでとこれから
  • Output Descriptorとscantxoutsetを使ってUTXOセットをスキャンする - Develop with pleasure!

    Bitcoin Core 0.17.0からUTXOセットをスキャンするscantxoutsetというRPCが追加された。 Bitcoin Core :: scantxoutset (0.17.0 RPC) 今まではウォレット内に鍵を持つUTXOの情報はlistunspentなどで取ってこれてたけど、↑はウォレット機能とは別で、UTXOセットの中から指定した条件に合うUTXOを検索することができる。 この時、検索対象を指定する際に使用する記述子がOutput Descriptor↓ bitcoin/descriptors.md at 0.17 · bitcoin/bitcoin · GitHub (訳は後述) Output Descriptorを指定してscantxoutsetでUTXOを検索 scantxoutsetは以下のように2つの引数を取る。 $ bitcoin-cli scantx

    Output Descriptorとscantxoutsetを使ってUTXOセットをスキャンする - Develop with pleasure!
    kiririmode
    kiririmode 2019/10/18
    output descriptor の説明さすがのクオリティ…
  • bitcoin/doc/descriptors.md at master · bitcoin/bitcoin

    kiririmode
    kiririmode 2019/10/17
    output descriptor 仕様
  • Miniscript

  • ブロックチェーンは何も解決しない。|es

    はじめて、ブロックチェーンを知った時は興奮したものです。なぜかと言うと、「分散化した環境下で、合意形成が取れる」と謳っていたからです。 「これは民主的だな、色々な問題が解決する」と夢中になりました。 「ブロックチェーン」という言葉が、どうも一人歩きしていると感じたのは、ビットコインやイーサリアムを、よく理解してからでした。 よくよく考えれば、「分散化した環境下で合意形成」と言うのは、ビットコインのことだったのです。「ブロックチェーン」は、ビットコインや他の暗号通貨を実現するための、一要素にすぎません。 今回もJimmySong氏の論考を訳してみました。 以下、文。 ブロックチェーン技術は真新しいものであり、十分な時間を投資すれば誰かが、通貨以外に役立つものを作るということを、ビジネス界隈では多くの人が信じています。これこそ私が「ビットコインではなく、ブロックチェーンを」症候群と呼んでいる

    ブロックチェーンは何も解決しない。|es
  • ブロックチェーンが使い物にならない理由|es

    相変わらず、企業の間では「ブロックチェーン」という言葉が流行っていますね。 「ブロックチェーン」を使って新しい経済圏を作るとか。 「ブロックチェーン」でトークンエコノミーを実現するとか。 「ブロックチェーン」で業務を分散化するとか。 「ブロックチェーン」を使えば自動的にトラストレスになるとか。 特定の組織が、「ブロックチェーン」という言葉を使うことに、物凄い違和感を感じていました。 はたして、ビジネスに使えるのだろうか? そもそも、何を実現するために誕生したのだろうか? 今回もJimmy Song氏の名記事を翻訳。 以下、文。 ブロックチェーン界隈の誇大広告には驚きが隠せないです。世に出回っているブロックチェーンの宣伝文句は、だいたい次のようなものです。 1.所得格差の解消 2.すべてのデータが改ざんできない。 3.すべてのデータが効率的かつ仲介人なしで運用できる 4.死にかけている赤ち

    ブロックチェーンが使い物にならない理由|es
  • electrs/README.md at new-index · Blockstream/electrs