カラクリスタ

「輝かしい青春」なんて失かった人のブログ

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

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

Tendermint

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


1. [Tendermint http://tendermint.com/ とは何か]

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

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

です。

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

Tendermint

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

Tendermint (Github)

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

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

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

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

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

2. [Tendermint は何に使えるか]

先程、

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

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

Tendermint何に対して使えるか

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

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

という時に使えます。

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

Blockchain 技術 が 例えば http/2 だとすると、

Tendermint は h2o (http/2 server) に相当するソフトウェア

という感じです。

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

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

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

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

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

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

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

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

つまり、

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

という所の面倒は、 各開発者が見るモノ であって、 Tendermint 自体 は、

[Blockchain 技術を使った ソフトウェア を実装するための ミドルウェア に過ぎない] 、

と言えるのではないかと思います。

以上です

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

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

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

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


という事で今日調べて、ようやく理解した事柄は以上です。今回の記事について、何か指摘されたい事等有りましたら、ブコメ等でお願いします。