最近、タイムラインに「tBTC zkSync Torch」なるムーブメントを見かけることがあります。これはライトニングネットワークがメインネットで使えるようになった初期にHodlnautが開始した、ライトニングを使って資金を1万サトシずつ追加してリレーのように送っていった「Lightning Torch (LN Trust Chain)」という運動をもじったものです。(Lightning Torchは渡す相手にトラストが必要だったため、途中で盗まれたりもしましたが、最終的に0.41BTCにまで成長して寄付されました)本稿のタイトルからしてわけがわからない方も多いと思うので、今日はこれを少し細かく見ていきます。

TBTC…ZKSYNC…TORCH??

まずはこの3語をそれぞれ確認しましょう。tBTCとは、最近の記事でも軽く触れましたが、「ビットコインのブロックチェーンを使ってトラストレスに発行・償還できるイーサリアム上のビットコイントークン」という趣旨のトークンです。秘密分散や担保などを使って誰でもトラストレスに発行・償還ができるようにすることを目標にしているようです。(5月に問題を発見し、修正中は使用不可でしたが、9月に再開しました。)

zkSyncとは、ZK Rollupを利用したイーサリアムのレイヤー2の代表例です。これについては、次の項目でもう少し深く解説します。

Torchに関しては、導入でも触れた通り、「Lightning Torch (LN Trust Chain)」をもじったムーブメントの名前で、トーチ(聖火=tBTC)を受け取った人が、少し資金を追加して次の人に渡すリレーのことです。LN Trust Chainはhodlnautでしたが、tBTC zkSync TorchはEric Wallが始めたようです。

Eric Wallはマキシマリストではなく、ビットコインもイーサリアムも応援したり批判したりする、(そのとき押し込まれている側の味方をすることが好きな)比較的バイアスが弱い人物です。
ZKROLLUP

zkRollupとは、これも以前に軽く触れましたが、ブロックチェーン外(サイドチェーン)でトランザクションを集約し、最新状態とゼロ知識証明をブロックチェーンに書き込むことによって検証コストを抑えるイーサリアムのスケーリング方法です。要するに、個別のトランザクションより少ないリソースで多くのトランザクションを検証できる方法ですね。(※データ量に関しては後述)

現在は送金のような簡単なトランザクションにのみ対応しており、スマートコントラクトの実行などはできませんが、もしイーサリアムが送金のみに使われて、送金すべてがzkRollupを活用すれば、イーサリアムのトランザクション処理数を数十倍にはできる程度の効率化です。

概念図
イーサリアム・ブロックチェーン (zkSync内アカウントの変化と証明を記録)

zkRollup (トランザクションの集約、記録、証明の作成)

ユーザー (トランザクションをzkRollup事業者に送信。オンチェーンで証明の検証ができる)

中央集権的?

現在のRollup系サイドチェーンはトランザクションの集約を行う主体が中央集権的で、特定のトランザクションを拒否(検閲)する可能性があります。また、例えば代表的なzkRollupサイドチェーンであるzkSyncに自由にERCトークンを追加できるわけではなく、条件を満たす通貨の上場を希望する場合にフォームから申請する必要があります。ただし、検閲はできても、オンチェーンに記録されるゼロ知識証明を誰かが検証している限りトランザクションの内容を変える不正はできないので、対検閲性以外の面ではトラストレスないしトラストミニマルという見方はできるでしょう。(マイニングのようにトランザクション集約に競争を導入して、検閲可能性をインセンティブで解決しようというアイデアもあります)

手数料削減の効果

zkRollupの代表的な実装であるzkSyncを利用するには、まずトークンをzkSyncに入金する必要があります。この際に、少し高めの手数料がかかりますが、以後zkSync内でのトランザクションはブロックチェーン上より格段に安いので、特にERCトークンであれば数回の送金で元が取れるでしょう。
tBTC zkSync torchは現在1トランザクションあたりの手数料が$0.05~$0.20あたりで送金リレーされているようです。 メインネット上で同じトランザクションを発行するコストと比較してメリットを強調("14分の1で済んだよ!")してくるので、わかりやすいですね。

UXの改善

私がzkSyncの1つの大きfな利点と感じるのはUXの良さです。"Gasless meta-transactions"という難解な名前をつけられていますが、zkSync内での送金手数料は送るトークンで支払うので、ERCトークンを送るのにETHを保有する必要はありません。イーサリアムの一番の魅力であるアルトコイン体験を、ETHトークンを保有する必要性がユーザビリティの面で邪魔している状態が解決されています。(この構図聞いたことがあるような…)
zkSync内でウォレットを作成するのも手数料はかからないので、オンボーディング体験としては非常にわかりやすいでしょう。

ブロックチェーンの肥大

zkSyncはzkSync内のアドレスの残高の変化をブロックチェーンに記録するため、イーサリアムのフルノードがあれば誰でもある時点での残高を確認できますが、そのためブロックチェーンに記録するデータのサイズは非常に大きいものとなります。Lntxbotの作者でもあるfiatjafは「300tpsできるとされるzkSync v1が本当にそれだけ利用されれば、ブロックチェーンに1日で829MB記録することになる」「3000TPSとされるzkSync v2なら1日で8.3GBもデータが増える。誰が保存するのか?」と指摘しました。

これに対し、zkSyncは確かにデータ量の問題を解決しないとしつつ、(データがシンプルで規則的に記録されるため?)高速なランダムアクセスを提供するSSDに代わり安価なHDDを使用できるようになり、データの保管コストは下がると主張しました。
(私はイーサリアムノードのボトルネックの話は詳しくないので、どれくらい信憑性があるのかはわかりませんが、zkSyncのデータに関しての話としてはある程度納得できるように感じます。)

おわりに

今日は「tBTC zkSync Torch」について、その正体と代表的なzkRollupであるzkSyncについて、比較的詳細に解説しました。未完成な部分こそあれど、特にUX面では使いやすいと感じている人が多いので、サイドチェーンの1つのモデルとしてzkRollupは今後も発展していくでしょう。レイヤー2のあり方の1つとして、ひょっとするとビットコイン側からも関心を集めるかもしれません。