Plasma XT
m0t0k1ch1.icon Plasma XT の概要を把握する
m0t0k1ch1.icon Plasma Cash の改善案ではあるので、Plasma Cash との違いを意識しながら
---.icon
TL;DR
Plasma XT is a modification to Plasma Cash that enables safe checkpointing.
Plasma XT は、安全な checkpointing を可能とした Plasma Cash である。
---.icon
Background
m0t0k1ch1.icon 流れが速い Plasma 界隈においては各論に振り回されないように全体的な潮流を把握するのが重要だと思うので、背景もきちんと読むべし
Plasma Cash, as originally specified, requires that users maintain an ever-growing history of transactions, inclusion proofs, and non-inclusion proofs. Currently, this history is too large to be feasible.
オリジナルの Plasma Cash において、ユーザーは絶えず増大し続けるトランザクション履歴・inclusion proof・non-inclusion proof を保持する必要がある。実現にあたり、この履歴量は多過ぎる。 Some napkin math to illustrate:
簡単に計算してみると以下のようになる。
m0t0k1ch1.icon napkin は「食事中に閃いたアイデアを紙ナプキンに書くときくらい簡潔に」みたいなニュアンスらしい
Assuming we have a (very) small Plasma Cash chain with only 2^16 (= 65536) coins, then the Merkle proof of either existence or non-existence for a given coin will be at least 32 bytes * 16 siblings = 512 bytes per block. If we assume that Plasma block is created once every 15 seconds, then we’ll end up with 31557600 / 15 = 2103840 blocks per year. 2103840 blocks per year * 512 bytes per block = 1077166080 bytes per year = ~1.077 gigabytes per year. 1 gigabyte per coin, per year!
2^16(= 65,536)個のコインが存在する(非常に)小さな Plasma Cash チェーンを仮定すると、これらのコインについての existence proof と non-existence-proof の Merkle proof は、少なくとも 1 ブロックあたり 32 bytes * 16 siblings = 512 bytes となる。Plasma ブロックが 15 秒毎に生成されると仮定した場合、1 年で 31,557,600 / 15 = 2,103,840 ブロックが生成される。よって、2,103,840 blocks per year * 512 bytes per block = 1,077,166,080 bytes per year = ~1.077 gigabytes per year。1 コインあたり 1 年で 1 GB!
This means that the owner of a coin would, after one year, have to send more than a gigabyte of proof data simply to make a single transaction. Although the exact proof size can likely be slightly optimized, the proof size still grows linearly with the size of the Plasma Cash chain. That’s a lot of data! It’d be hard to store and validate a proof this big on devices that might be computationally limited, like phones or embedded devices. After enough time, it might even be difficult to validate these proofs on laptops or workstations.
すなわち、1 年後、コインの保有者は単に 1 つのトランザクションをつくるために 1 GB を超える proof データを送る必要があるということになる。proof の厳密なサイズは若干最適化できると考えられるが、proof のサイズは Plasma Cash チェーンのサイズとともに線形に増大し続ける。このデータ量は過剰である!携帯電話や組み込み機器などの計算資源に制限のあるようなデバイスでこの巨大な proof を保持したり検証したりすることは困難である。十分に時間が経過したとき、ラップトップやワークステーションでさえもこれらの proof を検証することは困難になるだろう。
This post attempts to solve this problem by specifying a protocol in which coins can be checkpointed. The owner of a coin will, therefore, only need to provide a proof back to the coin’s last checkpoint.
この投稿では、コインに checkpoint を設けるようなプロトコルによって、この問題を解決することを試みる。コインの保有者が行う必要があるのは、コインの最後の checkpoint に関する proof を提出することのみである。
---.icon
Construction
m0t0k1ch1.icon ボリュームが大きいので別ページに切り分ける
---.icon
発展的な議論