【有望プロジェクト紹介】① ThunderCore
かなり久しぶりの記事公開です :)
ご存知の通り私はThunderCore (旧Thunder Token)のファンです。今年1番の有望プロジェクトだと本気で思っています!そして今回ThunderCoreがどういったプロジェクトか優しく紐解いている分かりやすい英語記事を見つけましたので、訳してみました。後半に行くに従いやや専門的になってきますが、元記事自体がテックに詳しくない方を対象とする内容で記載されていますので、ゆっくりと読み進めば絶対に理解できると思いますし、途中で公開されているElaineさんのtweetの所までの理解でもいいと思います。そこまでだったら読み終わるのに5分くらいでしょう。
実は元記事の翻訳だけでなく、分かりやすいように更に噛み砕いた表現を用いたり、有用な情報、画像を一部盛り込んだりしています。投資的な内容は一切入っていません。今回理解して欲しいところはそこではありません。やや長いですが、がんばりましょう!
では、始めていきますね :)
個人的にThunderCoreが2018年で最も激アツなプロジェクトと思っています。どのブロックチェーンにも適応できる技術を開発していて、端的に言うと、 ”Slowchain” (その名の通り “遅い” チェーン。ここではスローチェーンと記載します)と呼ばれる標準的なブロックチェーン上に ”高速経路” を作り、トランザクションを即時承認できるようになります。”スローチェーン” はうまくいかない状況でのみ使用されます(Ryu:ココの表現わかりにくいかと思いますがそのまま読んでいきましょう。読み進めると意味が分かってきます)。
この記事の対象読者は技術的側面に詳しくない方ですので、なるべく簡単にThunderCoreプロジェクトを説明したいと思います。
導入
簡単に言うと、ThunderCoreとは?
DAppが全世界に浸透するように、安全性、高パフォーマンスを提供するブロックチェーン
ThunderCoreは何を提供しなければならないのか

①互換性(Compatibility)
ETHのスマートコントラクトはもちろん完全サポート。ETH上のDappはThunderに移行可能となり、その時点ですぐDAppのパフォーマンスが上がります。
②スケーラビリティ(拡張性)
数千のトランザクションが一秒で処理できます。未処理として取り残されるトランザクションはありません。
③スピード
トランザクションが1秒以内で即時承認されます。(Ryu:ここが Thunder “雷” の名前の由来でしょうか)
④安全性
数学的な観点から、確固な安全性が保証されています。Thunderは既存ブロックチェーンと同様に安全ですが、スピードおよび効率がかなり改善されたブロックチェーンということです。
技術的な観点から見た、ThunderCoreが他のプロジェクトと異なる点
冒頭に述べたとおり、”スローチェーン” と呼ばれる標準的なブロックチェーン上に “高速経路” が作られます。通常、すべてのトランザクションはこの “高速経路” 上で即時承認されますが、ごく稀に “スローチェーン” を使わなければならない時があります。どういう時かというと、もし万が一高速経路が使えなくなった場合は訂正メカニズムが働くため、スローチェーンに切り替わります。
スローチェーン上でもノードはトランザクションの承認が可能ですし、もちろん起きた問題が解決されれば高速経路に復帰します。Thunderコンセンサスプロトコルのこれらのステップは全て厳密に、そして数学的にも裏付けされています(詳しく知りたい方はホワイトペーパー参照のこと)。その結果、Thunderは高い処理能力を持ち、かつ1秒に数千トランザクションという速度で高速承認できるようになります。
なぜThunderCoreは最もシンプルで、最速で、安全な解決法なのか
①高い処理能力と高速承認両方を可能にするため。
②安全性を担保し、最大50%までの攻撃に対して構造安定性があるため。
③EVM (Ethereum Virtual Machine)-スマートコントラクトおよびEVM-DAppをサポートしているため。サポートするにあたって特に変更はいらない、または変更が必要だったとしても極々小さな変更でよい。
④この安全性が数学的に実証されている。
ThunderCoreの背後にいるのは誰か
起業家として成功している人(=CEO。経歴が本当にすごいです!)、賞を受賞したことのある科学者やエンジニアなどで構成されるチーム。IC3というグループを作っただけでなく、世界で初めてビットコインおよびスマートコントラクトの学術論文を発表したメンバーもいます(=下で紹介するElaine Shiさん)。
Thunderプロトコルを端的に言うと、、、、
旅行すると睡眠不足になるけど、それに打ち勝つ方法は2種類あります。1つ目はコーヒー。2つ目は睡眠。私はいいとこ取り。まずはコーヒーをたくさん飲んで、その後コーヒーショップで寝るの。
<<ThunderCoreができることを類推させるtweetです。実際に、Thunderを類推させるためにtweetしたと思われます>>
Thunderプロトコルはスローチェーン上にシンプルな高速経路プロトコルを利用できるようにし、最悪な状況下でも安全性を担保し、逆に楽観的な状況下では即時承認および高速処理を可能にします。ここで重要なアイデアは、問題がない時は高速経路を使用し、不具合がある時のみスローチェーンを使うということ。
Thunderプロトコルと主な機能
(ここまでが基礎的な内容で、以後は内容が難しくなります。ここまでで十分と思った方は結論に飛んで下さい!)

高速経路の主要機能
(これはもう説明するまでもないですが)高速処理およびトランザクションの即時承認
スローチェーンの主要機能
ブロックチェーンにダメージが起きないよう確認し、実証された健全な方法で高速経路に復帰
高速経路で重要な役割を果たしているは何?
①委員(committee):高速経路プロトコルはステークホルダーである委員により実行される。
②アクセレレーター(accelerator):高速経路プロトコルはアクセレレーターと呼ばれる中央権力がまとめることになる。彼らの仕事はトランザクションとデータを線形化することである(この仕事は分散的な方法で行うには困難であるものの、中央権力があると容易である)
実際どういった状況下でスローチェーンが使用されるか
①アクセレレーターが不正をした、または攻撃下にある。
②きちんと仕事をしている委員が3/4より少ない時。
③ネットワークのコンディションが悪い時。
高速経路を通るトランザクションはどのように即時承認されていくのか
S1:

リーダーが連続番号(sequence number; “seq”; シーケンス番号)が付与されたトランザクションを提出し、それを委員グループに送る。
S2:

委員のメンバーがそれらのトランザクションを認証し、サインする。そしてリーダーに送り返す。もし同じ連続番号が付与されてしまったトランザクションが複数ある場合は、1つにサインする。
S3:

委員メンバーから十分な認証をもらったトランザクションは “確認済み”と見なされる。
S4:(Ryu:ここから少し理解しにくくなります。あまり気にせず読み飛ばしてもいいでしょう)

S3で “十分な認証”と表現しましたが、トランザクションが実際に“確認済み”と見なされるには、委員による正しい認証がどれくらい必要になるのでしょう。
このスライドでは2/3が正しい委員、残り1/3が正しくない委員と仮定されています。この場合、2/3より多い認証(2/3N+1)があれば、つまり今回6人の委員なので、2/3 x 6 +1 =5、5人からの認証があれば”確認済み”とされます。
S5:
S4の条件が満たされた時点でトランザクションが実際に確認済みとなる。
上記の内容をもう1歩踏み込んだレベルで説明
1:すべての新規トランザクションはアクセレレーターに送られる。
2:アクセレレーターはトランザクションをまとめてマイクロブロックとし、それぞれのマイクロブロックにサインをして連続番号を付与し、それを委員に送る。
3:委員のメンバーはそのマイクロブロックにサインをすることでブロック認証するが、番号の重なりがないよう、1つの連続番号に1つのマイクロブロックである場合のみサインする。
4:3/4以上の委員メンバーからサインをもらったマイクロブロックが認証される (notarized)。
5:

連続している最長の認証マイクロブロックを出力できる(上図でいうと、連続している1番長い繋がりは①〜③。⑤-⑥も繋がってるけど、2個しか繋がっていないので短い)。この認証マイクロブロックに入っているすべてのトランザクションが確認済みとなる。
高速経路は不具合からどう復帰するか
スローチェーン上でのトランザクションがしばらく経っても認証されないのはおかしい(トランザクションは本来認証されなければならないのに、認証されず放置されている状況)。これを見つけるのは委員メンバーだが、このような状況に陥っている原因は、アクセレレーターが不正しているか、オフラインとなっているか、の2択(または委員メンバーの大半が不正をしているか)。
この時点でそれを見つけた委員メンバーはサインを止める。そしてこれを訂正するために次のようなことが起こる。
1:
“公正な” 委員メンバーが1/4いる限り、不正をしているアクセレレーターは “絞殺” され(choked)、心拍動(heartbeats)がなくなり、結果的に認証もされない。(そのアクセレレーターからマイクロブロックが送られてこなくなるということ)
2:
そのスローチェーンを見た人全員クールダウン期に入り、その後スローモードになる。
3:
これで全トランザクションがすべてスローチェーンに行くようになる。
高速経路に復帰するための1番シンプルな方法は、”召集” メッセージをスローチェーンに送り、委員メンバーを召集することである。Thunderノードはスローチェーンを討議や投票の場として使用できるので、どう復帰するか、いつ復帰するかを委員で決めることができる。こうすることで、あるタイミングで高速経路に復帰できるかをリトライする。
委員をどう決めるか
ステークホルダーの中でどう委員を選ぶかには色々な方法があります。
方法A:
1:委員を希望する人はスローチェーン上でstake-inする(英語表現としては、to put down an escrow on to the slow-chain. です。“escrow”はいわゆるstake-in)こうすることで委員としての資格を得る。
2:stake-inした人の中から500メンバーを再度選択。
3:あるアルゴリズムに基づき選択される(詳しくはSnow White参照)
方法B:
よりたくさんのステークがなされるためにも、高速経路を保護するためにも、最もステークしたメンバーを委員として選択。
Thunderが実装した実際のアルゴリズムはこの考えが動機づけとなっているが、慎重に考えられた変数を用いており、平衡挙動が望ましい性質を満たしていることをThunderは証明することができる(ここは読み飛ばしてOK!)
最初のThunderリリースで実装されている主な機能は?
1:EVMを完全サポートで、すでにあるETH上のDAppをThunderCoreに移行可能。
2:ETHのブロックチェーンがThunderCoreの基板となるスローチェーンとなる(Ryu:重要なポイントでしょう。上記の通り、標準的なブロックチェーンはどれでもThunderプロトコルと統合でき、そのブロックチェーンがslow chainとして機能する)。
3:1人のアクセレレーターに依存することになる予定。ただ、それ以降のバージョンでマルチプル・シャードをサポートし、それぞれに専属のアクセレレーターがつく。
他のブロックチェーンとの比較

結論
画期的な技術を開発していくとなると、経験豊富でかなり有能なチームを持つことが成功率を上げる1番重要なポイントになるでしょう。既存のブロックチェーンプロジェクトや新規のブロックチェーンプロジェクトと比較してもThunderCoreには秀でた素晴らしいファンダがあり、そういったプロジェクトに利益をもたらすこともできます。もしThunderチームがすべての機能を実装でき、強いディベロッパーコミュニティを作ることができれば、ETH上での新規または既存プロジェクトに採用される可能性がとても高いです。
Thunderはまだ早期プロジェクトですが、今後この界隈でどうThunderCoreが活躍していくか注目していきたいと思います!
以上が私の説明も盛り込んだ翻訳になります。長かったですが理解できましたでしょうか?ThunderCoreのホワイトペーパーは難易度が高いですが、技術をもっと深く学びたい人以外はここまでの理解で十分だと思います。
ThunderCoreは今後この界隈に残り続けるプロジェクトと信じていますので、何か良い情報ありましたらまた共有したいと思います。
お疲れ様でした!
全ての記事を無料で公開しています!
Medium記事では記事の最後にチップをお願いすることにしました。
記事を読んで本当に勉強になったという方、ご協力頂ける方のみにお願いしています :)
BTC:1J8r5KfnMyMrVMqetsTMBsr7BDxnS4qiXn
ETH:0xa0be1D28A6A07ce0F631cF34b12Bcf231C183e3E
XRP:
アドレス:rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh
タグ:100311512
「記事無料公開の経緯とチップに関して」はこちらをご確認下さい。
https://goo.gl/JwtpyN
![Ryu [Crypto Investor]](https://miro.medium.com/fit/c/160/160/1*cw--4-fMxaJJfgoDnxD-9g.png)