読者です 読者をやめる 読者になる 読者になる

カラクリサイクル

『輝かしい青春』なんて無かった人の雑記

Tendermint について今日ようやく理解した事をまとめてみる

Development Software Knowledge

今日、久しぶりに Bitcoin 界隈が今どうなってるかについて調べていた時、 コトのついでに、以前は、それが何に利用できるか良く判っていなかった、

についてのドキュメントを読み返したところ、今日、 ようやくにして Tendermint が何が出来るモノかを理解したので、 それについて、忘れない内にメモしておきます。


1. Tendermint とは何か

これについて、一言で意訳してしまうと、

Tendermint は、開発者なら誰でも簡単に Blockchain 技術を利用できるようにするためのプロジェクト

です。

それで、Tendermint の具体的な中身については、

から辿れるドキュメントや、あるいは、

の Wiki 辺りを参照した方が理解しやすいのではないかと思いますが、先程意訳した、

Tendermint は、 開発者なら誰でも簡単に Blockchain 技術を利用できるようにするため のプロジェクト

というポイントが認識されてないと、ドキュメントを読んでも、

これ、何をするためのモノなん?

って感じで理解が進まないので、この点はかなり重要だと、個人的には思います。

2. Tendermint は何に使えるか

先程、

Tendermint は、開発者なら誰でも簡単に Blockchain 技術を利用できるようにするためのプロジェクト

と書きましたが、これについて、もうちょっと具体的に、特に、

Tendermint何に対して使えるか

というのを書くと、これは、

  1. Blockchain 技術を使って何か作りたい時
  2. 実装がややこしくて面倒な Blockchain そのものの実装
  3. まるっと 誰かに丸投げしたい!

という時に使えます。

そして、これを別の技術で例えると、

  • Blockchain 技術 が 例えば http/2 だとすると、
  • Tenderminth2o (http/2 server) に相当するソフトウェア

という感じです。

つまりこれは、僕ら開発者が、HTTP/2 を利用したい時には http/2 を一から実装するのではなく、h2o とか他の http/2 実装を利用する様に、 Tendermint は、僕ら開発者が Blockchain 技術を利用したい時にBlockchain 技術の足回りの面倒を見てくれて、

Tendermint を使えば、各開発者がスマートコントラクトや暗号通貨なりのロジックだけに集中するだけで良くなる

という状態に持って行けるようにするためのソフトウェア (というかミドルウェア) である、と言えると思います。

3. Tendermint そのものが行なわないこと

Tendermint は、Blockchain 技術について、

Tendermint を使えば、各開発者が Blockchain を再開発したりせずに、スマートコントラクトや暗号通貨なりのロジックだけに集中するだけで良くなる

という事を目的としたプロジェクトなので、その逆を言うと、

Tendermint は、スマートコントラクトや、暗号通貨発行のルール自体には関与しない

と言えるんじゃないかと思います。

つまり、

なんとかコインが幾らまで発行されて、また、マイニングのルールは云々かんぬん

という所の面倒は、 各開発者が見るモノ であって、 Tendermint 自体 は、 Blockchain 技術を使ったソフトウェアを実装するためのミドルウェアに過ぎない 、 と言えるのではないかと思います。

以上です

で、今回の話を一言でまとめると、

Tendermint とは、Blockchain 技術を簡単に扱えるようにするための ミドルウェア

と言うのが、Tendermint の立ち位置である、と僕は現段階でそう理解しています。

ただまあ、今日書いた内容が 100 % 合っているかどうかまでは、流石にちょっと自信はないので、 もし何が訂正した方が良いのでは? 等が有れば、コメントして頂けると助かります。


という事で今日調べて、ようやく理解した事柄は以上です。

今回の記事について、何か指摘されたい事等有りましたら、コメント欄までお願いします。

以上。