Tendermint について今日ようやく理解した事をまとめてみる
読了まで:約2分
今日、久しぶりに [[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 自体 は、
[Blockchain 技術を使った [[ソフトウェア]] を実装するための [[ミドルウェア]] に過ぎない] 、
と言えるのではないかと思います。
以上です
で、今回の話を一言でまとめると、
Tendermint とは、 [[Blockchain]] 技術を簡単に扱えるようにするための ミドルウェア
と言うのが、 [[Tendermint]] の立ち位置である、と僕は現段階でそう理解しています。
ただまあ、今日書いた内容が 100 % 合っているかどうかまでは、流石にちょっと自信はないので、もし何が訂正した方が良いのでは? 等が有れば、コメントして頂けると助かります。
という事で今日調べて、ようやく理解した事柄は以上です。今回の記事について、何か指摘されたい事等有りましたら、ブコメ等でお願いします。