今日、久しぶりに Bitcoin 界隈が今どうなってるかについて調べていた時、コトのついでに、以前は、それが何に利用できるか良く判っていなかった、
についてのドキュメントを読み返したところ、今日、ようやくにして Tendermint が何が出来るモノかを理解したので、それについて、忘れない内にメモしておきます。
1. [Tendermint http://tendermint.com/ とは何か]
これについて、一言で意訳してしまうと、
Tendermint は、開発者なら誰でも簡単に Blockchain 技術を利用できるようにするためのプロジェクト
です。
それで、Tendermint の具体的な中身については、
から辿れるドキュメントや、あるいは、
の Wiki 辺りを参照した方が理解しやすいのではないかと思いますが、先程意訳した、
Tendermint は、 開発者なら誰でも簡単に Blockchain 技術を利用できるようにするため のプロジェクト
というポイントが認識されてないと、ドキュメントを読んでも、
これ、何をするためのモノなん?
って感じで理解が進まないので、この点はかなり重要だと、個人的には思います。
2. [Tendermint は何に使えるか]
先程、
Tendermint は、開発者なら誰でも簡単に Blockchain 技術を利用できるようにするためのプロジェクト
と書きましたが、これについて、もうちょっと具体的に、特に、
Tendermint は 何に対して使えるか
というのを書くと、これは、
- Blockchain 技術を使って何か作りたい時 に
- 実装がややこしくて面倒な Blockchain そのものの実装 を
- まるっと 誰かに丸投げしたい!
という時に使えます。
そして、これを別の技術で例えると、
Blockchain 技術 が 例えば http/2 だとすると、
Tendermint は h2o (http/2 server) に相当するソフトウェア
という感じです。
つまりこれは、僕ら開発者が、HTTP/2 を利用したい時には http/2 を一から実装するのではなく、h2o
とか他の http/2 実装を利用する様に、Tendermint は、僕ら開発者が Blockchain 技術を利用したい時に Blockchain 技術の足回りの面倒を見てくれて、
Tendermint を使えば、各開発者が スマートコントラクト や 暗号通貨 なりのロジックだけに集中するだけで良くなる
という状態に持って行けるようにするためのソフトウェア (というか ミドルウェア ) である、と言えると思います。
3. Tendermint そのものが行なわないこと
- Tendermint は、 Blockchain 技術について、
Tendermint を使えば、各開発者が Blockchain を再開発したりせずに、 スマートコントラクト や 暗号通貨 なりのロジックだけに集中するだけで良くなる
という事を目的としたプロジェクトなので、その逆を言うと、
Tendermint は、 スマートコントラクト や、 暗号通貨 発行のルール自体には関与しない
と言えるんじゃないかと思います。
つまり、
なんとかコインが幾らまで発行されて、また、マイニングのルールは云々かんぬん
という所の面倒は、 各開発者が見るモノ であって、 Tendermint 自体 は、
と言えるのではないかと思います。
以上です
で、今回の話を一言でまとめると、
Tendermint とは、 Blockchain 技術を簡単に扱えるようにするための ミドルウェア
と言うのが、 Tendermint の立ち位置である、と僕は現段階でそう理解しています。
ただまあ、今日書いた内容が 100 % 合っているかどうかまでは、流石にちょっと自信はないので、もし何が訂正した方が良いのでは? 等が有れば、コメントして頂けると助かります。
という事で今日調べて、ようやく理解した事柄は以上です。今回の記事について、何か指摘されたい事等有りましたら、ブコメ等でお願いします。