Lisk Core1.0.0 Betanetの改善内容と今後について

Lisk Core1.0.0 Betanetについて

皆さんこんばんは。おーみんです。

今回はLisk Core1.0.0 Betanetの改善内容や今後の展望についてLisk Blogの内容をかみ砕いて説明していきたいと思います。

なお、原文は以下のリンクから確認できますので気になる方はぜひどうぞ!

blog.lisk.io

 

今回は和訳というよりは、Betanetでのテストにおいてどういうバグが発生していたのか、そしてもしそのままCore1.0.0を正式にリリースしていたらどんな状況になっていたのかに焦点を当てて説明していきたいと思います。

まずはLiskがCore1.0.0 Betanet版をリリースしてからのテスト結果を見てみましょう。

 

Github Closed Issues

f:id:bookreadkun:20180519171859p:plain

(※Lisk blogより引用)

Betanet版がリリースされてから5月14日までに72件の問題点が解決されています。現在は80件以上の解決に成功しており、そのうち6つは超難しい問題だったみたいで開発チーム側も大変だったようです。

難易度「難」の問題:メモリリーク #1882

今回の超難しい問題の一つにメモリリークに関するバグ(#1882)があったそうです。

もちろん問題難易度は「難」

通常はP2Pで互いのノード(端末)間で情報を共有し合うのですが、どうやら情報の格納場所が重複してしまい、端末の容量が足りなくなるよ~!という感じの問題が起きていたそうです。

【Lisk Academy 和訳】P2Pについて説明します。 - おーみん@仮想通貨日記

正常な場合は下図のようにしっかりと互いのノード間で情報が共有されるのですが・・・

f:id:bookreadkun:20180519174803p:plain

今回のBetanet版では下図のような感じになってしまいました。

ノードの格納場所(倉庫みたいなもの)が開放されていなかったようです。

f:id:bookreadkun:20180519194300p:plain

情報によってどの倉庫に格納するのか決めていたのですが、その倉庫が全部閉まっちゃっていたみたいです。

当然、別の倉庫を使うとその分そのノードの容量は減ります。

この図ではノードは5台なので大したことなさそうですが、Betanet(原文を見る感じだと200ノード?)内では多数のノードがあります。情報が詰め込まれまくるとノード自体がパンクしてしまいます・・・そりゃ格納するとこないもんな・・・( ;∀;)

f:id:bookreadkun:20180519180240p:plain

このバグを修正するのが相当大変だったようでLisk側もこんなコメントを残しています。

We are thrilled to report that four days ago, the Memory Leak issue was finally fixed and completely closed.

訳)5月14日にこのメモリリーク問題をやっと解決したんだけど、それを皆さんに報告できるのが嬉しくて嬉しくてたまらないよ~~~。

 

本当におつかれさまでした!

次に改善する予定の問題:#2025

この#2025の問題難易度はどうやら「中」のようです。

ブロックを「forging」した際に他の端末同士でその「forging」が正しいかどうかを確認せずに次のブロックを確認してしまうというバグらしいですね。

これに関してはLiskチームは短期間で解決できると予測しているようです。

今後のテストについて

問題#2025を解決し、詳細なテストを行った後はTestnetへ移行する予定です。一応Lisk側としてはTestnetはBetanetに比べて早く終わるのではないかと見積もっているようです。

Lisk Core 0.9.14からCore1.0.0(Testnet版)に移行する際はまた詳しくお知らせするとのことでした。

Liskチームから一言

想定を超えるバグが発生した際は、事前に見積もっていたスケジュールに遅延が発生してしまうかもしれません。そしてそれをもちろん皆様にお伝えする必要もあると思っています。しかしながら遅れたとしてもこれらのバグを修正してしっかりとCoreなどをアップデートできた暁には、その品質の良さを保証します!

Core1.0.0で結局何が変わるの?

これに関してはTwitterでkpさん(@kplusq)が解説していらっしゃったので引用させていただきます。ちなみに個人的にkpさんはLisker界No.1の技術屋さんなイメージですヽ(^o^)丿

もしLiskがCore1.0.0をこのまま強行リリースしていたら・・・

先日モナコインの「Block Withholding Attack」問題が話題になりました。これは仮想通貨史上初のブロックチェーンへの攻撃を許してしまったものであり、今後へ大きな課題を残しました。

モナコイン(MONA)に脆弱性!PoWの弱点が見つかる - おーみん@仮想通貨日記

もしLiskがこのままCore1.0.0をリリースしていたらノードはクラッシュしまくり等の問題が多発していました。

デリゲートが「forging」しても上手くブロックが繋がらなかったかもしれません。

f:id:bookreadkun:20180519190748p:plain

その結果、もしかしたらこんなチャートになっていたかも・・・?

f:id:bookreadkun:20180519192510p:plain

まとめ

Core1.0.0正式版のリリースはおそらく夏頃(7月くらいかな~)でしょうか?

これに関しては開発状況次第なので予測はできません。重大なバグが発見されたらそりゃまた遅れるだろうし・・・

とりあえず僕らにはLiskを応援することしかできません。

彼らの開発が上手くいくことを願って応援していきたいと思います(^-^)/

 

では!

今日はこのへんで!

何かご指摘等ありましたらぜひ色々教えていただけると嬉しいです。

 

「読者になる」ボタンも押していただけると嬉しいです!