CATのゆったりライフ

日々生活の中で興味のある事を書いてます。

仮想通貨3.0を読んで2

こんにちわ!CATです!

 この前からカルプレスの本読み直してますが、ブログにまとめると頭が整理されていいですね!でも読んでて感じたのが本人、これ全部書いてないよねwって思った。

 

 

  • 本の続き

前回書いた部分は第1章から第2章までを調べながら、ツラツラ書きました。

  1. ビットコインブロックチェーンP2Pを基礎とした暗号資産である事。
  2. ブロックチェーンが改竄困難なデータ保存方法である事。
  3. ブロックチェーンハッシュ関数を基礎としマイニングによって採掘される事。

 私は技術者じゃないですが、ワクワクするんですよね。ビットコイン を見てると。第3章はビットコイン キャッシュの誕生について書かれてました。2017年になると当時ビットコイン の取引が急増し送金時間の大幅な遅延が発生しました。ビットコイン のブロックサイズは1メガバイトまでと決めたられていたそうです。

 バイト→キロバイト→メガバイト

なので1,000,000バイトか。JPEGの写真が500,000バイトなので写真2枚分か。。。

f:id:Blueforesttan:20200911004050p:plain

 現在のブロックを見ると 1,360,000バイトやね。前よりキャパ広くなってる。収容されとる取引数は2500個位でした。ビットコイン の管理者はおりませんが、ビットコイン コアというコミュニティは存在してます。

bitcoin.org

  ビットコインコアはブロックの大きさを変えずに送金データの容量を圧縮するSegwitという機能を追加する事にしました。 

 

  •  Segwit

SegwitはSegregated Witnessの略称で2つの問題を解決できると言われていました。

スケーラビリティ 

1つ目はスケーラビリティです。これを理解するにはトランザクションの中がどうなっているのか見ると理解しやすいです。トランザクションには

  1. Txin(支払い元)
  2. Txout(支払い先)
  3. 電子署名

が含まれてました。新しいブロックの中に入れる未承認取引はこんな感じです。これは380,000ブロック目の1つの取引です。

f:id:Blueforesttan:20200912155022p:plain

 

 ハッシュと書かれているのがトランザクションIDで取引履歴の識別子です。「1M〜」から始まっているのがTxinで「1y〜」から始まっているのがTxoutです。トランザクションIDのハッシュ値を算出対象から署名を削除し独立した署名領域で署名を行う事で多くのトランザクションをブロックに収納します。実際は1.7MB程度の容量に拡大したとの事。JPEGの写真3枚ちょいか。。。少ないですね〜。

 

トランザクション展性

 SegwitはトランザクションIDを算出するために必要なデータを別管理する方法です。前回書いたマウントゴックスのビットコイン 残高が合わない理由にも繋がります。ビットコイン にはトランザクションIDを外部から改竄する事ができる脆弱性がありました。

 トランザクションIDを変更する事自体でハッキング はできませんが、取引所やウォレットはトランザクションIDを見て取引を識別していたので、

 送金→ID変更する→送金確認しても送金してない→もう1回送金する

って感じで2重送金してしまったようです。Segwitはトランザクションの計算に使われる署名などのデータを別管理する事によってトランザクションIDを変更できなくします。これによってトランザクションIDのみを参照して取引を認証できるようになりました。これだけ見るとSegwitは取引遅延解決にあまり貢献せず、トランザクション展性を解決してるように見えますね。。。ちょうどコインポストに纏められてた記事がありました。

coinpost.jp

 ちょっと長くなりましたので、今日はここまでにします。それでは!

 

 


 

 

 

当ブログではGoogle Analyticsを利用して、アクセス解析を行うためにcookieを使用しております。Google Analyticsで集計したデータは、当ブログのアクセス解析や改良、改善の為に使用させていただくものとします。なお、cookieは個人を特定する情報を含まずに集計しております。


Googleによるデータの使用に関しては「ポリシーと規約」をご覧下さい。

ポリシーと規約