結論として、安全性/正確性/達成力/分散性/持続性/高速性/機密性/透明性/公平性/経済性/相互性/適法性/スマコン/即時性/安定性の観点から、簡単な他の有力通貨比較とCardanoの「黒い噂」含め検証し、Cardanoが『No1』であることを示しました。
何を根拠に私が断言するのか、そのすべてを示しました…あなたの目で確かめてみてください…

結論としては、『安全性/正確性/達成力/分散性/持続性が完全に保証された前提で、高速性/適法性/機密性/透明性/公平性/経済性/相互性/スマコン/即時性/安定性を各々のバランスを取りながら、ただより先に挙げた要素を比較的尊重しながら世界を最も効率化するデータベース』が『No1』のデータベース(ブロックチェーン・元帳)と示します。

1 ブロックチェーンの究極的な目的


.

経営者不正問題やフランス革命から始まった分散化の波は、「だれか」ではなく「みんな」で私たちの身分情報/お金/法律政策等のデータベースを管理する技術がなかったため、合議体・委託・監査役・それに紐づく中央銀行による間接的な分散化に終わりました。
ブロックチェーンの技術は、政策/法律/お金/組織の意思決定/取引仲介サービス等のデータベースを「だれか」ではなく「みんな」で管理できるようにし、完全なる分散化(直接民主制・分散自律組織・暗号通貨)まで導くことを可能にします。

したがって、ブロックチェーンの究極的な目的は、
「だれか、ではなく、みんな、で管理できる、多岐にわたる攻めと守りにより人々の生活を最も強力にサポートできるデータベース」
の達成です。
一方でブロックチェーンの技術にも速度や安全面で様々な問題が指摘されており、今、改めて問われています。

「どのデータベースの上で生活したいですか?」
「日本政府(一部の日本国民の代表者)のデータベースですか?アメリカ政府(一部のアメリカ国民の代表者)のデータベースですか?AmazonやGoogleやFacebookのデータベースですか?それともビットコインですか?イーサリアムですが?XRPですか?」

2 目的達成のために必要なステータスと優先順位


.
問いを具体的にすると、

「どのような「性質」を優先したデータベースで生活したいですか?」

ブロックチェーンに囚われず、一般的なあるべき「データベース」にあるべき性質を、改めて列挙してみたいと思います。
さらに、究極的にはどの性質もトレードオフがあります。
例えば、「分散性/安全性/速度」「匿名性(=分散性/安全性)/規制」は両立が難しい性質で、匿名性は攻撃しづらくなるため安全性が上がりますが、規制当局から嫌われる傾向にあり、このバランスを考える必要があります。
多くの文献等を考慮・整理すると、ざっと少なくとも次のような点は必要となるでしょう。

①失われるとデータベースですらなくなる必須のもの…安全性
②安全性を含むすべての性質の前提になっており必須のもの…正確性/達成力
③安全性を含む一部の性質の前提となっており必須のもの…分散性(安全性・経済性等の前提)/持続性(安全性・スマコン優位性等の前提)
④必ず一定水準を高める必要があるもの…高速性/機密性/透明性/価格安定性
⑤考え方によっては最大限高めた方が良いもの…公平性/経済性/相互性/適法性/スマコン優位性/即時性

これらを考慮し、冒頭のNo1の「データベース」を定義しました。
これがCardanoに当てはまるか次のプルダウン以降で検証します。(各要素の具体的な定義は各プルダウンで定義します。)

結論からいうと、Cardanoにおける①安全性は②現実的前提で③数学的に証明されています。

ただ、他のどのプロジェクトも「安全だぞ!」、と主張しています。
この違いはなんでしょうか?
この違いは3つの視点から考察できます。

1 安全性の「定義」は何ですか?


.
Cardanoは、安全性を数学的に定義しました。
データベース/暗号通貨の観点からの安全性=Persistence(記録された取引は必ず確定する)+Liveness(正しい取引はいつか必ず記録される)が、現実的な前提で達成されること(厳密かつ詳細には以下のプルダウン参照)

安全性を正式に定義せずに、SNSやHPで、漠然と安全だと主張しているプロジェクトが多いことに注意してください。

2 安全性の「前提」は何ですか?


.
Cardanoは、前提がかなり現実的であることを数学的に示しました。
Cardanoの安全性の前提=「プールがちゃんとネットにつながってて、その中で半分以上ADAを持っている人が暴れなければ安全」(厳密かつ詳細には以下のプルダウン参照)

安全性の前提を正式に示せていない、もしくはその前提が現実的ではないプロジェクトが多いことに気をつけてください。

3 安全性の「根拠」は何ですか?


.
Cardanoは、根拠を数学的に証明した上に次の「正確性」のプルダウンで述べられる通り、最高峰の学会で査読された上にプロトタイピング・形式手法・技術仕様・関数型言語を通じて証明した通りの実装(量子耐性を含む)を行っています。

安全性の根拠がSNSやHPあるいはカンファレンスの発表、もしくは専門家の学会の査読を経ていない論文であるプロジェクトが多いことに気をつけてください。

Cardanoへの考えうる攻撃パターンについてOurooborosの論文より簡単に列挙しますので、興味のある場合、見てみてください。

Ouroboros論文の定理5.5で「半分以上のステークが正直で、ネットも異常がない」ならば正常な取引は必ず記録されて記録は必ず不変となる
と証明されましたが、この「半分以上のステークが正直で、ネットも異常がない」を前提にします。

定理5.5 Fix parameters k, l, E, ε, σ, R, and L, where R ≥ 2k + 4l and L is an integer multiple of R. Consider an execution E of Π[πDPoS,πDLS] with lifetime L coupled with a (1/2 − ε)- initially-bounded adversary A with corruption delay D = 2R and environment Z exhibiting a stake- shift of σ over l slots. Then persistence, with parameter k, and liveness, with parameter u = 2(k+l), are violated with probability no more than
ε := L · [exp(−Ω(√k)) + O(exp(−2ε2l))] + εH + (L/R)εDLS + εDSIG .
Here εH denotes the probability of a collision occurring among the queries to H (including those of A), εDSIG is the distinguishing advantage of tance of the DSIG implementation. The above the digital probabilities signature implementation, εDLS is are in the conditional space ¬Badthe dis- 1/2−ε−σ.

すでに記録され確定した取引を、なかったことにするという攻撃です。
まず、私が、1億ADA払って、1000億円を受け取ったとします。
私がこの攻撃をして、1億ADA払わなかったことにできれば、1億ADA分私は丸儲けです。
これは定理5.5の前提では取引が必ず不変となるため、不可能です。

これはPOS固有の攻撃で、ステークに応じて「ランダム」に承認者になるのではなく、何らかの攻撃により自分だけ承認者に選ばれる可能性が上がるよう攻撃を行います。
Cardanoでは「コイントスプロトコル」より、生成されたランダム性に影響を与えることができず一様にランダムなのでこの攻撃は不可能です。

取引を確認させないようにする攻撃です。
例えば私が田中さんのダイダロスに入っているADAを狙っていたとします。
あと少しで田中さんのプライベートキーが書かれた紙を手にすることができるのですが、田中さんがダイダロスからヨロイにADAを動かす取引の記録を送りました。
そうされては不都合なので私は攻撃を行って、その取引が記録されないようにします…

これも定理5.5の元では必ず確認されることになっているので不可能です。

50%以上がネットにうまくつながらない状態を起こさせれば可能となりうる攻撃だが、そうならない前提の上では不可能。

ピアツーピアメッセージ配信メカニズムを破壊する攻撃で、前項同様の状況が起きたら攻撃されうる。

定理5.5の前提が成り立たない、敵対者のステークが半分以上大きくなった場合これがおきます。この状態になると、取引は確認できず、確認されたとしてそれは不変にならず、長期のフォークになる可能性があります。

賄賂をステークプールに送って、悪い取引を承認させる攻撃です。(例えば二重支出を承認させるなど)
これに関しては、POSの場合、直感的には攻撃には大量のステークが必要ですが、攻撃がわかればステークの価値は下がり、攻撃のための損害(費用)があまりにも大きすぎると考えられます。
ただ、この賄賂攻撃に関しては正式にすべての攻撃を網羅してないため、現在、正式に研究を進めているそうです。

なお、POWの場合、ブロックを正直に生成するよりも、高い賄賂を提供すれば、参加するインセンティブが生まれるため、相対的にこの攻撃をしやすいと思えます。

POS固有の攻撃で、2重支出等を含む長いチェーンを人工的に作って攻撃する方法です。
これは2つの点から不可能です。
①たくさんのステークプールが参加していないとプロトコルはPOSに必要なデータを与えてくれない
②プロトコルはかなり前に作成されたチェーンは拒否する
人工的に作ったチェーンは、ステークのごく一部を制御する攻撃者にが作るもののため、①②から無効になります。

これもPOS固有の、かなり深刻な攻撃で、チェーンを人工的に作ってシステムに攻撃する方法です。
forkable stringsや古いチェーンは無視されることからこれも不可能です。

過去の大きなステーク保有者が悪さをする攻撃で、Nothing at stake attacksの特別版です。
実は定理5.5には巨大なステークの移動がないことが条件で、この場合、危険になり得ます。つまり、POSでは攻撃をするとき大量のステークが必要で、それはコストが大きいよね、という話でしたが、この場合、攻撃をする時点においてはステークを売り払っていれば極論ステークは必要ないため、その意味でのコストはかかりません。
これは恐ろしい話に聞こえますが、現実的には一体誰がそんなに巨大なステークを買ってくれるのか、しかも買った瞬間にすぐさま巨大な攻撃をかけられるのか、という根本的な疑問があります。ただ、理論的にはありうる攻撃になります。

自分に都合の良いようにブロックを承認したりしなかったりすることによって、自分に都合の良いようにブロックを作成し、さらにマイニング報酬をたくさんもらうという攻撃です。
Cardanoにおいてはブロックの承認権はステークの量に比例するため、ブロックをあえて承認しないとしたとしても報酬は高くならないため、意味のない攻撃になります。

※これは論文ではなくIOHKブログ上での情報を参照しています。
色々書かれてますが、Cardanoがこの攻撃の影響を受けない本質的な理由は、「ビットコインをコピーしていないから」です。

PoSv3を使用したビットコインをコピーした形でのPOSの26種類の通貨について、その偽ステーク攻撃の脆弱性があることが米国の研究チームより示されましたがその中にCardanoはありません。

これは幸運ではなく、Cardanoはビットコインをコピーせず、ゼロから考え抜かれて、極めてシンプルに構築されたシステムだからです。

※これは論文ではなくIOHKブログ上での情報を参照しています。
Sybilは多重人格者の女性の名前で、1人が複数のIDを使って攻撃する方法を言います。Cardanoでは1人が大量のステークプールを作ることが可能のため、1000のステークプールを作って、ステークを徐々に集めて攻撃を行うことも可能に思えます。

結論としてはこれは非効率的かつ非常に多くのステークが必要となり、成功しません。

・Cardanoはステーキングにあたりデポジットは不要ですが、デポジットを多く行うとわずかに収益性が上がります。つまり、たくさんのプールを分けて作成する場合、1つ1つのプールの魅力は低くなります。

・さらに、評判システムにも関連させる予定があります。よりコミュニティに貢献し信頼のおけるプールについては、収益性が向上し、相対的に、適当に大量作成したプールについては魅力が低くなります。

※注意※まず、私は数学者でも暗号学者でもないため、正確性は保証できませんand sorry , this is japanese only

論文では最初に、

・厳格な安全保障に基づく最初のPOS
・BTCに匹敵する
・利己的マイニングなどの攻撃’;正直な行動=ナッシュ均衡であるため起こらない。
・現実の世界での処理も検証した。

と書かれています。

一つポイントになるのは「BTCに匹敵する」という言い方が随所で出てきます。
BTCは低速でバカにされていますが、事実、時価総額は不動の1位です。
なぜか?極めて安全だからです。その安全性は、歴史と、ビットコインを研究した学者により担保されています。
ビットコインを1つの重要な基準に置きながら、POSにてそれと同様の安全性を証明した、というところが1つポイントです。

次に、だいたいこんなことが書かれています。

■POW(メモリーやストレージに関連するものも含む)は小国に匹敵するエネルギーを必要とする。
→より省エネな方法があるはず!
→そもそもPOWとは厳格に作業量に応じて(selfish mining等によりゆがむ可能性あり)ランダムにした次のブロックを作る人を選ぶ選挙。
→POSが良いのでは?

■しかし、POSには重大な課題がある。
→POSはそもそも正確な検証がされていない。発見的手法によって開発されてきた
→特にPOSはステークが頻繁に動き、それを前提として安全性を証明しなければならないが、ステークが動く前提での検証がない。

■ちなみに…
・proof of space;物理リソースは必要だが、エネルギーは少なくなる
・proof of space-time;何れにせよexpensive physical resourceが必要

ここからつまり、何がポイントなのかというと、
『POSって実はすごく危険だし安全性の証明が難しい』
ということです。

ビットコイン開発者はアホなので無駄な減力を浪費するシステムで開発し続けているわけではありません。
POSの可能性も検討しつつも、移動し続けるステークを前提としたセキュリティを担保することが非常に難しいため、「POSは危険、POWの方が安全」、となってPOWでの開発を進めているのです。

この論文の結論は次の6個ぐらいだ、と続きます。1つずつ見てきます。

①持続性・活力の観点からPOSの問題点を洗い出せるモデル(頑強取引元帳の定義)=Persistence持続(記録された取引は必ず確定する)+Liveness活力(正しい取引はいつか必ず記録される)=正直に生成された取引が採用され、不変になる

Persistence;1つが安定している、と宣言されれば、たのノードもこれを参照して安定していると答えられる状態のこと。これはK以上の深さであれば安定している、と回答できるようであるべきである。-元帳が最終的で不変であることを保証

Liveness;正直に生成されたトランザクションは、Uタイムステップ経過後には、確実に安定する。-誠実な当事者によってブロードキャストされた取引が最終的に(不変の)元帳に含まれるようにする

これのポイントは2つかなと思います。
・安全性をちゃんと「定義」しているな、なんか雰囲気で安全性とか言っちゃっているわけじゃないんだな、ということ
・安全性を「数字」で把握しているな、ということ。上では「K」、「U」で安全性の数値(変数)が定義されています。

②我々のモデルの説明、マルチパーティ計算によるコイントスでランダムに選ぶ。
・パーティーは自由に新しいアカウントを作り支払いを受けいつでもステークが動くことを前提にしている。
・コインフリッピングプロトコルの(単純な)安全なマルチパーティ実装⇨grinding attacksを防ぐ
・スナップショットが取られ、そこから計算されるために、ラウンド間のステーク移動は無視される。

これはプロトコルの仕組みを説明しています。ただ、Praos以降のバージョンでは少し違うので、説明は割愛します。

③もっともらしい前提の上で、①が打ち破られないことを証明する。
1)正直ステークホルダーが他ステークホルダーと通信可能期間に有界を設定できるという意味でネットワークは同期的である
2)各エポックに参加のため、正直多数派から選ばれた多数のステークホルダーが必要に応じてアクティブ
3)ステークホルダーが長期間オフラインにならない。
4)破損の適応性は、「セキュリティパラメータにおいて線形ラウンドで測定される小さな遅延」を受ける(あるいは、プレーヤーは、送信者と匿名のブロードキャストチャネルにアクセスできる)
・「forkable string」の組み合わせ概念に関する確率論的議論が中心
・covertly forkable strings are a subclass of the forkable strings with much smaller density; 2つの議論を展開できる。
covert attacks,(敵が密かにプロトコルを破ろうとする攻撃)に対応するforkable string technique
・forkable strings;分岐可能な糸。POSを超えた概念になりうる。密かな分岐可能な糸はかなり小さな密度を持つ分岐可能な糸の継承版。

これは安全性の前提条件を話しています。
ここが崩れたら、Ouroborosは安全ではありません。
いかなる状況においても安全なシステムは存在しないので、このラインを超えたら安全ではない、という基準が決まっていることは大事です。
で、ここの前提ですが、細かい話を抜きにすると
「過半数のステークを持つステークプールが正直で、かつ、ちゃんとネットにつながってて通信に問題が起こらないこと」
という話をしています。
この前提条件が現実的かどうかですが、ネットにつながっているというのはこのインターネット社会で全然厳しくありませんし、たくさんADAを持っている人がCardanoを攻撃してADAの価値を下げる行動をしている状態なので、まず考えづらいでしょう。
ということは、Ouroborosは現実的な前提条件で、だいたい安全だなということです。

④インセンティブ構造の考慮;block withholding and selfish-mining を軽減する合理的手数料・インセンティブ;ナッシュ均衡・ゲーム理論
プロトコルに従って行動するのが、全員にとってもっとも利益が大きい。
⑤ステークの委託→プロトコル拡張が安全にできる。
⇨Specifically, we discuss double spending attacks, transaction denial attacks, 51% attacks, nothing-at-stake, desynchronization attacks and others. これを議論できる。
⑥BTCと比べて効率の高い点を証明する。
ナカモトサトシより広範な敵対者にフォーカブルストリングで対応でき、10−16倍同じ攻撃者想定でも早い。Amazonクラウドでテストしたぱショーマンスデータも示す。

④〜⑥は読んで字の如く、Ouroborosに正直に従うことが関係者全員の利益になる点を証明し、ステークを委託できるようにしてプール運営したくない人もプロトコルに参加できるようにし、BTCよりも効率がいいということを実験で示したという話をしています。

ここで他のプロジェクトとOuroborosを比較しています。

①Sleepy consensus;mixed corruption setting対策; “corruptions with delay” settingだけがここで議論されたが、それだけでなく、adaptive corruptionsと fail-stop and recover/sleepy corruptionsを含む広いモデルで分析される必要がある。
②Snow White;degree of “grinding”が可能で敵対者の選出確率を上げることができるが、さらにランダムで効率的にできる。
⇨フォークブル文字列解析を拡張して、完全な適応セキュリティと同様に効率的なランダムネス生成をどのようにして得ることができるかを示す
③AlgorandーBFT合意に従うブロックごとの適応腐敗に耐える。より低速化はするが、フォークせず、即時合意となる。ブロックチェーンより優れている特性と思われる。
・ただし、ブロックチェーンは、リスクのあるトランザクション価値に応じてセキュリティを変えることや、ライトニングを使いこの固有速度低下を軽減できる
・また、各サブプロトコルインスタンスに対して特定の参加制限を課すという犠牲を払うというトレードオフを選択している。(Genesisで深く解説)
・また、参加者間の時間の合意概念がなく、時間はほぼ同じ速度で過ぎ去るという過程に頼っている。一方でウロボロスは時間同期の追加を予定する。
④フルーツチェーンはPOWにおけるインセンティブとナッシュ均衡を証明する。
我々も、POWにおける正直多数派BFT合意と同じロジックを使い、入力をかなりの割合で裏付けるPOS類似のものを提供する。
⑤持続性のエラー範囲にはエラー率がありこれは低下していく。この誤差範囲をどのように埋めていくかを示す。

簡単にいうと、①Sleepy consensusは分析不足だよね、②Snow Whiteはもっと効率良いやり方あるよね、④フルーツチェーンはナッシュ均衡を示したけど、我々も同じことをしましたよ、ということを言ってます。
③Algorandはチャールズさんも認める、査読を取り入れた手強い競合なので少し話すと、
・AlgorandのOuroborosに対する利点;チェーンが分裂したりせず、ほぼ即時に取引が確定する
・OuroborosのAlgorandに対する利点;セキュリティを取引に応じて変えることができる、ライトニングネットワーク等により高速化できる、特定の参加制限を課す場合がなく分散性を犠牲にしない、時間同期の概念が存在する

まずは基本的なところを定義します。

・現在スロットは時刻に応じて増加する関数により規定
・各プレイヤーは時刻にアクセスでき、その現地時刻差額の矛盾は重要でない・
・スロットの長さは、ネットワーク遅延と現地時刻の差額を加味しても、開始時に発したものが終了時に受信できます。

次に「安全性」をもう少し数学的に定義します。

Transaction Ledger Properties.ープロトコルΠは堅牢な取引元帳を実装。Πの元帳はブロックに分割され、取引が元帳に組み込まれる順番が決定される。以下2つを満たす。
Persistence, with parameter k N. Once a node of the system proclaims a certain transaction tx as stable, the remaining nodes, if queried, will report tx at the same position of the ledger and agree on the entire prefix of the ledger (prior to tx). Stability is defined in terms of the blockchain: a transaction is declared stable if and only if it is in a block that is more than k blocks deep in the ledger. あるノードが「Tx=安定」と伝達→残りのノードは①照会されたらTxを同じ位置にあると報告+②元帳のTxより前全体部分に同意。Txがkより前の深さのブロックにあるとTxは安定していると宣言される。
Liveness, with parameter u N. If all honest nodes in the system attempt to include a certain transaction, then after the passing of time corresponding to u slots (called the transaction confirmation time), all nodes, if queried and responding honestly, will report the transaction as stable. 全正直ノードがTxを含めたUスロット対応時間経過後、全ノードはTxを安定していると認識する。

堅牢な取引台帳であれば必ず、「適切な取引はU以内に元帳の中に入って、K以上の深さになると確定する」というU(活性)とK(持続性)があるはずだ!という話をしています。このUとKがすべての議論の中心になります。

この2つの特性は、以下の3つの基本特性から導ける。(Πはパーティーがローカルに維持し各スロット開始時に更新するチェーンのデータ構造から元帳を導出する)
Common Prefix (CP); with parameter k N. The chains C1,C2 adopted by two honest parties at the onset of the slots sl1 ≤ sl2 are such that Ck1 C2, where Ck1 denotes the chain obtained by removing the last k blocks from C1, and denotes the prefix relation.  ;共通接頭辞=Ck1 C2=ある二人の正直パーティーが採用したチェーンは、必ず、Kブロックより前は、同じチェーンになっている、ということ。=安定していると宣言された取引の次にのみ、ブロックが生成され始めるということ=最終的にチェーンは全て安定していくということ=Persistenc特性を持つということ
・C1、C2は二人の正直パーティーにより採用されたチェーン。かつ、スロット開始時sl1≤sl2
は接頭辞関係を示す。
・Ck1はC1から最後のkブロックを除いたチェーンを示す。
Honest Chain Growth (HCG); with parameters τ(速度係数) (0,1] and s N. Consider the chain C adopted by an honest party. Let sl2 be the slot associated with the last block of C and let sl1 be a prior slot in which C has an honestly-generated block. If sl2 ≥ sl1 + s, then the number of blocks appearing in C after sl1 is at least τs. The parameter τ is called the speed coefficient.
正直なチェーンの成長。正直ノード採用チェーンCの場合で最後のスロットSl2,その前をSl1とする。 sl2≧sl1 + sの場合、sl1の後にCに現れるブロックの数は少なくともτsである。

・τは速度係数(0より大きく1以下)。
・Cは正直なパーティーにより採用。
・sl2=Cの最後のブロックに関連するスロット
・sl1=Cが正直に生成されたブロックを持つ前のスロット
・sl2sl1+s→とすると→sl1の後のCのブロック数>τs
=正直パーティーがsl1を採用した後、sスロット経過し、生成速度がτとすると、必ず、τs以上のブロック数がCに現れている。
Existential Chain Quality (CQ); with parameter s N. Consider the chain C adopted by an honest party at the onset of a slot and any portion of C spanning s prior slots; then at least one honestly-generated block appears in this portion. ;存在するチェーンの品質;正直ノードにより採用したチェーンCとそれ以前のsスロットにまたがるCの任意部分見ると、少なくとも1つの正直に生成されたブロックが表示される。
・Cはスロット開始時に正直なパーティーにより採用。
・Cのs個だけ前のスロットにまたがって、Cの任意の部分を考えると、少なくとも1つの正直に生成されたブロックが表示される。

ここでは、上で安全性を定義したUとKって、もっと数学的に突っ込むと、
共通のチェーン部分がある+ちゃんとチェーンが伸びている+のびたチェーンには確かにちゃんとした取引もある
という3つを満たす必要があよね、という話をしています。

→下2つを組み合わせると、
Chain Growth (CG); with parameters τ (0,1] and s N. Consider the chain C adopted by an honest party at the onset of a slot and any portion of C spanning s prior slots; then the number of blocks appearing in this portion of the chain is at least τs.
・τは速度係数(0より大きく1以下)。
・Cはスロット開始時に正直なパーティーにより採用。
・Cの最後のSスロット部分のブロック数>τs
=正直パーティーがCを採用した後、sスロット経過し、生成速度がτとすると、必ず、τs以上のブロック数がCのsスロット経過部分に現れている。
ビットコインの場合と同様に、最長のチェーンが私たちのプロトコルで好ましい役割を果たします。これは正直なチェーン成長の直接的な保証を提供します。

ちなみに、3つのうち、下の2つってこんな感じにまとめられますよね、という話をしています。

ちゃんとした取引の記録システムはUとKが必要なことがわかったところで、これを充すことが可能な理想のシステムにあるべき理想の機能を「F」として、そのFってどんなものがあるはずか考えてみます。

Security Model.(機能F(複数機能)より、Persistence・Livenessを満たす);セキュリティ分析のために導入される機能
「VIEW(k)」=敵対者A、環境Z、セキュリティパラメータκおよび理想的な機能性Fへのアクセスを伴うプロトコルΠの実行後の当事者Pの見解

「EXEC(k)」=環境Zの出力
ー標準モデルでの分析でありランダムオラクル機能分析ではない。

ここのポイントは、敵対者Aがいることでしょう。
これが今後の分析で暴れ回るわけですが、「有能な承認者のリスト」を使っているシステムにはこれがそもそも限定的です。
なので、「有能な承認者のリスト」がある前提のシステムは非常にシンプルな議論になります。非常にこれが分散システムの難しさです。

機能Fのインターフェース=FD(diffuse拡散(同期機能でもある))+KT(key and transaction)
FD=拡散。有効化されたパーティーはいつでも内容を受け取れる着信文字列(メールボックス)を持つ。パーティーはさらに拡散を指示でき、すると、各パーティーの着信文字列に追加される。ラウンド(スロット)ごとに機能し、スロットごとに一回拡散できる。有効化された全てのパーティーが拡散しないとラウンドは進まない。
・攻撃者はアクティベートされると、機能と対話する可能性がある。・(すべての受信トレイとすべての拡散リクエストを読み取り、任意の順序でメッセージを受信ボックスに配信できます。)
・ラウンドの終わりには全ての受信トレイのすべてのメッセージが拡散されたようになる。(ただし順序がずれている可能性がある)
・現在のスロット番号は誰でもいつでも要求できる
・もし特定のスロットでメッセージを取得しなかったらそれがメッセージにかきこまれ、ソレはフラッシュされます。
KT=鍵と取引。鍵はそれぞれ初期化される。
・システムも、敵対者も、空のメッセージを受け入れ対応ユーザーUを破損と認識する。
・登録された公開キーを持たない破損したユーザーの場合、この機能により、攻撃者は公開キーを設定できます。
・正直なユーザーのために、機能は公開/秘密キーのペアをサンプリングし、デジタル署名アルゴリズムに基づいて記録します。
・キー生成には2つのモード;
・理想モード;鍵生成は理想的な署名機能のインスタンスに外注
・リアルモード;実際のデジタル署名アルゴリズムが使用
・破損したユーザーの公開キーは、そのようにマークされます。その後、次のアクションのシーケンスが実行されることがあります。
(i)ユーザー;機能がそれに応じて応答するメッセージの署名または検証を要求でき、署名要求はそれぞれのキーの所有者のみに制限されます。
(ii)公開鍵のディレクトリ全体が要求→機能は要求元のユーザーに返す
(iii)環境からのメッセージ(Create、U、C)によって新しいユーザーを作成するように要求;機能は上記と同じ手順に従います。Uの破損ステータスに関して敵に考慮+破損ステータスに応じて公開鍵と場合によっては秘密鍵を設定+提案された初期状態としてCを保存→機能はその後環境に公開鍵を返す。
(iv)既存のユーザーは、メッセージ(Corrupt、U)を介して攻撃者によって破損するように要求される場合があります。Dスロットの遅延後にのみ破損できます。リアルモードで実行している場合、破損は秘密キーを敵に明らかにする効果があることに注意。いずれにせよ、攻撃者は破損したパーティの署名インターフェイスにアクセスできます。
その他の機能;機能Fによって課される制限を超えて環境Zから許可をされれば不正は可能。ただし、全ての人ではなく、一定の割合のみ敵対者はコントロールできる
破損した利害関係者Uは、ステーク全体をAに放棄・攻撃者は利害関係者Uの代わりにアクティブに。
Fの制限を超えて、プロトコル実行を実行している環境Zからmessage (Corrupt,U) の許可が与えられている場合のみ、攻撃者はステークホルダーを破損させることができる。
最初の利害関係者セットとそれぞれの利害関係者については、敵対者はαのみ制御できるよう制限される。(α初期制約敵対者という)

要約;
・各スロットsljにおいて、環境Zは希望するステークホルダーの任意のサブセットをアクティブにすることが許可されています。 それらのそれぞれはおそらく他のステークホルダーに送信されることになっているメッセージを生成するでしょう。
・敵対者は、少なくとも各sljの最後の実体として(およびすべての敵対者のアクティベーション中に)アクティベーションされる。
上記モデルから、プロトコルの詳細を考慮し、環境を適切に制限しないと、敵対者に広範な権限が与えられており、セキュリティは全く主張できない状態であることは明らかです。そのため、環境に課す制限を以下に示します。

ここからついていくのが本当にしんどいですが、
・シンプルに言えば、理想的な機能Fは、通信する機能DF鍵を扱う機能KTの2つです。このシステムのやることは、通信して、鍵を管理しているだけ、ということです。
・さらに随所に攻撃者が機能と連携して破壊活動できます、という文から分かるとおり、この状態では一切安全とは言えません。そのため前提である「環境」を定めてあげる必要があります。

Restrictions imposed on the environment.環境への制限
環境の責任=正直なパーティーをアクティベーションさせる
以下の制約
①各スロットには少なくとも1つの正直なパーティーがいる。
②k=正直なパーティーがオフラインになっても良い最大数。+プロトコル開始後に作成された正直パーティーの選ぶ初期チェーンは前のスロットでアクティブだった誠実なパーティーのチェーンと同じ。

③環境は、取引データを全てのパーティーに配布し、p2pネットワーク内の拡散機能の影響に倣う。
取引データ(各ステークホルダーによる署名要請を含む)=プロトコルに指定され環境から取得される。

・各スロット=slr
・各アクティブステークホルダー=Uj
・ステークホルダーのビュー=次の形式の公開鍵とステークペアのセットSj(r)∈{0,1} *×Nが含む。
・nr=Ujの見解による、そのスロットまでに紹介されたユーザーの数
・対応する利害関係者が破損している(または遅延した敵対者によって破損しているとマークされている)→公開鍵は「破損している」とマークされます。
・破損鍵の総ステークスを総ステークスΣisiで割った値が1 /2-δ未満であることが成り立つ場合、敵対者は特定の実行においてパラメータδ> 0の範囲内で(1/2  – δ)に制限されると言える。
・対応する利害関係者が破損している場合、公開キーは「破損」としてマークされます。
(または遅延した敵によって破損しているとマークされています)。
・この概念が実行の性質であることと(1/2ーδ)で初期化された敵対者の性質との間の違いに注意してください。(起源ブロックに現れる初期分布)
・上記に違反すると、イベントBad1 / 2-δが起きた!という。
⑤ステークの移動は短期間で制限される。正直なパーティーによって採用されたチェーンは近くのステーク配分のシフトは制限される。
上記の仮定は非常に保守的で、実際はもっとオフライン期間が長くても大丈夫です。
性質Qが成り立つとき、同時に、QBad1 / 2 −δも無視できない確率で同時に成り立ち、敵対者とBad1 / 2 −δを引き起こす環境を排除する。

ここもほとんど何を言っているのかわからないと思いますが、シンプルにいうと、Bad1 / 2 −δが起きたら大変で、ざっくり言えば、過半数以上のステークが悪いステークだと大変だ、ということです。

では、準備ができたので分析してみます。あまり深入りしません。

よりシンプルに分析すべく、モデルを4STEPに分割する。
k=不変元帳の一部になるため、メッセージの上に持っているべきブロック数
ε, σ=ステークの変化;最初は(1/2  – ε)実行中は(1/2  – ε – σ)を限界とするσ以下のステークの変化は十分に短い機関にて発生する。
→つまり開始時点で、敵対ステークが(1/2  – ε)だったらBAD。実行中に(1/2  – ε – σ)になったらBAD
D=敵対者に課される破損遅延=実行中に対応する「破損」メッセージが生成された後に正直な利害関係者が破損するまでのスロット数
L=システムの時間で、スロット単位で測定
R=スロットで測定されたエポックの長さ
・全てにおいて参加者は理想機能FLSを利用でき、それは利用可能なリソース取得を可能にする

まずは新しい定義を色々行います。

(1)静的ステーク。D=L=R。初期のままのステークでエポックの分割もなし。環境制限により、1/2 −ε以下の敵対的ステークホルダーはありうる。FLSよりρについてステークに応じたリーダー選出が行われる。m個の鍵のサブセット選出し、Rにおいて圧倒的確率で正直多数の委員会を形成する。最長チェーンルールより、敵対者はフォークが可能となるが、定理4−24から、(隠れた敵はセクション6にて)新規組み合わせ理論より、k共通接頭辞とならない確率は指数関数的に√kで低下することを証明する。

(2)ビーコン、敵対的先読みE、R個のスロットのエポック期間、および遅延D≒2R Lを用いた動的ステーク
鍵=複数の呼び出しにおける連続的な構成
ビーコン=規則的な間隔で一様にランダムな文字列を発信する信頼プロトコル(スロット{(j − 1)・R + 1、…、j R}の間に、後続のエポックのためのリーダー選挙機能をシードするj番目のランダムなストリングを明らかにする。)
「敵対的先読み」パラメータE=正直な当事者にさらされる前に乱数ビーコンを敵対者Eスロットに公開するとする。
静的ステークとの違い=ステークの分布は変更が許可され、ブロックチェーン自体から引き出されること=(j≧2​​の)j番目のエポックの間に採用されたステークの分布が、適切なパラメータkに対して(j − 1)・R − kより小さいタイムスタンプを有する最新のブロックによって決定されることを意味(kは後ほど正確な公式が与えられる)=環境を通じて取引をステークホルダーに転送される
プレイヤーは、投稿された取引を、自分が維持しているブロックチェーンベースの元帳に組み込みます。
新アカウントに対応のため、FLS機能は新​​しい(vk、sk)をオンデマンドで作成し、新しいパーティーUiに割り当てる=具体的には、財布として公開鍵秘密鍵についてFLSとやりとりし新しいパーティーを作成可能。(これを敵対者が邪魔し破壊し自分の公開鍵を共有してしまうことができるリスク・敵対者が破損アカウントを使ってトランザクションを作成することもできる)
・ステークの分布はσだけずれても問題ない。また、(1/2 +ε+σ)が正直なプレーヤーであることを前提とする。→過去の分布から、正しいステークの分布の推定をできる
セキュリティ証明=静的ステーク証明で示された基本ケース付きのエポック数L / Rの帰納的結論=敵対ステークに縛られる(1/2  – ε – σ)はセキュリティとして十分と結論づけられる。
(そして委員会の規模mを克服するために選択されるべきである)。システムの寿命がそのような数の連続するエポックを含むことを考えると、サイズln(L / R)の付加項も含まれる。
破壊遅延はD2Rに設定され(実際にはEとkの関数としてより正確に設定することができます)、攻撃者が瞬間的でない限り適応攻撃を実行することを可能にします。

(3)ビーコンなし動的ステーク
MPCよりビーコンを無しにする。正直なステークホルダーが選出されることが保証されれば、シンプルなMPCとできる。(ただし、エポックの長さがMPC可能な長さの必要がある。また、セキュリティの観点からは、敵対者が先にこの出力を知る可能性を加味して考える必要がある。)

(4)入力の承認者、ステークの委託、匿名性

①入力の承認者;2層のトランザクション承認を作成する。;利己的マイニングに耐える・正直な行動がおよそナッシュ均衡となることを示すことができる。スロットリーダーと同じ方法でスロットに割り当てられ、その人のみがブロックに含めることができる。
②ステークの委託;ステークプールを作成できる
③匿名性;分析上の破損遅延要件を除くことができる、オンライン時間要件はただし増加する。

分析はいきなり現実に近いステークが飛び交うところから始めると大変なので、まずは簡単にステークが動かないところからゆっくり分析して、最後に複雑なケースを扱っています。

そしてここから永遠と証明が始まりますが、大胆に端折ります。

ここで壮大な証明が行われていきますが、すべて扱えないので、私の主観で一部ピックアップします。「定義」などがたまにSNSで話題になると思うので、そういうやつだけ軽く挙げます。

■おそらく一番大事な定理5.5

Theorem 5.5. Fix parameters k, l, E, ε, σ, R, and L, where R ≥ 2k + 4l and L is an integer multiple of R. Consider an execution E of Π[πDPoS,πDLS] with lifetime L coupled with a (1/2 − ε)- initially-bounded adversary A with corruption delay D = 2R and environment Z exhibiting a stake- shift of σ over l slots. Then persistence, with parameter k, and liveness, with parameter u = 2(k+l), are violated with probability no more than
ε := L · [exp(−Ω(√k)) + O(exp(−2ε2l))] + εH + (L/R)εDLS + εDSIG .
Here εH denotes the probability of a collision occurring among the queries to H (including those of A), εDSIG is the distinguishing advantage of tance of the DSIG implementation. The above the digital probabilities signature implementation, εDLS is are in the conditional space ¬Badthe dis- 1/2−ε−σ.

定理5.5。 パラメーターk、l、E、ε、σ、R、およびLを修正します。ここで、R≥2k + 4lおよびLはRの整数倍です。ライフタイムLをaと結合した] [πDPoS、πDLS]の実行Eを考えます。 1/2-ε)-破損遅延D = 2Rの初期バウンドの敵Aと、lスロットにわたるσのステークシフトを示す環境Z。 次に、パラメーターkを使用した持続性とパラメーターu = 2(k + l)を使用した活性は、最大で次の確率で違反します。
ε:= L・
[exp(−Ω(√k))+ O(exp(−2ε2l))] +εH+(L / R)εDLS+εDSIG。
ここで、εHはH(Aのクエリを含む)のクエリ間で衝突が発生する確率を示し、εDSIGはDSIG実装のタンスの際立った利点です。 上記のデジタル確率シグニチャの実装、εDLSは条件付き空間¬Badthedis-1 /2-ε-σにあります。

つまり、最初に設定した過半数以上は良いステークだよね、あたりの前提内において、安全性指標であるUとKが満たされた、というようなことを言ってます。

■定義集

・n個のステークホルダーU 1、…、Unの固定集合は、プロトコルを通して相互作用
・プロトコル開始前に、Ui は si ステークを持つ。
・Uiに対して、所定の署名方式のための検証鍵および署名鍵ペア(vki、ski)が生成される。
vkiは全てのステークホルダーが知っている。
・Definition 4.1(Genesis Block)=B0=①公開鍵により識別されたステークホルダーリスト②各々のステーク(vk1,s1),…,(vkn,sn) ③補助情報ρ(ρ;スロットリーダー選出のシードに利用される)
・Definition 4.2 (State). =string st {0,1}λ.
・Definition 4.3 (Block). =ブロックB (スロット sl {1,…,R} から生成)= ①現在の state②data d {0,1}③スロット番号sl③署名σ = Sign sk(st, d,sl) =Uに対応するskのもとで計算されたもの
Definition 4.4 (Blockchain). B0のブロックチェーン=厳密に増加する一連のスロットで接続された一連のブロック(B1,…,Bn)、でBi=H(Bi-1)を満たすもの
・Definition 4.5 (Epoch).=集合S = {1,…,R}=R個の隣接スロット

・Definition 4.6 (Adversarial Stake Ratio)=α=(∑jUA sj)/(∑ni=1 si)=
UA=敵対者Aにコントロールされる敵対ステークホルダーの集合

n=the total number of stakeholders
si stakeholder Ui’s stake.
・Definition 4.7 (Leader Selection Process)ステークホルダー分布のS = {(vk1,s1),…,(vkn,sn)}, (D,F)におけるリーダー選出過程=分布+関数
・関数=ρ←Dのとき、すべてのslj{sl1slR}に対して、FSρslj)はpi = si /∑nk=1 skの確率(ステークの保有率)でUi{U1Un}を出力する。(si Uiの保有ステーク・確率変数{F(S, ρ,slj )}は独立・この結果はスロット間で独立)
・Definition 4.8 (Valid Transaction)=(tx, σ)は以下が成立すればVにより確認される取引
・tx=取引テンプレート=「vk1は、シリアル番号snのxコインをvk2へ転送する」(vk1は現在のステーク分布SおよびxZに含まれる検証鍵)
・vk1=現在のステーク分布SおよびxZに含まれる検証鍵
・Vrfvk1(σ, tx)=1.
・元帳に、同じシリアル番号snの同じ利害関係者から発行された2つの取引を含めることはできません。
Definition 4.10 (Characteristic String).;The characteristic string w {0,1}n of S =「the adversary controls the slot leader of slot i + k. 」→「wk=1」(1以外なら正直ステーク、1なら敵対ステーク)
 前提;Fix an execution E with genesis block B0, adversary A, and environment Z.Let S = {i + 1,…,i + n} denote a sequence of slots of length |S| = n.
Definition 4.11 (Fork).=F w=Fはストリングwのフォーク= rooted tree F = (V,E) with a labeling l ・ V → {0,1,…,n}
・Let w {0,1}n and let H = {i | wi = 0} ;正直なストリングの集まり
• each edge of F is directed away from the root;
• the root r V is given the label l(r)=0;
• the labels along any directed path in the tree are strictly increasing;
• each honest index i H is the label of exactly one vertex of F;
• the function d : H → {1,…,n}, defined so that d(i) is the depth in F of the unique vertex v for which l(v) = i, is strictly increasing.
(Specifically, if i, j H and i
Definition 4.12 (Tines, depth, and height)
・depth(v);頂点vに対するvで終わる最も長いユニークな枝
・vは枝t上の終端頂点
・フォークor枝の頂点vが敵対(ストリング;敵対)・正直(ストリング;正直or空)か
・We borrow the “truncation operator,” described earlier in the paper for chains:
・for a tine t we let tk denote the tine obtained by removing the last k edges;
if length(t) ≤ k, we define tk to consist solely of the root.

■Covert Adversaries秘密裏の敵対者とは?

・定義4.11フォーク概念=敵対的なスロットリーダーが単一のスロットに対して複数のブロックをブロードキャストする可能性を反映(同時に複数のチェーンも)
→たくさんチェーンを作る→敵対者にプロトコルを妨害する重要な機会を提供しつつ、疑わしい「監査証跡」もある。
少ないチェーンで隠れて作る証拠が残りづらい。

こういう攻撃をする人を、Covert Adversaries秘密裏の敵対者という。

■匿名プロトコル拡張の説明 Anonymous Communication and Stronger Adversaries

前項では、遅延適応破損に対して安全であることが証明=破損リクエスト後、それが起こるまでにDスロットまつ必要がある=Dは標準適応型敵対者に対応するためできるだけ小さい必要がある
リーダー選挙スケジュールの知識に直接対応してパーティーを破損させることが出来きてしまい、(そのスケジュールはエポックごとにプロトコルが決定するため、その破損は壊滅的なものになるため)遅延が必要。
・スロットリーダーは公開鍵をステークに応じて選択、敵対者は公開鍵はわからずユーザーUiの破損するのみしかできない。どこ公開鍵がユーザーUiであるかを通信で観察する必要がある。スロットリーダーに選ばれるかを監視する。
→この点、送信側の通信を匿名とすることで、この監視をできなくし、Dスロットの遅延を排除できる。
→理想機能Fに次の変更を追加
・DF;右記以外は、セクション2のように機能する。受信者Urの受信トレイ配信前、送信者の情報を全てのメッセージから削除して回る。実際はMix-networks [19] or DC-networks [20] の実装
・KT;右記以外は、セクション2のように機能する。敵対者メッセージ受信時(Corrupt,U)、すぐ破損が可能となる。
環境Zを次に変更;すべてのスロットsljですべてのユーザーをアクティブに。=正直ステークと同数の匿名セットを入手=攻撃者が公開鍵とユーザーの紐付けを困難にする次のようにして、定理5.5の破損遅延要件Dを削除できます。

つまり、匿名性は安全性を高めるということです。

おそらくここが一番読んでいて楽しい章かもしれません…基本的に読んだ通りです。定理5.5がちらほら登場していると思いますので、やはり前で挙げた定理5.5は大事なのだと思われます。

Ouroborosへ考えうる12の攻撃パターンについて記載されます。

(1)Double spending attacks

ネットワークで確認された取引を元に戻すことを望む。
1回支払ってその取引を確認し、元に戻す取引をさらに元帳に入れて戻す取引。定理5−5が成り立つ前提の上では不可能。つまり一旦誠実なプレイヤーにより確認された取引については他の誠実なプレイヤーによって意義がでない。

(2)Grinding attacks

POS特有。スロットリーダーの選択プロセスに影響を与えリーダーに選出される可能性をあげて攻撃。
コイントスプロトコルより、生成されたランダム性に影響を与えることができず一様にランダムであり、ステークに応じて選ばれることは保証される。

(3)Transaction denial (censorship) attacks

特定の取引が確認されないようにすることを望む(例;特定の口座を標的とし、口座名義人が外向きの取引を発行するのを防ぐことを望む)
定理5−5が成り立つ前提の上では不可能。トランザクションがネットワークによって十分な数のスロットに挿入されようと試みられるならば、それが最終的に確認されることを確実にする。(Liivenessの要件)

(4)Desynchronization attacks

ステークホルダーは誠実に行動するが、タイミングの悪いブロック発行やオフライン状態変化が起こり、タイムサーバへのアクセスやパーティ間同期のメカニズムを妨げて行う可能性がある。メッセージ遅延を長くし、非同期化が起こる可能性もある。特に敵対者を組み込み非同期化させることが可能となっており、50%以上のパーティを非同期化した場合、失敗する可能性がある。★これはPraosを参照すること。

(5)Eclipse attacks

ピアツーピアメッセージ配信メカニズムの破壊により、株主へのメッセージ配信は侵害されます。
Desynchronization attacks同様、敵対者をパーティーに組み入れた場合、攻撃可能とな理、組み入れたパーティーには活力と持続性は保証されない。

(6)51% attacks

敵対者がシステムの大部分の賭け金よりも多くを制御しているときに発生します。
その状態になった場合フォーク可能となることがすぐわかり、正直なステークホルダーは長期別のフォークに置かれる可能性があり、活力と持続性の両方は保証されない。

(7)Bribery Attacks

特定のブロックやフォークに取り組むために故意に鉱山労働者に支払い(特定のブロックやフォークを使って)、敵対者に利益をもたらす任意のフォークを生成することを目指します(たとえば、二重支出攻撃のサポートによる)
POW’だと実行可能。ブロックを正直に生成するよりも、高い賄賂を提供すれば、参加するインセンティブが生まれる。
POS’①攻撃には大量のステークが必要②攻撃がわかればステークの価値は下がる。つまりインセンティブより賄賂が高くても相殺されるほどの損害があたえられる。
→ただ、正式にこの攻撃パターンの全てを網羅していないので、研究中。

(8)Long-range attacks

後の時点で2倍支払いをかけたいと望む攻撃者は、プロトコルに積極的に参加している単一の利害関係者である発生ブロックの直後から始まるより有効な連鎖を計算することによって、長期攻撃[14]を仕掛けることができます。
2つの理由により無効となる
①πは多数のステークホルダーが参加した場合のみプロトコルを継続できる有効なリーダー選択データを提出する。
②πはかなり前に作成されたチェーンは拒否される
代替チェーンは、ステークのごく一部を制御する攻撃者によってのみ生成されるブロックおよびプロトコルメッセージを使用して人工的に生成されるため、新しいエポックを開始するために必要なリーダー選択データは他のノードによって無効と見なされます。

(9)Nothing at stake attacks

PoSブロックチェーンを構築するのにほとんど計算量が必要でないという事実を悪用して、複数のブロックチェーンを同時に続ける株主によって促進されるPoSブロックチェーンシステムに対する攻撃を指す。
ステークホルダーがオンラインであれば、 ①analysis of forkable strings(敵対者があらゆる戦略を行なっても、実行可能なものはない。)②チェーン選択ルール(前回オンライン時から昔のフォークは無視される)により処理される。
また、POWとは違い、二人のステークホルダーによって本格的にフォークを作成することは不可能(スロットが一意に割り当てられているため、ブロックチェーンを進めるために選出される一意に識別される単一の株主が常に存在するため)
一部のPOSでは“tragedy of commons”;ステークホルダーが攻撃を止めることができず、攻撃に加わらなくても経済損失を招く可能性があり、それを見越して、代替通貨での少額の賄賂で攻撃に参加してしまう、ということを招く。
ウロボロスのインセンティブ構造では、攻撃に加わる可能性のあるスロットリーダーと支持者はメインチェーンを敵対チェーンの両方で報酬を受け取ることになるだろうため、結果、攻撃に参加しても高い利益が達成できない。
Vitalik Buterin. Proof of stake faq. https://github.com/ethereum/wiki/wiki/Proof-of-StakeFAQ, 2016.

(10)Past majority attacks

現在のステークホルダーの大多数だけが正直、というのが仮定。
すなわち過去のアカウントキーが危険となる可能性がある。
過去の悪意のある株主がこのような古いアカウントを悪用した代替のブロックチェーンを構築する可能性があり、そのようなブロックチェーンを構築するのは簡単であるという事実から、これはあらゆるPoSシステムに潜在的な脆弱性をもたらします。
定理5.5に照らして、このような攻撃は、システムの進化を観察するためにオンラインでは頻繁に行われていない株主、またはステークシフトが定理の前提条件によって予想されるものよりも高い場合にのみ起こり得る。
これは、攻撃者がもはやシステムのいかなる利害関係も所有していないため、攻撃を行う際に金銭的損失がないという特別な問題があることを示しています。
Nothing at stake attacksの特別版

(11)Selfish-mining

攻撃者はブロックを差し控えて、正当に生成されたブロックをメインチェーンから落とそうと戦略的にそれらを解放します。
このようにして、攻撃者はチェーンの成長を抑制し、敵対的に生成されたブロックの相対的な割合を増加させます。
正直者より敵対者の方が報酬を高くもらえるため、これは深刻。
Ouroborosにおいては無効化。
ブロック生成者の貢献がステークに比例するので、報酬の分配はブロックを差し控えることにより影響を受けない。

量子耐性について少し述べます。気づいたかもしれませんが、新ロードマップ になり量子耐性という言葉が消えました。

これはCardanoが量子PCに敗北したということでしょうか?
少し述べたいと思います、

結論としては、現段階では研究中です。

ビットコインをまずベンチマークとして量子耐性が徹底的に研究されました。Ouroborosバージョンがまた後日出るでしょう。

サブ元帳の実装・具体的な攻撃パターンの特定・その対策

といった形で対策は進める予定ですがそもそも量子PC自体が(もちろんプロトタイプや暗号通貨を破るには不完全な性能の量子PC製品は出ていますが)開発途上のため述べられることはあまりありません。

現在は量子PCへの耐性を完全に備えたと主張するために、具体的に量子PCに何ができるのか?その量子PCの開発の方向性を睨みながら研究を進めている段階です。

チャールズさん曰く、現状ではBTCといった単純なプロトコルを量子PCが打ち破る可能性はあるが、複雑なプロトコルを破る力はまだないだろうとのことです。

実際、量子PCは非常に単純な処理を大量に行うことは得意ですが、現状、複雑な処理を大量に行うことは得意ではありません。

しかしながら量子PCも進化していくので、その脅威に備えることはもちろん大切です。

差し迫った危険はないですが、研究を進めます、という形です。

匿名性は犯罪を助長する!という論調が多いですが、実は匿名性は安全性を強化します。

理由はシンプルで、

①攻撃対象が不明であれば、攻撃者が攻撃できない(しづらい)

②ノードが匿名だと政府や国連が取締ることができない(検閲耐性)

からです。

匿名性は規制とのトレードオフとして取り上げられやすいですが、安全性の観点からも考えなければなりません。

The Bitcoin Backbone Protocol Against Quantum Adversaries

October 2019, EPrint Archive

Decreasing Security Threshold Against Double Spend Attack in Networks with Slow Synchronization

Lyudmila Kovalchuk,Dmytro Kaidalov,Andrii Nastenko,Mariia Rodinko,Oleksiy Shevtsov,Roman Oliynykov

March 2019, CryBlock 2019

Leakage-Resilient Cryptography from Puncturable Primitives and Obfuscation

Yu Chen,Yuyu Wang,Hong-sheng Zhou

February 2019, Asiacrypt 2018

Memory Lower Bounds of Reductions Revisited

Yuyu Wang,Takahiro Matsuda,Goichiro Hanaoka,Keisuke Tanaka

February 2019, Eurocrypt 2018

Impossibility on Tamper-Resilient Cryptography with Uniqueness Properties

Yuyu Wang,Takahiro Matsuda,Goichiro Hanaoka,Keisuke Tanaka

February 2019, EPrint Archive

A Formal Treatment of Hardware Wallets

Myrto Arapinis,Andriana Gkaniatsou,Dimitris Karakostas,Aggelos Kiayias

January 2019, Financial Cryptography 2019

The Combinatorics of the Longest-Chain Rule: Linear Consistency for Proof-of-Stake Blockchains

Erica Blum,Aggelos Kiayias,Cristopher Moore,Saad Quader,Alexander Russell

October 2018, SODA20

Ouroboros-BFT: A Simple Byzantine Fault Tolerant Consensus Protocol

Aggelos Kiayias,Alexander Russell

October 2018, EPrint Archive

Ouroboros Genesis: Composable Proof-of-Stake Blockchains with Dynamic Availability

Christian Badertscher,Peter Gaži,Aggelos Kiayias,Alexander Russel,Vassilis Zikas

October 2018, CCS 2018 (ePrint Archive)

Formal specification for a Cardano wallet

Duncan Coutts,Edsko de Vries

September 2018, IOHK

Account Management and Stake Pools in Proof of Stake Ledgers

Dimitris Karakostas,Aggelos Kiayias,Mario Larangeira

August 2018, IOHK

MARS: Monetized Ad-hoc Routing System (A Position Paper)

Berndardo David,Rafael Dowsley,Mario Larangeira

June 2018, CryBlock’18

Stake-Bleeding Attacks on Proof-of-Stake Blockchains

Peter Gaži,Aggelos Kiayias,Alexander Russell

April 2018, Crypto Valley’18

Ouroboros Praos: An adaptively-secure, semi-synchronous proof-of-stake protocol

Berndardo David,Peter Gaži,Aggelos Kiayias,Alexander Russell

June 2017, Eurocrypt’18

SCRAPE: Scalable Randomness Attested by Public Entities

Berndardo David,Ignacio Cascudo

March 2017, ACNS

Fireflies: A secure and scalable membership and gossip service

Havard D Johansen,Robbert Van Renesse,Ymir Vigfusson,Dag Johansen

November 2016, acm.org

Blockchain Mining Games

Aggelos Kiayias,Elias Koutsoupias,Maria Kyropoulou,Yiannis Tselekounis

October 2016, arXiv.org

Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol

Aggelos Kiayias,Alexander Russell,Berndardo David,Roman Oliynykov

September 2016, CRYPTO’17

Fair and Robust Multi-Party Computation using a Global Transaction Ledger

Aggelos Kiayias,Hong-Sheng Zhou,Vassilis Zikas

March 2016, EPrint Archive

結論からいうと、Cardanoにおける正確性は①理論面②実装面から数学的に担保されています。

他のプラットフォームも、うちは正確だ!と主張しています。
この違いは何でしょうか?
2つの視点から考察できます。

1 「理論面」における正確性の根拠は何ですか?


.
Cardanoは数学的な一切曖昧さのない証明を行った後に、その証明過程をこの世にある学会の上位4%の最高峰のランクの学会の専門家による査読を受けています。

・主要なシステムOuroboros関連(Ouroborosクラシック;Crypto17学会、OuroborosPraos; Eurocrypo18学会、OuroborosGenesis;CCS2018学会)は、最高峰A✴︎(上位4%以内)の学会で承認(学会ランク格付ページ


SNSやHPやカンファレンスでの発表、内部で作ったのみで第三者の査読を受けていない論文、査読を受けているが最高峰の学会ではない論文を持って正確性を主張するプロジェクトが多いことに気をつけてください。

2 「実装面」における正確性の根拠は何ですか?


.
Cardanoは理論的に正確性が担保された論文を元にプロトタイプ・技術仕様・形式手法・関数型言語を駆使し、論文の内容通りの実装が行われている点を数学的に確認しながら実装を行っています。

1)プロトタイピング→試作を繰り返して技術使用を生み出す
2)技術仕様→機能性と動作の設定された技術仕様で、「理論」と「実装」の一致を確認する。
3)形式手法→飛行機、宇宙船、大手銀行といった絶対に間違いが許されない業界の開発手法。
4)関数型プログラミングHaskell→他の言語より曖昧さがなく、数学的にテストが容易。

コードがそのプロジェクトの論文やビジョンを適切に反映していることを数学的に証明できていないプロジェクトが多いことに気をつけてください。

■ブロックチェーン界でNo1の論文数:53以上の論文作成

学会では、論文は提出者も査読者も匿名で審査されます。これはIOHKの論文だからといってお金を回して贔屓させたり、圧力をかけたりできないようにするためです

■特に重要なOuroborosファミリーの論文が実際に査読済みであることを確認できるサイト
(1)Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol CRYPTO’17

CRYPTO’17ホームページ


(2)Ouroboros Praos: An adaptively-secure, semi-synchronous proof-of-stake protocol Eurocrypt’18

Eurocrypt’18ホームページ

(3)Ouroboros Genesis: Composable Proof-of-Stake Blockchains with Dynamic AvailabilityCCS 2018 (ePrint Archive)

CCS 2018ホームページ

■他の重要な論文(すべて最高ランクの学会)
Leakage-Resilient Cryptography from Puncturable Primitives and ObfuscationFebruary 2019, Asiacrypt 2018
Ouroboros Crypsinous: Privacy-Preserving Proof-of-Stake, IEEE Symposium on Security and Privacy
Memory Lower Bounds of Reductions RevisitedFebruary 2019, Eurocrypt 2018
Sonic: Zero-Knowledge SNARKs from Linear-Size Universal and Updateable Structured Reference StringsFebruary 2019, ACM Conference on Computer and Communications Security ACM CCS 2019.
Proof-of-Stake SidechainsJanuary 2019, IEEE Symposium on Security and Privacy
A Treasury System for Cryptocurrencies: Enabling Better Collaborative IntelligenceDecember 2017, NDSS’19

結論からいうと、Cardanoにおける達成力は①開発活発度は常に全通貨で圧倒的1位であり②資金は財務システム(「持続性」のプルダウン参照)により確保されます

Github等から客観的に計測された開発活発度の指標は、Cardanoは常に全通貨中「圧倒的」1位の開発活発度ですsantiment

1 時価総額上位100通貨の開発活発度を並べると、ADAはどれぐらいですか?


.

santiment

 

2 開発活発度上位順を並べると、ADAはどれぐらいですか?


.

santiment

 

3 研究開発活動として論文数はどれぐらいですか?


.

Cardanoは常に全通貨中「圧倒的」1位の開発活発度です

2位はいつ見てもETHですが、2019年10月16日時点ではETHより2倍以上開発が活発です。
・時価総額順

・開発活発度順

・更にわかりやすいように、他の通貨の何倍CardanoADAの開発が活発か示すと、
BTC の6.59倍
ETH の2.15倍
XRPの 28.23倍
BCHの 274.92倍
BNBの 497.47倍
EOS の3.88倍
XLM の5.89倍
TRXの 10.62倍
XMRの 33.06倍
HTの 40.49倍
LINKの 8.17倍
MIOTAの 7.18倍
DASHの 33.80倍
ATOMの 4.22倍
NEOの 17.91倍
MKRの 13.89倍
ONTの 37.44倍
DOGE の10447倍
BAT の15.68倍
ZECの 39.27倍
PAXの 117.38倍
HEDG の5223.49倍
VET の180.12倍
TUSD の2089.39倍
ZRX の4.35倍
QTUM の29.42倍
・多くのサイトは単にコミット数だけを集計したものも多いですが、santimentは、PRs, comments, wiki edits, 機能しているrepositories数を総合的に加味しているので、かなり実態に近い数値が集計されています。

■うーん…適当にGithubをいじって開発活発度を多く見せているだけじゃないの?と思う人は、「カルダノアップデート」というサイトでは現在進行形でCardanoコミットが増えていく様子を見ることができます。

結論からいうと、Cardanoは、①メカニズムとして、他のプロジェクトの100倍、1000倍、理論的には無限に分散化可能であり②参入障壁として、ほぼ世界中のいかなる人間であっても分散化システムのなかに入ることが可能(かつ数学的に証明済)です。

他のプロジェクトも分散性がある!と主張しています。
データベース(ブロックチェーン)関連での分散性=主に、データベースをメンテナンスする人が「だれか」ではなく「みんな」であること
なので、つまり、みんな、でデータベースをメンテナンスできるよ、ということですが、
この違いは何でしょうか?
この違いは2つの視点から考察できます。

1 量的分散化ー他の1000倍、理論的には無限の分散化可能(数学的に証明済)


.

正確には、「Ouroborosはゲーム理論的にどれぐらい分散化するかを設定することができる(かつ、そのことを数学的に証明済)」ということです。

現在Ouroborosは最終的に「1000人が各々0.1%のパワーでメンテナンス」(1人が99.9%分のパワーで999人が0.1%分のパワーでメンテナンスではなく)となるよう設計しています。
このプール数は「いくつ以上なら分散化されている」かという絶対的な定義はありません。将来的に1万や100万の同じぐらいのパワーを持つプール数が誕生する設定にも変更可能です。

他のプロジェクトで分散性と話される時、それがゲーム理論的に本当にどれほど分散化されるものなのか注意をしてください。

 

2 質的分散化ー参入障壁が低く、ほぼ世界中のいかなる人間であっても分散化システムのなかに入ることが可能(数学的に証明済)


.
仮にメンテナンス者がたくさんいたとしても、メンテナンス者になるための条件が厳しい場合、限られた属性の人たちでシステムがメンテナンスされることになり、質的に分散化されません。

Cardanoデータベースの参加条件は、常時オンラインであること、中程度の(数万円程度の)コンピュータが扱えることで、デポジットは必要なく、匿名での参加も可能であり、参入障壁はほぼゼロです。

・BTCはじめ、POW系列の通貨は非常に強い計算力が必要でその専用の高額な機械に投資できる人でその機械を効率的に冷やせて電力の安い国であるほど有利です。また、BCH・BSVのような大きなブロックを扱う場合、高度なネットワーク速度が必要になります。
・ETHはじめ、多くのPOSでもデポジットと資金のロックが必要です。Ethでは32Ethのデポジットが必要で18時間のロックがあります。
・XRPはじめ、多くのBFT系のコンセンサスでは一定の信用にたるノードのリストを定め、参加制限を課す必要があり、また、個々の信頼性を評価するため、匿名性(規制や賄賂による攻撃に弱くなる危険がある)は失われがちです。

どの仕組みもよく観察すると、高額な投資・特定の地域・匿名性・高速ネット環境など、独特の制限がかかっており、例えばあなたのような一般人が気軽に参加できないものである可能性があることに気をつけてください。

100個のステークプールを目指すとすると、プールAおよびBがそれぞれ0.3%と1.2%のステークとすると、Aは報酬プールの0.3%を受け取りますが、Bは1%しか受け取りません。したがって、プールBは1%のステークとなるように調整されます。そのようにして、各々が自分の利益を考えて行動すると、1%以下の100個の分散化されたステークプールが出来上がるということです。
詳細には、報酬システム解説サイト、もし、英語と数学に自信があればゲーム理論の有名な教授Lars Brünjesの書いた論文を読んでみてください。
非常に美しい仕組みになっています。
【詳細な論文-Reward Sharing Schemes for Stake Pools】(上級者向け)
【報酬システム解説サイト】(中級者向け)

■その他の分散性の証拠
・おそらく世界初、Ouroboros Chronosにて、「時間」も分散的に扱います。

結論からいうと、Cardanoは、①コアシステム追加/変更決定のための投票機能②Cardanoコアシステム開発資金調達機能により今後数千年にわたり持続可能です。

このように掲げましたが、持続性なんてものはあって当然の性質のはずです。
しかし、プラットフォームとして、通貨として、信じられない事態が平然と起きています。

1 コアシステム追加/変更決定のための投票機能


.
Cardanoでは、①最も分散的で②最もCardanoのシステムの成長にメリットのあるADA保有者がコアシステム追加変更の権限を持つ(または詳しい誰かに権限を付与できる)こととしました。

もし、あなたの持つ日本円が、日本円と日本円クラシックに分裂し、そういう分裂騒動が数年に一度は起きていたらどうですか?
日本円でしか決済できないお店と日本円クラシックでしか決済できないお店、そして日本円クラシックキャッシュが登場したらそれにのみ対応するお店…まさに悪夢、何かの冗談のような事態です。
どうコアシステムを変更するかの正式な手続きがないため、暗号通貨・データベース開発の世界ではそれが当たり前の現状です。

システムの成長にメリットを持つ人物が決定すべきですが、開発者/大手マイナー/カリスマ的創業者が談合/独断で決めるのは全く分散的ではありません。特に「発行上限」等の非常に重要な事項がこのような少数の談合で決定されてはいけません。

そこで、Cardanoは上にあるようなやり方を決めました。あなたは直接それに投票することもできますし、一部IOHKのCEOチャールズに、一部EmurgoのCEO児玉さんに委託することも可能です。

2 コアシステム開発資金調達機能


.
Cardanoでは、①最も分散的で②最もCardanoのシステムの成長にメリットのあるADA保有者が、取引手数料から一部徴収してプールされているADAの財務倉庫から、システム開発のための資金を開発者にあげる権限を持つ(または詳しい誰かに権限を付与できる)こととしました。

もし、あなたの持っている通貨、例えば日本円の、開発資金がないため寄付をくださいと毎日日本政府がニュースで頭を下げていたらどうでしょうか?もしくは有志のボランティアが日本円に関するメンテナンスをしていたらどうでしょうか?(Wikipekiaの寄付募集をみてみてください)
あなたの命の次に大事なお金を、そんな不安定な通貨やデータベースにおきたいと思いますか?
どう資金を調達するかの正式な方法がないため、暗号通貨・データベース開発の世界ではそれが当たり前の現状です。

Cardanoは取引手数料から少しずつ財務倉庫にADAを送り、それをCardanoシステムの開発資金とでき、未来永続的に寄付やボランティアに頼らなくても、進化し続けることができます。

結論から言うと、Cardanoは史上初、「分散性」と「安全性」を保持しながら今後数十億人の使用に耐えてなお速くて安くあり続けることが可能となります。

1 安全性と分散性と両立可能なシェーディング


.
Basho期に実装される分散性安全性と両立可能なOuroboros Hydra の「シェーディング」と言う並列処理による高速化(花組・雪組・月組に分かれてデータベースを管理することで3倍速く処理できる技術)でありこれが最大の目玉です。

注意すべきは、分散性と安全性を両立してシェーディングを導入できているプロジェクトはないという点です。そもそもシェーディング自体はAWS等でも普通に行われています。「分散性」「安全性」の両立が極めて難しい技術のため、その点を特に考える必要があります。

2 レイヤーを分けるアプローチ


.
決済層と処理層を分ける、ライトニングネットワークを活用する等、レイヤーを分けて速度を高める予定です。

3 言語の高速性


.
Haskellという高速かつエラーの起きづらい言語により主要なプロトコルやスマコンPlutus/Marloweが作られます。

4 RINAネットワーク


.
分散型に適したネットワークの形で、より安全性を高め、よりシンプルに、より高速にネットワークを行うことができるようになります。

5 その他開発の全工程で高速化


.
高速性は開発の全過程(ライトウォレット・UTXOコイン選定の最適化・)で追及されます。

高速性は、安全性や分散性を犠牲にすれば簡単に手に入る
そもそも高速なデータベースを求めるのであれば「AWS」というAmazonのサービスを使えば十分ですし、ほぼ全てのアルトコインが高速性を売り文句とする中、最も低速のビットコインがなぜ時価総額1位なのか?を考える必要があります。
「この通貨/データベースはこんなに速いからビットコインを超える!」という主張はあまりにも安易で、何も理解していない可能性が高いです。(私もかつてそうでした。)
その通貨 /データベースは分散化されているか?参入障壁はないか?安全性は証明されているのか?
を冷静に見極めてください。

そして、Cardanoはこの点に問題がないことを、再度、プルダウンの安全性分散性正確性のタブから確認してください。

非常に高速かつ安価なDAGという技術があります。
CardanoはDAGか、POS+シェーディングか、の選択において、POS+シェーディングを選択しました。
DAGは確かに高速かつ安価ですが、POS+シェーディングでも高速化は可能で、かつ安全性・分散性・相互運用性を確実に両立できると考えたためです。
この判断は現段階では合理的かと考えています。
今後DAGの研究が進んで、その高速性以外の優位性が次々と見つかった場合は、DAGへの移行も考える、ぐらいでいいのかなと思います。

結論からいうと、Cardanoは「アンチマネーロンダリング・反社会勢力排除のための顧客確認・取引内容の明確化」のため「取引へ身分等のデータの付与・身分等のデータそのものの正確性・税金や取引制限に係る強制執行」を求める銀行や企業や規制当局のニーズを「市場の権利」し、その相互運用を「個人の権利」と両立させて、最大限の適法性を持ちます。

1 「個人の権利」と「市場の権利」のバランス


.
Cardanoは「個人の権利」と「市場の権利」のバランスをとるとの立場に至りました。

【個人の権利】政府金融機関企業が腐敗した発展途上国でも機能させるため、個人の許可なしには政府等が強制的に資産を没収することはできません。この「個人の権利」は徹底的に守られます。
【市場の権利】一方で、市場も個人に取引条件を要求することができるようにしました。個人がこれにOKした場合、個人はその市場のルールに従う必要があります。
例えば、日本のDEX(分散取引所)にADAを預けるとします。この時、分散取引所は「市場の権利」として
・このADAに正確な身分データが伴っており、反社会リストのデータに該当したり未成年のデータの場合、強制返金処理が可能なこと
・特定期間の利益が自動的に税金として日本へ支払われること、あるいは、日本へ適切に納税が行われていない場合、日本規制当局のみが持っている秘密鍵を使用することでADAを強制差押処理することが可能になること
を個人に要求でき、それをOKして分散取引所に参加した場合、この市場のルールに従うこととなります。

ビットコインでは中間搾取の排除のため、身分データを放棄してしまったため、市場が扱いづらくなってしまいました。また、国家に強制差押権を与えるという通貨もありますが、これは腐敗した国での利用にも耐えるというADAのビジョンとは合いません。したがって上記のようなバランス型で進めることとしました。

2 分散型評判システムによるメタデータの正確性の確認


.
最も難しい問題が、「メタデータが正しいことをどうやって、プライバシーを保護しながら確認するか?」です。
田中さんがどうやって本当に田中さんであることを、分散性を守りながら確認するのか、これには絶対的に正確な方法はなく、まぁベター、という方法しかありません。
これに関する1つの構想が、分散型評判システムです。

ADAを使った投票等により、この人だったら信頼できる、という評判を付与していきます。最初はIOHKやEmurgoが評判リストに入りますが、これも徐々に分散化されていきます。
この評判リストで特に評判の高いアカウントによって、田中さんというCardano上のアカウントから田中さんの運転免許証やパスポートが一緒に送られ、身分データの認証が行われます。
この運転免許証やパスポートのデータはHSM等の技術により認証後強制的に削除され、できる限りプライバシーは守られます。
さらに、この分散型評判システムを前提として、Ari Juel教授のTown Crierプロトコルより、スマートコントラクトや他のアプリケーションで使用できる安全なウェブスクレイピングをも可能にします。

結論から言うと、Cardanoは、①規制が問題にならない範囲での機密性を極限まで高め、②規制が問題になる決済層の追跡可能性部分は規制とコミュニティの見解とのバランスを加味した上での機密性(プライバシー保護)に注力します。

この部分は規制とのバランスが非常に難しい領域になり、レベルを分けて、規制が問題となる部分はコミュニティと規制の方向性を読みながら慎重な導入を進めます。

1 規制が問題となる決済層の追跡可能性の機密性以外の問題


.
問題にならない、スマートコントラクト機密性Kachina等により機密性を高めます。

2 規制が問題となる決済層の追跡可能性の機密性


.
既にADAを保有している人々の利害もあるため、研究は査読を終えているものの、これを実際に導入するかは、投票システムでコミュニティの投票により決まります。

また、以下のプルダウンで、機密性は安全性や分散性を守る要素にもなる点、機密性の考え方について日本で常識となっている考え方の問題点、機密性だけを純粋に求める場合、Cardanoは最適ではない可能性がある点についてコメントしています。

■機密性は「安全性」を守る上で大事
単に、「みられたら恥ずかしい」というレベルの話ではなく、機密性は安全性に影響します。
なぜならば、取引が全く匿名状態である場合、ハッカー視点、どこを攻撃すれば良いかわからないからです。
匿名性の低い通貨というのは、その点では、安全性が低いのです。

■機密性は「当然」
「パンツの中にナイフを隠す人物がいるから、みんな全裸で外出してください」
と言われたらどう思いますか?
「別に俺はパンツの中にナイフを隠してないし、全裸でもいいっす」
という人はいませんよね?
「は?何でそんな一部のおかしい奴のために、俺が恥ずかしい思いをしなきゃいけないの?」
と思いますよね?

では、
「マネーロンダリングをする人間がいるから、通帳の中身はすべて公開してください。」
と言われたらどう思いますか?これはなぜか
「別にやましい取引はないから、公開されるのは仕方がない」
という人が多いのですが、状況は上と同じですよね?
「は?何でそんな一部のおかしい奴のために、俺が恥ずかしい思いをしなきゃいけないの?」
と思ってもいいはずです。

さらに言えば、現金より匿名性の高い暗号通貨は開発できません。
暗号通貨は少なくとも財布を持つ人は、どの人に通貨が送られたのか財布を押収すればわかりますが、
現金はわかりません。
マネーロンダリングを防止したいなら、まずは現金を取締るべきとも言えるのです。

■機密性のみを純粋に求めるならCardanoが最適でない事実

他の匿名性に特化したPOWの通貨/データベース群は、CardanoがPOSの仕組み上システムが各ステークの量を把握する以上、Cardanoより原理的には機密性は高くなる可能性がありますが、規制とのバランスが維持できず、持続性を持たない可能性にも留意してください。

また、そもそも、純粋に匿名性だけを最大限高めたい場合は「現金」取引を行うことが一番であることにも留意してください。

結論からいうとCardanoは最も透明性の高くオープンに構築が行われています。

・研究の成果(IOHK論文)
・開発の様子(Github)
はすべて開かれています。ただ、ここまでは他の通貨にも行われています。

1 一般コミュニティメンバーも参加可能なテストネットでの開発


.
・開発がコミュニティを巻き込んだ形で行われます。あなたも今日から参加できます。コミュニティを巻き込んでの開発が行われているプロジェクトはそうそうみません。

2 広く各国に専用のテレグラムが存在し、そこでダイレクトに、その国の言語でコアチームへコミュニティが質問・交流できます


.
日本語の公式コミュニティが存在し日本語で質問交流できるブロックチェーンコミュニティはいくつあるでしょうか?ほとんど英語のみだと思います

3 月1ほどの頻度で、IOHKのCEOチャールズさんや開発陣からのAMA(Ask me anything)(何でも聞いて!)が行われます


.
ここで直接質問を行うことができます。そんなこと普通ありますか…?自分の会社の社長ですら月一で質問ができる人もなかなかいないと思います。何とAMAで今まで行われてきた質問の検索ツールもコミュニティが用意していますので、今まで聞いていなかった人もすべて最初から全部聞く必要はありません。

結論からいうと、Cardanoは論文で、①完全な公平平等性(投資額に対する報酬の率が一定の状態)のあるシステムと、②唯一定量化可能な報酬率によって、数学的に証明されました。

したがって、一部の人がPOSは公平平等ではないと批判しているにもかかわらず、完全な公平性が数学的に証明されています。

1 完全な公平平等性とは、投資額に対する報酬率が一定で、例えば投資額が高いほど、投資額に対する報酬率が高いということがない、ということです


.
(例)以下は、報酬率は1%なので完全に公平平等です。
・100億ADAを持つ人がステーキング報酬で1億ADAを手に入れる→報酬率1%
・100ADAを持つ人がステーキング報酬で1ADAを手に入れる→報酬率1%

2 報酬率が、唯一公平平等性を定量化して数学的に評価できる考え方です


.

上の例では1億倍の収入差があるため、多くの人は直感的に「少しずるい」と感じるかもしれませんが、その「ずるさ」を数学的に公平平等を報酬率以外で定義できません。

例えば、100ADAを追加で投資した人が、5ADAを追加でもらえば、なんとなくちょっと公平でしょうか?
だとすれば、5ADAはどう数学的に導けるでしょうか?
それが4ADAや6ADA、4.99999ADAでは不平等不公平で、5ADAなら平等公平である数学的な根拠は何でしょうか?
何の公式を用いて5ADAを導けば良いでしょうか?

つまり、公平平等性は数学的には報酬率で判断するしかなく、Cardanoは完全に公平平等性を持つのです

関連論文;Cryptocurrency Egalitarianism: A Quantitative Approach
Dimitris Karakostas,Aggelos Kiayias,Christos Nasikas,Dionysis ZindrosAugust 2019, Tokenomics 2019

結論からいうと、Cardanoは計算力ではなくステークの量によりデータベースのメンテナンス者を決めており大きな電力が必要ないため、安全性・高速性・分散性と両立する中で最も経済性が高いです(エコ)。

「環境問題に関心はありません、可哀想なイルカやホッキョクグマに同情したり、涙を流すタイプでもありません、CO2の増加も正直どうでもいいです。」というのが大半の人の態度だと思いますが、私も正直そこまで環境問題には関心はありません。

しかし、そんな私でもProof of Workは、
①量的(小国に匹敵する電力消費量)にも
②質的(それ自体に全く意味のない、何の価値も与えない計算・
その計算機の開発費・その対策の開発費)にも
酷すぎると思えます。

地球環境からみて持続可能出な仕組みとも言えないとして、国家としても推奨しづらいシステムに思えます。

結論からいうと、Cardanoは、安全性分散性高速性を保持した上で、最大の相互運用性を実現します。

相互運用性は主にサイドチェーン技術により生まれます。
現状研究開発段階にありますが、業界で最も多くのサイドチェーン関連の論文を執筆しており、知見が蓄積されています。
さらにAtala等のプライベートチェーンとの相互運用については実際の社会への導入まで進んでいます。

そもそも、万能の通貨はありません。
No1はCardanoのデータベースと考えていますが、No2以降のデータベースと相互運用し、Cardanoのシステム内で使えるようになれば便利です。
・例えば、強い匿名性を持つ機能が、CardanoのメインチェーンのADAで使用できるかはわかりません。
規制上、これを導入しない方が良い、とADA保有者が判断する可能性もあります。
その場合、強力な匿名性を提供するZcash等の通貨と相互運用したいと思うかもしれません。
・例えば、IOTについても Cardanoのチェーンで扱う予定はありますが、最優先事項ではないため、IOTA等のIOT機能を専用に扱ってきたチェーンと相互運用したいと思うかもしれません。

結論からいうと、Cardanoは、①エラーのリスクを極限まで抑えた厳密かつ高速(Plutus)②非プログラマでも簡単設計可能(Marlowe)③多言語に対応(IELE)する、最適なスマートコントラクトのプラットフォームを実現します。

スマコンにより、お金だけじゃなくて、この世のあらゆるサービスも、「だれか」、ではなく、「みんな」で管理できるようになりますが、①エラー時に取り返しのつかない損失(60億円のETHが盗まれ通貨の分裂や歴史の巻き戻しまで起こしたTheDao事件)②プログラマ出ないと難しい③特定の言語を習得し直さなければいけないという問題が生じました。

そこで以下の開発を進めています。

もちろんSDKの充実・トークン発行も可能となります。イーサリアムのERC20と似ているもののこれよりコストを削減し安全性を向上させて、扱うことができます。

1 金融機関/大企業の開発者向けのエラーの可能性を極限まで抑えた厳密かつ高速なPlutus


.
曖昧さを回避/テスト簡易化した、関数型プログラミング言語Haskellを使用した、オフチェーンとオンチェーン両方同じコードを使える(他の言語では異なる場合が多い)、企業レベルの専用のプラットフォーム。
Plutus Playgroundでテスト可能/Udemy/書籍も公開されています。

2 非プログラマでも簡単設計可能のMarllowe


.
Plutus/Haskellベースの金融スマコン言語、事業家/業界専門家/金融アナリスト等のプログラミング経験ない非技術者用。Meadowエミュレーターでテストできます。
このようにパズルのようにブロックを組み立てて誰でも簡単にスマコンを作成できます。

3 IELE…多言語対応のIELE


.
多言語を扱うことができ、イーサリアムと相互運用も可能にします。IELEテストネットにてテストできます。

結論としては将来的にはCardanoデータベースはほぼ即時確定の取引を行うことが可能となります。

即時性(ファイナリティ)とは、取引がほぼ即時に確定する性質をいい、Cardanoでは追加機能として将来的に提供されます。(IOHKのブログ
逆にいうと、メイン機能上では、ほぼ即時に取引が確定せず、取引が巻き戻る可能性があり、通常の決済や銀行や他の暗号通貨との相互運用上やや不利です。

メイン機能として実装しない理由は安全性をより重視したためです。メイン機能としては安全性を重視して、その安全で強固な地盤の上に、追加としてほぼ即時合意の機能を追加することとしました。
コンクリートで固めた安全性の高い土台の上に涼しさ重視の木造建築をするのであって、木で固めた土台の上にコンクリートの建物を作らないと考えても自然な考えに思います。

・BFTベースのほぼ即時合意…ほぼ即時の取引が確定するが、34%以上の悪意のノードによりシステムが停止する…ALGO・XRP
・ブロックチェーンベースの最終合意…ほぼ即時には取引が確定せず時間の経過で確率的に取引が確定するが、51%以上の悪意のノードによりシステムは破綻する…BTC・ADA・XTZ

CardanoのADAは最終的に最も価格の変動しづらい資産となり得ると考えています。

今まで説明された理由から、ADAはNo1通貨・No1データベースとなるため、世界で最も取引量の多く保有も広く進むためです。
「え?ステーブルコインというものをご存知ありませんか?ドルとかにベッグされていてとてもステーブルなんですよ?」
という人が絶対に出てきますが、もちろん2019年現在、ドルの方が圧倒的に取引量が大きいため、大統領の思惑やアメリカの景気云々/追加で発行するドル等によって中央集権的に価値は変動しますが、相対的にはステーブルです。
しかし、中央集権的には価値が変動しない、ドル以上に流通した暗号通貨が現れた時、その暗号通貨の方が相対的にステーブルになります。
私はそれがCardanoのデータベースの主要資産ADAになると考えています。

Cardanoと他プラットフォームの簡単な比較を行います。知識の偏りは確かにありますため、また根本的に異なるものも多くすべてを比較することはあまりにも難しいため、ここではあくまで「簡単に」「もっとも重要な比較点に絞って」、の比較とさせていただきます。後日詳細なものを書く可能性があります。

(1)BTC

「ADAはBTCにもっとも近い哲学を持っている」と聞くと意外に思いますか?

この両者はとりわけ安全性分散性を最高優先度としています。
そのため、確率的な合意、階層化、等の特徴が似ています。
したがって誤解を恐れずいえば、ADAは「BTCのPOS版」です。
そのBTCが不動の時価総額1位を誇りマーケットの支持を得ている点はADAにとってこれ以上ない心強い事実です。

BTCがPOSを採用しない理由はシンプルに「安全性」が保証できないからです。
BTCも、何も好き好んで無駄な計算を行っているわけではありません。
POSには事実多くの課題が山積していました。
ADAはそれを査読済論文によりOuroborosにおけるPOSの安全性を正式に証明しましたが、開発にここまで時間がかかっている事実を見ても、実装が非常に難しいことは明らかです。
それが成功した時、ADAは、「BTCのPOS版」として、POW版のBTCに勝つことができるでしょう。

注意したいのは、「速さ」「機能の豊富さ」はBTCに勝つ理由になりません。

事実どの有力アルトコインを見てもおよそBTCの一層よりは速く機能が豊富ですが、BTCが不動の1位であるのはマーケットが愚かだから、ではなく、BTC以外の通貨が速度や機能を安全性分散性を犠牲にして手に入れたからなのです。

(2)ETH

「ADAはETHを凌ぐ開発活発力を持つ唯一の通貨」と聞くと意外に思いますか?

「自称」ETHキラーがこの世界に溢れていますが、ETH以上の開発活発度を持つのはADAのみです。
ETHとの違いはオンチェーンガバナンス・資金調達システム・デポジット・資金ロック・時間の分散性・決済層とスマコン層の分離・UXFO対応とあまりにも多く語りきれませんが、あえて1つ、語るとすると、ETHのPOS+シェーディングとなるETH2.0への道はあまりにも混沌としている一方で、ADAのPOS+シェーディング(Shelley・Basho)の道はかなり整然としています。

ETHはそもそもPOSの導入を想定せず作成されており、今走る多くのスマコンを両立させながら導入するのは、高速道路を走っている車のタイヤを走りながら付け替えるような困難さです。シェーディングについても同じほどのタイミングで導入されていきますが正式に安全性が証明されたものがなく非常に混沌としています。

ETH関係者の技術力であればこれらは最終的には達成されると思いますが、その途中で安全性の問題が生じる、もしくは最終的な実装が10−20年後までかかることもありえると思えます。

ADAはPOSを掲げて始まったプロジェクトであること、今は良くも悪くもIOHK等に中央集権的に運営されていること、シェーディングにかかる正式な仕様の材料も組み上がってきていることから、POS移行とシェーディングは、ETHよりは圧倒的にスムーズに行われるでしょう。

(3)XRP

「XRPとADAは「銀行との相互運用」を重視する点では似ている」という点は意外に思いますか?

BTCが既存システムへの抵抗として誕生し、XRPは既存システムに順応する形を目指しました。ADAは腐敗した政府からの検閲は許しませんが、可能な範囲内で銀行等の既存システムに順応できるよう開発されています(適法性のプルダウン参照)

では、XRPとADAの違いはなんでしょうか…という話をしたいのですが、実はこれはよくわからない、が正解です。
なぜならば、XRPは「ネットワーク参加者にバリデータの品質に関する公開データに基づいて独自のリストを選択させる」ことでRipple社推奨ノードリストを削除すると明言していますが、この「バリデータの品質に関する公開データに基づいて独自のリストを選択させる」の詳細が不明だからです。

この品質とは具体的に何で、その正確性はどのように担保されるのでしょうか?そのリストは何人まで入れることができて、その人数は誰がどうやって決めるのでしょうか?

承認者には家庭の電力相当でもなれると聞きますので、世界中の人が承認者になろうとしたら、1,000万人の承認者候補の品質公開データとなるかもしれません。この中にはもちろん、品質の悪いと表示されている承認者もいますし、品質をよく見せかけて大人しくしていますが攻撃を目論むノードが900万混じっているかもしれません。(それほど電力を使わないなら、この900万のノードは悪意を持った同一人物が登録しているかもしれません)

その中で、ネットワーク参加者はどうやって承認者リストを形成するのでしょうか?

それが完全に安全性・分散性・高速性等犠牲せず可能であれば、POWPOSもいらないということになると思いますため、Ripple社がどうこれを設計できるのか、注目です。

(4)LTC・BCH・BSV

・LTCは安全性を多少犠牲にして速度を上げたBTCです
・BCH・BSVは分散性を多少犠牲にして速度を上げたBTCです

これらと戦えるかはADAが安全性分散性を一切妥協せず速度を向上させることに成功するかどうかにかかっています。
ロードマップ とおりに開発が進めば十分に対抗しうるでしょう。

また、BSVについては規制に関して興味深い話を聞きます。強制差押権を裁判所に付与するというような噂です。

これは先進国では合理的に聞こえうる話ですが、ADAはあくまでも政府や裁判所が腐敗した途上国での使用を想定しているため、その個人の合意なく、いかなる人物もプライベートキーなしには差押できません。

(5)EOS

EOSは承認者数を21人に抑え、分散性を犠牲にし、高速化したETHです。

ADAが承認者数を1000人としつつ、高速化を両立すれば十分に対抗しうるでしょう。

結論としては、以下のCardanoに関する疑念とその反論の両面を記載しましたが、(少なくとも私の中では)批判の中には「確かにその通りだな」と思える要素もあるものの、それ以上にこれまで挙げてきたCardanoの優位性の要素が十分に大きいため、安心して応援できると考えています。

(1)開発遅延/(それを原因としての)価格低迷問題

批判「2015年から4年たつのに財布しかできてないし中央集権的な仕組みになっててもはや暗号通貨と名乗ることも怪しい。
しかも当初から4年間は未完成です、と言っていればまだよかったけど、何度も何度も何度も延期して、その度に価格が下落している。いったいどういうことなんだ?
最初から悪意があって遅延している、つまりSCAMなのか?
最初から悪意があって遅延しているわけではなくても、実現力と予測力がさらに高かったら今頃は完成OR現実的な予測を伝えることができていたはずじゃないのか?」

反論「まったく新しいものを、安全に作ろうとしているから時間がかかっているのであって、Githubの開発活発度、学会上位4%の実績を見れば、IOHK等が、一切現状手を抜いていないのもわかるはずです。
そのため、安全性を最重視する方針で3回コード書き直してますし、完全に新しくコードを記載しており当初の開発見込みからは遅れるものです。
さらに、SCAMは以下のようなことはできません。
・全通貨トップの開発活発度や上位4%の学会の論文査読
・エチオピア、モンゴル、ジョージア、ニューバランスとの提携」

(2)プレセールKYC不十分問題

批判「ADAを最初にIOHKはじめが売ったとき、その人が反社会勢力ではないかの確認が不十分で、反社会勢力にも売ってしまっていたのではないか?」

反論「当時日本で販売を行ったが、当時明確な法律がない中、適切に個人情報を確認しました。」

(3)プレセール「過剰宣伝問題」

批判「ADAを最初に売った時に任せた販売代理店で「必ず儲かります」という売り方をしていた代理店があり、明らかに代理店の選定ミスがあったよね?」

反論「その時に厳重注意は行った。代理店の選定ミスは悪かったがADAの価値が傷つくほどの大事件というわけでもないのでしっかりこの点を反省して次に活かせばいい」

(4)ほぼ即時に取引が確定する仕組みの優先順位を低くした問題

批判「ETH、XRPはじめ後発通貨の多くはメイン機能としてほぼ即時取引確定の機能を提供しており、これは今後主流になるだろう、Cardanoはこの優先順位を下げており今後淘汰されるだろう」

反論「安全性を重視したためメイン機能としては提供しないがサブ機能として実装予定です。これは安全性を土台と考えれば最善の仕組みであり、ビットコインも同様の仕組みを用いていることを考えると、市場もこれを評価していると考えられます。」

(5)Haskell不人気問題

批判「ADAの目玉の言語Plutusは、Haskellという超マイナーかつ不人気ランキングで上位になる言語を元に開発されていて解説書だって少なくて難しい、こんなもん誰も使わないよ。」

反論「Haskellは確かに現在知名度は低く扱いも難しい言語ですが、そもそも安全性と速度を重視しての選択です。仮にこれが普及しなくても他の言語でも対応可能です。
・実際FacebookやGoogleなど一部Haskellも使っている
・世界のインフラとなるために、その言語そのものの知名度や難度より何より安全性と速度を考えてHaskellを元にしたPlutusを開発した
・記述する難易度を大幅に下げた金融言語Marloweも開発している
・その他、多くの言語がIELEでサポートされる」

(6)DAGに覇権を奪われるのではないか問題

批判「DAGはめちゃ速くて安い。ブロックチェーンは淘汰される。」

反論「速くて安いためにDAGか、POS+シェーディングのどっちかの選択肢をあるが、その他の相互運用性や安全性において「POS+シェーディング」の方が有利と考えて、そちらを選択しただけ。
DAGは安全性の証明が不完全な技術。」

(7)チャールズさん怒りやすいのでは問題

批判「チャールズさんは怒りやすくてEOSやETHと喧嘩ばかりしているように見える、本当に相互運用性を目指しているのか疑問だ。」

反論「基本的に、相手が喧嘩を売ってこなければ買ってないです。」

(8)チャールズさん旅をして遊んでいるのでは問題

批判「いつもツイッターに旅をして遊んでいる写真をあげているように見える。」

反論「旅をしているのは事実ですがIOHK社員の話を聞いても、チャールズさんがリーダーシップを確実に発揮しています。かつ本当に旅をして遊んでいるだけでは全通貨1番の開発活発度の説明がつかないです。」

©️CardanoZ