Cardano(ADA)

Cardano(ADA)について徹底的に調べてみた 第2回~ウロボロス 新たなるPoSシステム~

ウロボロス~Cardano(ADA)のPoSシステムは従来と何が違うのか~

■前回の振り返りと残された多くの説明課題

前回はホワイトペーパーの概要について、補足説明を入れながら触れていきました。(ホワイトペーパーの原文は以下の通りです)

なぜカルダノを構築するのか(ホワイトペーパー)

 

そして、ホワイトペーパーには色々とやりたいことが書いてあるのですが、大きくまとめると次の4つになるだろうというところまで話しました。

1.計算処理をバックグラウンドに隠して、台帳のみがユーザーに見えるような、ユーザーフレンドリーな仕組みを実装すること

2.安全性が高く、拡張が容易に可能で、なおかつユーザーが持続的に使いたいと思えるようなプラットフォームにすること

3.非中央集権型取引所、ユーザー発行資産(UIA)プラットフォーム(つまりオリジナルトークンプラットフォーム)の構築

4.実社会における法的通貨と同等の役割・価値を実現すること

 

このうち、2.については、まあそれはそうだよねという主張ですが、いかにして実現するのかという具体的な方法が重要である、という話をしました。言っているだけで中身が伴わなければ、ただの絵に描いた餅に過ぎませんからね。

実際、ホワイトペーパーでは、いかにして2.を実現するかという技術的な側面について、かなり長い尺を取って説明しています。

こちらについては前回ほとんどまったく触れていませんでしたので、今後しばらくはCardano(ADA)の技術的側面について解説していこうと思います。

むしろここからが本番というか、とにかく専門用語に満ち溢れてくるので理解が大変なのですが、頑張って説明しますのでどうぞお付き合い下さい。では、いきましょう。

今回から解説するのは、ウロボロスと呼ばれるCardano(ADA)の新しいPoSシステムです。

■そもそもPoSってどんな仕組み?~PoW、PoS、PoC それぞれの方式の違いを知ろう~

そもそもPoS(プルーフオブステーク)とは何かというところから話を始めないといけないかもしれませんね。それにはまず、仮想通貨の取引がどのように行われているかということから始めないといけません。

仮想通貨の取引は、送金元のアドレスから送金先のアドレスまで、”お金のデータ”が移動することによって行われます。(より詳しいことは、やや難しいですが、例えば以下のブログ記事が参考になるでしょう)

UTXOと残高の話(ビットコインとイーサリアムの台帳管理システムの根本的違い)

 

この送金時において、毎回トランザクションIDというものが発行されます。送金行為を識別するためのIDです。

そして、送金というのは送ったらすぐに完了するわけではなく、その送金が悪意のあるプログラム等による偽装送金とかではなくて、本当に正しく行われたものなのかどうかを、トランザクションIDを通じて他の誰かが検証し、承認する必要があります。不特定多数の他者に承認されて初めて、送金作業は完結します。

特定の誰かではなく、不特定多数の他者が送金作業を承認する、というのが本質的なアイデアで、これによって不正な承認作業をも防ぐことができます。

もし悪意のある誰かが、不正な送金をした人とグルになって「この送金は(本当は嘘だけど)正しい送金だ」と主張したとしても、不特定多数の正しい承認作業によって、「この送金は偽物である」と多数決の原理で否定することができるんですね。

この仕組みが非常に堅牢なため、ビットコインそのものはセキュリティ上安全であると言われています。実際、数年にも渡って悪意のあるプログラムがビットコインを直接盗み取ろうと攻撃を仕掛けているわけですが、ビットコイン自体のシステムから直接盗めたというケースは聞きません。

よく巷でビットコインが盗まれるという話がありますが、これは個人保有者や取引所の落ち度によるものです。例えば、ウェブウォレットのパスワードを適当にしていて秘密鍵が盗まれてしまったとか、取引所がハッキング被害に遭っただとかです。ビットコインのシステムからは直接盗み出せないので、その周辺がよく狙われているのです。

話を戻しましょう。

それから、承認作業を善意のボランティアに任せてしまうとほとんど誰も進んでやりたがらないので、承認作業を行う者には報酬が与えられるようになっています。承認作業者はマイナー(採掘者)と呼ばれ、承認作業をマイニング(採掘)と言います。マイナーに支払う報酬がいわゆるトランザクション手数料というものです。送金時の手数料は、承認作業者(マイナー)に対して支払われているのです。

で、この検証および承認、そしてマイナーに対する報酬の仕組みが、実は色々とあるんですね。後ほど紹介するウロボロスの原論文の中にも例が出てくるのですが、ここでも少し挙げておきましょう。と言っても、現在の主流は3つなので、とりあえず3つ押さえておけばOKです。

1.PoW(プルーフオブワーク)

ビットコインを始めとした、比較的初期の仮想通貨で主に採用されている仕組みがPoW(プルーフオブワーク)というものです。

PoWを採用している仮想通貨の例:ビットコイン(BTC)、イーサリアム(ETH)(ただし、後にPoSに移行すると言われている)、ライトコイン(LTC)、モナコイン(MONA)、ダッシュ(DASH)、モネロ(XMR)

 

Proof of works(作業することで証明する)、すなわち承認作業を複雑な計算作業によって行うという仕組みです。

メリットとしては、複雑な計算作業そのものが取引の精度を高いレベルで保証するため、後から結果を改ざんしにくいということが挙げられます。

デメリットとしては、計算作業が膨大となり、コストが非常に高くなってしまうという大きな問題があります。電気代がやたらめったらかかり、普通の人が普通のPCを使ってマイニングしようとしてもまともに採算が取れません。マイニング事業というレベルで本腰入れて取り組まないと利益を出せない状態になっています。

実は、マイニングが事実上マイニング事業者によって行われているので、マイナーが不特定多数ではなくなってきているのではないか、という問題もあります。また、ビットコイン価格高騰の一因が、高い電力コストにあるとも言われています。

他にも51%アタックに弱いという欠点もありますが、こちらはまた後で解説しようと思います。

2.PoS(プルーフオブステーク)

PoWよりも後に主流となりつつある仕組みです。

Proof of stake(持っていることで証明する)、すなわち仮想通貨を保有していることで承認を行う仕組みとなっています。

PoSを採用している通貨の例:ADA、NEM(XEM)(正確にはPoI(プルーフオブインポータンス)、すなわち重要度による証明ですが、実態としては完全にPoSの亜種なのでここに含めます)、Waves、リスク(LSK)

 

保有していることで承認を行うということですが、正確には大量かつ長期保有しているほどマイニングしやすくなるということです。

中心的な概念は、次のCoin Ageというものになります。

Coin Age =(保有しているコインの数)×(保有している期間)

 

この値が大きいほど、仮想通貨の優良な保有者だとみなされて、より優先的にマイナーできるんですね。

メリットとしては、保有によって勝手に優先順位が決まるので、マイニングコストがPoWと比べて非常に安く済むということが挙げられます。また、やはり優先順位が決まっているので、承認作業が非常に早いです。また、51%アタックにも強いという特徴を持っています。

個人でも保有していればマイニング報酬をもらえるので、マイナーの参加障壁が低いこともメリットでしょう。

逆にデメリットとしては、PoWが高い耐性を持っている一部の攻撃に対して弱いということがあります。こちらについて、原論文にも解説がありますので、後ほど詳しく触れたいと思います。

また、単純に大量かつ長期保有するほど得られる報酬が多いためコインを溜め込みたがる保有者が多くなる傾向があります。するとどうなるかと言いますと、流動性が下がる懸念があります。最悪のケースでは、市場にコインが出回らなくなって、システムがまともに機能しなくなるかもしれません。

3.PoC(プルーフオブコンセンサス)

こちらを採用している通貨の種類は数少ない(もしかしたら1つだけ?)なのですが、代表的な仮想通貨の一つであるリップル(XRP)が採用している仕組みなので、解説します。

Proof of consensus(総意による証明)とはどういうことかと言いますと、不特定多数の承認者ではなく、信用のできる一部の承認者が選ばれて、選ばれた者が承認するという仕組みのことです。

メリットとしては、最初から承認者が決まっているため、承認作業が極めて早いということが挙げられます。また、マイニングを必要としないため、低コストで運用することができます。

デメリットとしては、一部の選ばれた者だけしか承認報酬を得られないため、既得権益が極めて強くなることが挙げられます。また、構造上必然的に中央集権的性格を持っています。これは、ブロックチェーン技術の理念の一つである非中央集権性に真っ向から反しています。

現状では、リップルがほぼすべての取引を承認していると言われています。リップルはやがて自社のサーバーを停止し、他の承認者を募ることで中央集権的性格を解消していくと主張していますが、果たして本当にそうなるでしょうか?

私はかなり怪しいと見ています。なぜなら、既に大手銀行による大規模な投資が行われているからです。

彼らは当然、大きな投資の対価を求めるでしょう。それが何かと言えば、取引の承認者になる権限であるという発想は自然だと思います。

承認者の権限を決めるための基準としては、普通はリップルの保有数が使われるでしょう。銀行は投資によって大量のリップルを保有しています。圧倒的な資金力を持つ銀行に、個人ではまったく太刀打ちできないでしょう。

となると、現実として最も可能性の高い未来のシナリオは、ほとんど銀行だけが事実上の承認者を担うというものです。これは一言で言えば、既存の銀行システムはそのまま残り、本質的には何も変わらないことを意味します。

ですから、もしリップルが完全に覇権を握ってしまい、しかも他の仮想通貨が淘汰されてしまうならば、世界金融の支配構造はおそらくほとんど何も変わりません。

 

ただ銀行の取引手数料が安くなり、しかも圧倒的に高速になる。それ自体はとてもすごいことですが、それだけです。

ADAが目指している理想、個人が自分の取引所を持ち、自分のオリジナル通貨を作り、自由に集金したり投資したりできる、すなわち「個人が銀行になれる」という夢は塵と消えるでしょう。

 

仮想通貨はその性質上、本質的に既存銀行システムの役割とシェアを奪い取る機能を持っています。

リップルという中央集権的性格を持つ仮想通貨に、既存銀行システムが大規模投資しているという事実は、彼らが既得権益に対して敏感になり、危機感を強めている表れであると見ることができます。

個人の手に金融の手段が渡ることは、既存銀行システムにとっての危機なのです。仮想通貨というフィールドにおいて、静かな戦争は始まっています。

私が望むのは、中央集権的なリップル他の非中央集権を体現した仮想通貨共存という未来です。上手く棲み分けが成されればと思います。互いが互いを潰し合う本格的な通貨戦争にならないことを願いたいものです。

やや脱線してしまいましたが、PoW、PoS、PoCの違いは何となく理解できたでしょうか。それでは、ウロボロスに話を進めていきましょう。

■ウロボロス~Cardano(ADA)の新たなるPoSシステム~

では、ホワイトペーパーがウロボロスについてどう書いているのか、原文を引用しましょう。(例によってポイントを赤字で示します)

プルーフオブステーク

仮想通貨にプルーフオブステークを採用するということはその設計選定において疑問視されている設計上の選択肢です。しかし、我々はこれをあえて採用することにしました。というのも安全な投票を導入するためのメカニズムを追加でき、スケーリングを行える余地があり、かつよりエキゾチックなインセンティブの仕組みを取り入れられるためです。

我々のプルーフオブステークプロトコルはウロボロスと呼ばれ、エディンバラ大学の Aggelos Kiayias 教授が率いる5つの学術機関2の優秀な暗号学者のチームによって設計されました。ウロボロスがもたらすイノベーションとは 厳格な暗号化モデルを使用した安全証明だけではなく、多くのプロトコル構成の機能を強化できるモジュラーであり柔軟な設計です。

このモジュール化により、委任機能、サイドチェーン、閲覧可能なチェックポイント、シンクライアント用のより優れたデータ構造、様々な乱数生成方式、多様な同期方式など豊富な機能が実装可能となります。ネットワークは数千から数百万、さらには数十億のユーザーが関与により発展していくため、そのコンセンサスアルゴリズムの要件も変更されます。したがって、これらの変更に対応するために十分な柔軟性があることが不可欠であり、それによって仮想通貨を将来性のあるものにします。

確かに、PoSには上で述べたような欠点がいくつかあります。しかし、マイナーは報酬がもらえないと基本やる気を出さない生き物なので、そこは妥協する形で、とにかくみんなに使ってもらうためにPoSを採用したということですね。

そして、Cardano(ADA)はウロボロスに対して相当自信を持っているように見受けられます。エディンバラ大学の研究チームを持ち出して自慢するくらいですから、よほどなんでしょうね。

さて、ここで主張されているウロボロスの利点は、2点になります。

  1. 厳格な暗号化モデルを使用した安全証明

  2. 多くのプロトコル構成の機能を強化できるモジュラー

1.がウロボロスにとっての一番の売り、肝なのですが、内容についてはものすごく難しく原論文に当たらないと詳細をまともに解説することはできません。こちらはすみませんがじっくり腰を据えて、次回以降に回したいと思います。

2.はさらっと言われていますが、実はとても便利で重要な設計上の概念です。こちらの方がまだ理解しやすいと思われますので、今回は先に2.の解説をメインにいこうと思います。キーワードはモジュラー、モジュール化です。

■モジュール化とは?~プログラミングにおける設計思想の基本~

プログラミングの世界では基本的な概念なのですが、モジュール化というのは、一つ一つの小さな機能を、それぞれ小分けした独立したパッケージとしてプログラムすることで、大きなことは一つ一つの小さな独立したパッケージの組み合わせでできるようにするという設計思想のことです。似たようなところでオブジェクト指向という言葉の方が、もしかしたら聞き覚えがあるかもしれません。

私はプログラムのことはそんなに詳しくないので、簡単な英文をプログラムだと思って例えますが……。いきましょう。

I have a pen.

という英文を、一つの大きなプログラムだと思います。

これをプログラムするのに、モジュール設計非モジュール設計があります。

まずは、非モジュール設計から見ていきましょう。

非モジュール設計では、上の英文をブログラムするのに、いきなり直接的に全体を作ってしまいます。

Ihaveapen.

しかしこのようなやり方は非効率です。なぜなら実際は、英文は一つ一つの単語の繋がりで成り立っているからです。

プログラムの世界でも同じことです。大きなプログラムは、個々の小さなプログラムの集合体として作ることができます。

モジュール設計では、この点を意識して徹底します。

単語一つ一つ

「I」「have」「a」「pen」「.(ピリオド)」

それぞれをまずプログラムとして最初に作ります。

これらの単語はそれぞれ独立しています。つまり、「I」と「have」はそれぞれ「私」と「持つ」という意味の単語として、単独だけで意味を持ちます。Iがないとhaveが意味を持たないとか、その逆もありません。それ一つだけで完結しています。

そういった単語に当たるものを、英文全体を作るのに必要な種類だけプログラムして用意していきます。そして最後に組み合わせることで全体を完成させます。

I have a pen.

このようにすると、何が良いのでしょうか?

例えば、新しく「私はケーキを食べたい」という内容の英文を作りたいとします。

I want to eat a cake.

このとき、パッケージ化したことが活きてきます。

「I」と「a」と「.(ピリオド)」 は、以前に作ってあるのでそのまま再利用でき残りの単語だけを新しく作ればよい! のです。とっても楽ですね。新しいものを作るときに、新しい部分だけを作ればよいので、拡張性に優れています。

これが非モジュール設計だと上手くいきません。

Ihaveapen.

これで一つのプログラムですから、「I」だけを取り出すなんてことは難しいか不可能なわけです。結局新しい英文を作るのに、すべてを一から作り直す必要が生じてしまいます。それって非効率ですよね。

しかもさらに厄介なのは、プログラムにバグがあったときです。

ここでは、スペルミスをバグに例えましょう。

I have a pne.

と、penがpneになってしまっていたとします。

モジュール設計であれば、一つ一つの単語を小分けにチェックして、見つけたpneをpenに直すだけで済みます。個々の単語は独立しているので、他の部分への影響を心配する必要はありません検証性にも優れています。

一方で、非モジュール設計だとそうはいきません。

Ihaveapne.

全部くっついた状態ですから、一か所のバグを見つけるために、一々英文全体を調べなければなりません。しかも、pneをpenに直すとき、penが他と独立していないので、この部分を直したことで他に悪い影響が出ないかも常に気にしなければいけません。

単純な例でしたが、モジュール化の大きな利点、なんとなくおわかり頂けたでしょうか?

「I」だとか「have」だとかが、実際のウロボロスだと「このアドレスに」「○○ADA」「 送金する」みたいな感じで要素分解していって、個々の要素についてパッケージ化してプログラムしていくわけですね。まあ実際はもっともっと複雑なことをパッケージ化してるんでしょうけどね(笑)

まあこんなプログラムの基本をあえて強調したということは、PoS技術の個々の部分を上手くパッケージ化することが、実は結構な難題だったのかもしれません。

実際のところ、ビットコインでもイーサリアムでも、機能の改善や拡張をしようというとき、一々ハードフォーク(不可逆的な仕様変更)をするかしないかという極めて面倒で厄介な話になります。

背景としては、もしかしたら重要な部分のモジュール化が完璧になされていないということがあるのかもしれません。モジュール化が完璧ならば、大きな問題を起こすことなく、柔軟に機能を拡張できるはずなので。

■Cardano(ADA)の野望再び~モジュール化によってCardano(ADA)が為したいこと~

さて、モジュール化によって、Cardano(ADA)は具体的に何がしたいのでしょうか?

例によってさらっと大事なことが二行でほとんど一切説明なしに書いてありますので、オレンジ色で強調しておきましょう。

このモジュール化により委任機能、サイドチェーン、閲覧可能なチェックポイント、シンクライアント用のより優れたデータ構造、様々な乱数生成方式、多様な同期方式など豊富な機能が実装可能となります。

はい。とりあえず列挙しますね。

  1. 委任機能
  2. サイドチェーン
  3. 閲覧可能なチェックポイント
  4. シンクライアント用のより優れたデータ構造
  5. 様々な乱数生成方式
  6. 多様な同期方式

だからわからんって!(笑)

 

誰か、こいつらに簡単な言葉での説明の重要性を教えてやってくれ……。

 

よーし。気合いだ。気合いでいきましょう。

1.委任機能

委任機能とだけ一言で書かれてもって感じですよね。ここ単体ではわからないので、真の意図を理解するには別の場所を読む必要があります。

またホワイトペーパーからの引用になります。

第二に、カルダノはソフトフォーク、ハードフォークの提案、正式に行うためにブロックチェーンに基づいた投票システムの導入を予定しています。ブロックサイズの議論をしているビットコイン、DAOフォークを行なったイーサリアムおよびその他の多くの仮想通貨は、長年、もしくは頻繁にプログラムコードの技術的および道徳的な方向について終わりのない議論を行ってきました。

これらの多くの意見の不一致、またそれによってアクションが取られたときに生じるコミュニティの破綻は、変更のための議論において正式なプロセスが欠如していたことが直接的な原因に違いありません。

ビットコインユーザーがSegregated Witnessを採用するためには誰を説得すれば良いのでしょうか。イーサリアムのコア開発者はDAOを救済する際に、コミュニティの感情を測定するにはどうすればいいのでしょうか。またコミュニティが分断すれば、その仮想通貨は永遠に修復不可能なのでしょうか。

最悪の場合、道徳的権限による行為とは、コミュニティの大半が望んでいるものではなく、単に開発者を味方にして、人脈とお金を持つ人に委ねられてしまいます。さらにインセンティブが悪い4ために、コミュニティの大部分がアクセス不能または離脱した場合、その行為が正当なものであるかどうかの真相を知ることは困難になります。

Tezos のような提案された仮想通貨は興味深いモデルを提供してくれます。Tezoでは仮想通貨のプロトコルを3つのセクション (トランザクション、コンセンサス、ネットワーク) から成る法体制のように扱っており、改正を行うための正式なルールとプロセスがあります。しかし、インセンティブや、形式言語によって仮想通貨を正確にモデル化して変更を行う方法については、まだ多くの課題が残っています。

これには形式的な方式や、コンピューターが理解可能な仕様、あるいはこのプロセスを財務システムと併合することによって金融的インセンティブを高めることが解決策として考えられています。結局のところ、もし洗練された解決策を見出せない場合であっても、ブロックチェーンに基づいた投票システムによって、透明性があり、検閲を許容する方法でプロトコル変更を提案することができれば、そのプロセスの改善に繋がるはずです。

委任機能というのは、つまりは民主的な投票システムのことです。

そしてやっぱり、ビットコインやイーサリアムの問題点を指摘して、それを改善するアプローチを取っています。

もう完全にビットコインとイーサリアムに喧嘩売ってますよね、これ(笑)

 

しかし、話の内容としてはもっともだと頷けるものがあります。

私たちは、ビットコイン(BTC)とビットコインキャッシュ(BCH)の分裂を始め、いったいどれほどの通貨分裂や仲間割れに振り回されてきたでしょうか。

そして大抵の場合、こうした重大な議論は私たちの意見を無視して勝手に中心メンバーだけで秘密裡に進められ、その全容がさっぱりわからないという不健全極まりない状態となっています。

そうした事態をなるべく避けるために、Cardano(ADA)は投票システムというモジュールを追加しようとしているんですね。

ちなみに余談ですが、ここで興味深いモデルとして挙げられている

Tezos のような提案された仮想通貨は興味深いモデルを提供してくれます。Tezoでは仮想通貨のプロトコルを3つのセクション (トランザクション、コンセンサス、ネットワーク) から成る法体制のように扱っており、改正を行うための正式なルールとプロセスがあります。

Tezosですが、実はこのプロジェクト、よりによって仲間割れで開発停止の危機に追い込まれていますw(以下のリンクが参考になるでしょう)

Tezos(テゾス)のICOに内紛の危機 ICO応募者のおカネはどうなる? これが円満に解決を見なければ、「Tezosショック」が仮想通貨市場に走るリスクもある

なんたる皮肉か(笑)

2.サイドチェーン

こちらについては、良い解説記事を見つけたので、すみませんが飛ばしてしまおうと思います。(以下のリンク参照)

ブロックチェーンの側鎖となる概念「サイドチェーン」

Cardano(ADA)では、どんなサイドチェーンを実装するつもりなのでしょうか。またまた引用です。

サイドチェーン

サイドチェーンに関しては、カルダノはプルーフオブワークの証明の結果を基にKiayias、Millerと Zindros氏 によって開発された新しいプロトコル(KMZサイドチェーン)の対応を行います。このプロトコルに関する設計の詳細についてはここでの議論の範疇を超えています。しかし、そのコンセプトによりCSLから任意のカルダノ・コンピュテーション層やプロトコルに対応している他のブロックチェーンへの安全で非対話的な資産の移動を可能にします。

KMZサイドチェーンは、複雑な処理をカプセル化するための鍵となっています。規制要件、民間業務、堅牢なスクリプト言語、その他の特別の懸念についてはCSLではブラックボックス化されています。しかし、CSLユーザーは計算処理が完了すればその会計や資金回収能力について一定の保証を受けることができます。

ここでの議論の範疇を超えています。

ここでの議論の範疇を超えています。

ここでの議論の範疇を超えています。

 

おい!(笑)専門用語使いまくりのあんたらが議論の範疇超えるってどれだけ難しいんだよ!!!

 

彼らにさえ解説できないものを私が解説できるわけありませんので、すみませんがここはギブアップさせて下さい……w

ただ、少ない情報からわかることは

  • KMZサイドチェーンという独自のサイドチェーンを開発すること
  • 複雑な処理をカプセル化できる

ということですね。

実は、ここでCardano(ADA)が掲げる大目標の1番目である

1.計算処理をバックグラウンドに隠して、台帳のみがユーザーに見えるような、ユーザーフレンドリーな仕組みを実装すること

 

が関わってきます。台帳システムと計算処理の分離でしたね。該当箇所をもう一度引用しましょう。

したがって我々は、会計処理とそれが行われる背景とを分離すべきであると判断しました。つまり、価値を計算の分離です。これはカルダノがスマートコントラクトに対応しないことを意味するわけではありません。逆に分離を明示的に行うことよって、スマートコントラクトの設計、使用、プライバシー、および実行をより柔軟に行うことができます。

カルダノにおいての公開台帳システムを担う階層は、Cardano Settlement Layer (CSL) と呼ばれます。CSLは会計処理を行うことが目的であるため、ロードマップには次の目標があります:

1.次のスクリプト言語をサポートする。一方は価値の移動を行い、もう一方はオーバーレイプロトコルのサポートを強化するものである
2.KMZサイドチェーン5が他の台帳システムと連携できるようなサポートを提供する
3.より高度なセキュリティのために耐量子コンピューター電子署名方式を含むあらゆるタイプの署名方式に対応する
4.複数のユーザーの独自通貨に対応する
5.ユーザーがネットワークに参加するにつれ、システムの機能が向上する真の拡張性を実現する

ここで言われていることは、台帳システムと計算処理を分離する(モジュール化する)ことによって、スマートコントラクトが新しいモジュールとして柔軟に設計できる、という主張です。

そしてもう一つ、ここで思い出して欲しいのが(知らない人は今知って下さい(笑))、リスク(LSK)という仮想通貨です。

実はリスク(LSK)にもサイドチェーンが存在し、スマートコントラクトはサイドチェーン上で実装されています。(以下のリンクが参考になります)

liskの仕組みに使われているサイドチェーンとは?

これを、Cardano(ADA)の場合に置き代えて考えてみましょう。

KMZサイドチェーンは、複雑な処理(⇒重要な例として、スマートコントラクト)をカプセル化するための鍵になります。

つまり、モジュール化と新しい独自のサイドチェーンによって、従来よりも複雑なスマートコントラクトを実装できるとそれとなく言っているのです。超難しいね!

3.閲覧可能なチェックポイント

これはすみません、よくわかりませんでした。たぶんシステムのチェックのための何らかの機能を曖昧に指しているのだと思います。

4.シンクライアント用のより優れたデータ構造

これについては、シンクライアントという言葉がわかれば十分でしょう。(以下のリンクが参考になります)

今さら聞けない!シンクライアントの種類とその特徴 |

 

最近だと情報漏洩に対するセキュリティが厳しくなってきているので、いわゆる社内専用回線みたいなものが組まれていたりしますが、そういうのが典型的な一例です。

5.様々な乱数生成方式

これはさらっと書いてありますが、実は結構重要です。

なぜなら乱数生成の技術は、そのまま仮想通貨の安全性に直結するものだからです。

ウォレットなどを使っていると、公開鍵秘密鍵という言葉によく出くわすと思います。

公開鍵は暗号用の鍵であり、こちらは誰でも見られるものです。一方で、秘密鍵は復号用の鍵であり、これを知られると隠したい情報がすべて筒抜けになってしまいます。

また、RSA暗号楕円曲線暗号という言葉を聞いたことがある方もいるかもしれません。ちなみに楕円曲線暗号は現在のCardano(ADA)に用いられている暗号方式でもあります。(まだ耐量子コンピュータ性はありません

この2つは現在において最もよく使われている暗号方式で、どちらも非常に大きな数になると、ある種の問題を総当たりで解くことが困難であることを利用しています。(RSA暗号だと素因数分解、楕円曲線暗号だと離散対数問題というものですが、別に知らなくていいです)

それで、よく使われている2つの暗号方式では、暗号を作るとき、公開鍵と秘密鍵に当たる整数をペアで生成します。

その公開鍵や秘密鍵を生成するとき、手でするわけにもいきませんので、もちろんプログラムを使うのですが、乱数生成プログラムを挟むことで、なるべくランダムに鍵を生成しています。毎回同じ鍵を作っていたら、暗号の意味がありませんからね。

とは言っても、乱数生成は何らかのプログラムによって発生させているものなので、常に何らかの規則には従っています。まったくのランダムな乱数というものはありません。

では、もし仮に乱数を生成する規則がお粗末で容易に規則を推定できるものだったとすると、それを用いて作られた秘密鍵も容易に推定できています。もし秘密鍵が知られると、すぐに復号されてハッキングされてしまいます。

なので、様々な乱数生成方式を実装できるということは、それだけ鍵の生成方法を増やせるということであり、より良い乱数生成方式があれば乗り換えてしまうことも可能です。

様々な乱数生成方式の選択肢の分だけ、セキュリティ面の強化に繋がるのです。

6.多様な同期方式

こちらも、同期という言葉の意味をリンクで載せておきましょう。

同期(シンクロナイゼーション)とは – IT用語辞典

多様な同期方式を採用できることによって、様々なアプリケーションへの道が広がることでしょう。

■いよいよ原論文に向かって~ウロボロスの本当のところを見よう~

ちょっと私の力不足で解説し切れない部分もありましたが、ウロボロスの2つのポイントのうちモジュラー、モジュール化について一通り押さえてみました。

ウロボロスについて、これ以上のより詳細は、原論文に当たらないとわからないことが多いです。原論文はもちろんすべて英語で書かれている上に、内容も非常に高度で、正直私もすべてを理解することはまったくできません。

しかしながら、数式以外のお話の部分もあり、そこにも色々と重要なことが書かれていますので、できるだけ読みほぐして解説していきたいと思います。おそらく現時点で、原論文の中身を日本語で解説する記事は他にないだろうと思います。

いよいよ難易度は山場を迎えることになりますが、興味のある皆さんはどうぞお付き合い下さい。それでは。

関連記事

  1. 仮想通貨(暗号通貨)

    2017年の投資活動を振り返る その1 ~人生の未来を賭けた大勝負に挑む~

    2017年の投資活動を振り返る その1 ~人生の未来を賭けた大勝負に挑…

  2. さあ、仮想通貨投資を始めよう!

    さあ、仮想通貨投資を始めよう! その1 時は仮想通貨バブルなり

    はい。初めましての方は初めまして。そうでない方はこんにちは。レストと申…

  3. 仮想通貨(暗号通貨)

    レスト版 仮想通貨格付け2018~素人が格付け会社に対抗してみた~

    レスト版 仮想通貨格付け2018~素人が格付け会社に対抗してみた~…

  4. SP8DE

    SP8DE(スペード) ホワイトペーパーを読み解こうと「していた」~運営の不誠実と私の投資判断の誤り…

    SP8DE(スペード) ホワイトペーパーを読み解こうと「していた」~運…

  5. IOTA VS ADK

    IOTA VS ADK 第1回~ポストブロックチェーンの到来 DAG系通貨の未来に迫る~

    IOTA VS ADK~ポストブロックチェーンの到来 DAG系通貨の未…

コメント

  1. とても貴重な記事をありがとうございます。ホワイトペーパーを眺めてもじぇんじぇんわからなかった内容が、ちょっとだけわかった気になることができました。

    「3.閲覧可能なチェックポイント」について、Cardano Roadmapのライトクライアントモードの説明の中で、「ウォレットが最近のチェックポイントから同期を開始することによって、同期時間の短縮が可能となります。」とあります。これと関係あるでしょうか?見当違いだったらスミマセン。。。

    次の記事も楽しみにしてます!!

      • rest256
      • 2017年 12月 29日

      今度確認できるときにしてみます。情報提供ありがとうございます。

        • とも
        • 2017年 12月 29日

        大変勉強になりました。
        先程FB友達申請をお送りさせて頂きました。よろしくお願いします!

          • rest256
          • 2017年 12月 29日

          承認しました。よろしくお願いします!

    • 橘の影
    • 2018年 1月 23日

    とても貴重な解説ありがとうございます。
    パート1も含めて見るとCardanoは本当に仮想通貨全体の課題と将来を俯瞰しながらプロジェクトが進んでる印象を受けますね。
    仮に詐欺コインだったらここまで高度なネタは書けないですね。
    ちなみに私はサーバーインフラエンジニアですので、昨今のBTC,ETH等のキャパシティ、スケーラビリティ問題やトランザクション肥大化、ブロックチェーンの長大化には懸念しております。
    これを機に私も原論文を読んでみようという気になりました。
    読んだらレポートを書いてみようかと思います。
    あわよくば論文読んでる人同士でゼミを開催したいくらいです!
    本当にありがとうございます!励みになります。

      • rest256
      • 2018年 1月 24日

      ありがとうございます。
      私もまったく同じように思い、応援する気になった者です。
      詐欺でここまで小難しいことを真面目に書く人はいないと思います(笑)
      私も原論文にトライしてますが、中々難しく……。もしレポートが読めるならありがたいです。
      論文読んでる人同士のゼミ、いいですね! 今度開催を考えてみようかなと思います。

  1. Cardano(ADA)

    Cardano(ADA)について徹底的に調べてみた 第1回~ホワイトペーパーを読…
PAGE TOP