Web3に特化した「オブジェクト指向ブロックチェーン」開発のお知らせ
日本発の次世代ブロックチェーン(Maxims)を開発する合同会社サイバードリームは、Web3に特化した純国産の「オブジェクト指向ブロックチェーン」を開発しました。
はじめに
弊社では、数年前に次世代ブロックチェーン(Maxims)の発表を行いましたが、次世代と呼ばれるのに相応しい先進的な機能を求めて真剣に研究と開発を続け、今回の発表に至りました。
ブロックチェーンは、将来のソフト分野における基幹技術となり得る重要技術なので、日本独自のニーズも容易に反映できるように、海外技術の転用ではなく自主開発する方針を採用しています。日本発の優れた先端技術の開発により、「デジタル黒字」の実現にも貢献できることを期待しています。
新Maximsは、現在、開発工程を概ね終了しているので、今後はテストネットの公開を通じて、来年のメインネット開通を目指しています。
ゼロトラストについて
■最近、ハッキング等による情報流出やランサムウェア攻撃が多発し、ブロックチェーン業界でも暗号資産の盗難が発生しています。原因としてWeb2の脆弱性が挙げられ、そろそろWeb3に移行すべき段階を迎えそうです。最近、「デジタル庁が自治体に『ゼロトラスト』の大号令」という記事を拝見しましたが、これは従来型(Web2)のセキュリティ対策に対する、コペルニクス的転回とも言えるべき発想(Web3)の転換なので、その先見性と英断には敬意を表したいと思います。
■Web2の安全神話は、防御壁(ファイアウォール)で外部からの侵入を防止できれば、内部は安全な状態に保てるという考え方で(性善説)、内部に侵入されたら有効な対抗策は有りません。Web3では分散するノードに共有データを記録するのが基本なので、ノードの管理者は誰(悪人)でも共有データにアクセス可能となり(性悪説)、個人情報や機密情報の漏洩リスクは桁違いに大きくなります。共有データが暗号化されても、数年後には量子コンピュータが登場して、現行の暗号方式は短時間で解読されそうです。しかも、この問題の抜本的な解決策は、未だ世界に存在しないようです。
■最近では、この様なWeb3ブロックチェーンの不都合な真実に目覚める技術者も出現し、筆者の古巣の同僚でも、ブロックチェーンにおけるユースケース(キラーアプリ)欠如の要因として、「ブロックチェーンには本来的にプライバシーがない。特定のデータを非公開に保つ方法が必要だ。」との言葉で、ゼロトラスト環境におけるプライバシー保護の必要性を唱えています。
<参考> https://jp.cointelegraph.com/news/blockchain-needs-privacy-business-adoption
インターネットの変遷(Web3への道程)
インターネットにおける、Web1からWeb3への流れについて、簡単に振り返りたいと思います。
■Web1は、ブラウザ機能(HTML)の開発で、画面での入力と表示を実現しました。クライアントからの要求(HTTP)で、サーバーでの処理が発生するが、要求が無ければ処理は発生しません。
■Web2は、クライアントからの要求が無くてもサーバーでの処理を発生させ、クライアントとの通信を行う技術(HTTP2)です。日本ではWeb2の黎明期に、サーバーとクライアント間での一対の双方向通信に注目しすぎて、サーバー経由での複数のクライアントとの通信機能は見落とされました。実はこの機能こそ、今日のインターネット・コンピューティングの礎となる基幹技術であり、その後のクラウド事業の発展にも大きな影響を与えるものでした。しかし日本は先入観から脱却できずに、クラウド事業の発展からは蚊帳の外に置かれました。
■Web3は、弊害が目立ち始めたWeb2へのアンチテーゼとして提唱されています。クラウドの発展に伴う集中化の弊害(単一障害点によるシステム障害の発生、クラウドで収集した個人情報の転用や第3者への転売など)を解決するのが目的です。個人情報の管理を中央集権から分散化に移行して、情報主権を個人に取り戻すという、情報分野での産業革命です。それ故、Web2の黎明期のような失敗を繰り返さないように、Web3の本質を正確に理解する必要がありそうです。
Web3の技術
「鶏が先か卵が先か」の論法を用いて、「ブロックチェーンが先かWeb3が先か」を問えば、弊社では「Web3が先」(つまりインターネットが先)の世界観を持って、Web3に特化したブロックチェーンの開発に取り組んでいます。日本ではWeb3という「枕詞」を用いて、NFTやDeFi等のお花畑を称賛する識者も多いようですが、それらはブロックチェーン自体の産物であり、既にWeb2でも実現されています。弊社では、Web3技術の最小要件として、自律的な分散化/高度の暗号化/完全なデータ保全を掲げています。
■自律的な分散化では、ノード間を不正なデータが飛び交うことを前提として、受信ブロックを強制的に自局のブロックチェーンに組み込むのではなく、前段階として送信元の出自とブロックの真贋を検査しています。出自の検査には、ゼロ知識証明の技術をレイヤー2/レイヤー1間に限定せず、通信網全般に拡張して送信元の出自を検閲しています。真贋の検査には、受信したブロック候補(Ballot)から、自律的に正当なブロックを選別して(偽造ブロックを排除して)、自局のブロックチェーンに組み込むPoB方式(PoS+自律性)を開発しています。
PoS方式(金銭的インセンティブで不正抑止)は、今まで弱点が指摘されても代替案が少ないために採用され続けてますが、将来、ブロックチェーンが防衛面などに使用される局面では、(戦争に勝つという)金銭以上のインセンティブが働く場合に、不正抑止が無力になると判断しています。現実に、バリデータが不正を働いて摘発された事例なども発生しています。
■高度の暗号化では、Web3は各ノード(悪人も含む)に共有データを記録するので、どのノードも常時ハッキングされた状態に相当しています。現在、ハッキングに対抗できる安全な暗号方式は存在しないので、弊社では「ハッキングされても安全な独創的な暗号方式」を独自開発しています。
具体的には、Javaの特殊機能を用いて、中間コード(classファイル)を作成せずに、実行コード(マシンコード)をメモリーに瞬間的に注入して実行する、「暗号処理コードのステルス化」技術(暗号処理コードのclassファイルは実在しないので、不正な解読・実行は不能)を開発しています<特許案件なので詳細は割愛>。リモート環境では、拡張されたゼロ知識証明の技術により暗号処理の依頼元ノードの出自を検閲(Maximsを経由しない通信を排除)し、ローカル環境では、ハッシュ技術により暗号処理の依頼元ソフトの出自を検閲(ハッシュ値の相違により、不正なclassファイルからの呼出しを排除)しています。
■完全なデータ保全では、日本が得意とするシステム工学での知見が生かされます。Maximsでは、電源喪失等による運転停止からの復旧時に、自動デプロイ機能により自律的にシステムを復元させています。この機能を応用すれば、ランサムウェア攻撃でシステムが機能不全に陥った場合でも、Window等のOSをクリーン・インストール後に、Maximsを再起動(必要ならば再ダウンロード)して、共有データの同期ボタンを押すことで、健全なMaximsシステムに完全復旧できます。
ゼロ知識証明(ZKP)
■Ethereumが推奨するzk-Rollupプロトコルは、ゼロ知識証明とロールアップから構成されています。その実装技術として、zk-STARKsはレイヤー1に記録する可用性データ(calldata)に制限があり、zk-Validiumは可用性データ自体が記録できないので、Maximsではzk-SNARKsの採用を決定し、JavaのDIZKライブラリ(数十億個の論理ゲートを表現可)を改造して(Apache Sparkを軽いパーツに置換、log4jは排除など)、独自のzkJVMを開発しています。
zk-SNARKsは、楕円曲線暗号なので量子耐性が弱いとの情報もあるので、MaximsではNIST(米国立標準技術研究所)に正式採用された耐量子暗号(Crystals-Kyber)でカプセル化して量子破壊を防いでいます。なおzk- STARKsはハッシュ技術なので量子耐性が強いとの情報もありますが、現在のハッシュ技術では量子耐性に弱いので、早急にNISTに正式採用の耐量子ハッシュ技術(3種類)に置き換える必要がありそうです。
zk-SNARKs方式では、可用性データ(calldata)を記録するためにレイヤー1の容量が増大するので、Maximsでは、zk-STARKs方式をお手本に処理結果を記録しています。zk-STARKs方式では、(多項式で生成される多数の評価を1個の評価に集約のため)マークルツリーを何回も辿るのでCPU負荷が増大しますが、Maximsでは、DBトリガーで評価を集約するのでCPU負荷は極小化されます。ブロックチェーンの再現検証に必要とされる取引データと処理結果の対比テーブルは、オプションとして必要に応じて、Maximsから供給されるように設計されています。
■既存のレイヤー2には、取引データを直列化するためのシーケンサ機能があり、更に、モジュール型のブロックチェーン向けに、独立した共有シーケンサや集約シーケンサなどが開発されています。これらは、端末(分散) --> シーケンサ(集中) --> レイヤー1(分散)のライフサイクルと推測し、Web2の弊害(中央集権化や単一障害点など)を恐れたので、Maxims純正のレイヤー2では、3次元空間に分散化されたノードの取引データを、物理的な位置関係は維持したままで(つまり一カ所に集めずに)、4次元空間の時間軸により直列化する技術を開発して、シーケンサ機能を不要にしています<特許案件>。
オブジェクト指向ブロックチェーン
ブロックチェーンは、モノシリック(一体型)からモジュール(部品型)へと変化が続いています。ソフトウェア工学では、モジュール化の究極はオブジェクト指向というのが定説です。Maximsは、オブジェクト指向によって部品化され、エンジン部、コントラクト部、ウォレット部、トークン部から構成されているので、ソフトウェアの保守や維持管理にも柔軟に対応できます。
■エンジン部では、従来型のブロックチェーン基盤では基本的にシングル走行の処理をベースとしてますが、Maximsでは、数十年の稼働実績を有するJavaのマルチスレッド機能によるマルチ走行の処理が可能で、言語レベルでの疑似的なマルチ処理とは異なる、高性能で多彩な並行同期処理(fork/join)を実装しています。またJavaは、端末毎にサーブレットのセッションを割り当てるので、特定の端末の処理に障害が発生しても、その範囲を当該サーブレットのセッションのみに限定する事ができます。
Javaの学習者は、Javaコンパイラの出力は実行コード(マシンコード)ではなく中間コード(バイトコード)なので、逆コンパイルすればコードの中身が解読できる事を知ってますが、Maxims向けに開発した「暗号処理コードのステルス化」技術を用いれば、中間コードはディスクに実在しないので(または中身が空なので)、他言語の実行コード(ディスクに存在する)よりも格段にアクセスが不能です。
この「暗号処理コードのステルス化」技術は、暗号技術において全く新しい発想に基づく独創技術なので、その応用面の開拓などに興味は尽きません。この技術が独創的たる所以は、例え耐量子暗号を使用しても、暗号化/復号化を担当するコード(Javaならば.class、Windowsならば.exeなど)がディスクに存在すれば、Web2環境では防御壁で少しは防げるが、Web3環境ではコードを不正に実行して暗号化/復号化を悪用する攻撃を阻止できないからです。
■コントラクト部では、Javaの豊富なクラスライブラリを使用して、実資産のトークン化(RWA)や、生成AI(ChatGPT等)や、メタバース等との連携が可能となります。しかしオラクル(外部データの取込)には共通した受渡方式が望ましいので、ゼロ知識証明を利用して受渡データの信頼性を担保する技術の開発を急いでいます。
■ウォレット部では、データとメソッドで構成するクラスを用いたプログラマブル・ウォレットを開発済で(容量は約1GB) 、Maximsブロックチェーン基盤のセキュリティを継承して、データ部でオブジェクトトークン(OFT)を管理し、メソッド部でウォレット用コントラクトを動かす仕組みを実現しています。
更に、Java Card機能などを用いてウォレット部をスマホに搭載すれば、Maximsブロックチェーン基盤との間でオブジェクトトークン(OFT)のチェックイン/アウト機能や、他社ブロックチェーン基盤とのブリッジ機能などの多彩なマルチチェーン機能も実現可能です(web3j経由でのEthereum通信や、bitcoinj経由でのBitcoin通信など)。また許可が得られるならば、マイナカードと同等の機能をスマホに搭載(ブロックチェーン基盤により信頼性を担保)することも可能です。
■トークン部では、オブジェクト指向の真価がより鮮明に発揮されます。文字列や静止画による平坦なNFTではなく、オブジェクトトークン(OFT)による多彩なNFT(音声や動画などのマルチメディア)が開発できます。冒頭の魅力的なNFTやDeFiなどの「お花畑」も、オブジェクトトークン(OFT)の使用で制作が加速され、デザインパターンの利用で派生/合成や分割/結合が行えるので、百花繚乱のアプリ開発が可能となります。最近、ブロックチェーンで卒業アルバム作成の記事を拝見しましたが、学生の声や青春の映像などを記録した卒業アルバムが作成できれば、コンテンツの魅力は増大しそうですね。
これは将来の夢ですが、香りの技術を開発する会社と連携できれば、香りのカートリッジを内蔵したUSBメモリにウォレット部を搭載して、送信側で香りの要素を記録したトークン(OFT)を作成し、受信側でトークン(OFT)から香りの要素を抽出して再現する技術にも挑戦したいと思っています。トークン(OFT)のマルチメディア素材により、森林や湖畔の風景を映しながら、ヒーリング曲を奏でて、実際の「香り」も感じられる、癒しのNFTにも興味を惹かれています。
他山の石
■Ethereumは、スマート・コントラクトの発明により、多くのアプリ(DApps)開発者にブロックチェーンへの関心を促した功績があります。しかし同時に、技術の世界に金銭問題を混入させた件は無視できません。処理性能の限界を擁護する目的(性能が低いのではなく、利用料金の支払が少ない)なのかは不明ですが、負荷集中に応じて手数料(ガス代)がオークション的に跳ね上がる仕組みです。
技術的な問題は技術的に解決すべきで、処理性能の問題はマルチ処理の開発(EIP-648?)などで対応すべきですが、Ethereumでは、ガス代が安くなるという金銭感覚を利用して、取引の大半をセキュリティが比較的脆弱なレイヤー2に迂回させてレイヤー1での処理負荷を軽減しています。その結果、直近のEthereumの収入は90%以上も減少し、このままでは技術革新を行う体力の維持や、ビジネスの持続可能性にも心配が生じ始めています。
<参考> https://www.coindeskjapan.com/255321/
筆者は熱心なEthereumウォッチャではないので、あくまで想像の範囲ですが、事態の解決策として、楽観的シナリオでは、レイヤー1/レイヤー2間で手数料配分の政治的な決着が図られ、当面の危機を脱することを期待しますが、悲観的シナリオでは、純正のレイヤー2と目される「安置されたzkEVM(enshrined zkEVM)」を、セキュリティの向上を隠れ蓑にレイヤー1に搭載して、他社のレイヤー2に迂回している取引を奪還して、収入の拡大を図る方法も考えられます。最近の発表では、ステージ1基準(今後はステージ2基準までハードルが上がる?)に未達の他社製レイヤー2は、Ethereumレイヤー1への接続が拒否される可能性もありそうです。
<参考> https://jp.cryptonews.com/news/buterin-new-l2-standards/
■ブロックチェーンには、車の両輪のように利便性と信頼性のバランスが重要です。Bitcoin開発時には、両者のバランスは均衡していたと想像しますが、その後、利便性を促進させるスマート・コントラクトの開発や、NFT/DeFi/レイヤー2の導入や、Web2からWeb3への進化などにより、利便性は大幅に強化された反面、相応して強化すべき信頼性には進展が遅い印象を受けます。ブロックチェーン業界には、マキシマリスト(Bitcoin至上主義)と呼ばれる識者が居ますが、彼らの批評の原点は、この利便性と信頼性のバランスです。ちなみにMaximsという製品名は、このマキシマリスト(Maximalist)にも由来しています。
Maximsでは、どんな利便性でも持続的にサポートできる絶対的信頼性の確立を目指しています。いくら日本人が優秀なDAppsを開発しても、それらを支える基盤となるべきレイヤー2やレイヤー1が液状化現象を起こしては困ります。ブロックチェーンは、将来の政治/経済/防衛面における重要な情報通信インフラとなり得る技術なので、なるべく営利主義に傾かない半公営企業による、より公共性の高いブロックチェーンの提供が望ましいと思います。
おわりに
■弊社では、日本のブロックチェーン業界で流行している、海外ソフトの代理店ビジネスは行いません。海外技術の転用は、日本のデジタル赤字を更に加速させて、汗水たらして得られる日本人の富を国外に流出させます。もし年間6兆円の一部でも日本に還流させて、その一部を税金として国庫に返納できれば、少子化による税収不足等の日本が抱える将来不安も、改善の方向に向かうと期待しています。
日本が目指すべきは技術属国ではなく技術立国です。弊社では、ブロックチェーンの神髄となる技術を追求し続け、世界で勝てる独創技術をゼロから開発しています。
「大切なのは、闘う犬の大きさではなく、犬に闘争心があるかどうかだ」(マーク・トウェイン名言集)
■弊社は、開発作業に専念するためにメディアへの露出は極力避けて、ブロックチェーン業界での大洪水に備えるために、山頂にて愚直に「ノアの箱舟」を開発し続けています。弊社が主張したいのは、個人の名声ではなく製品の魅力です。しかし最近になり、某テレビ局からの取材・収録のお誘いや、自治体の関連CVC事業へのお誘いなど、次第に露出の機会も増えつつあります。
今後は、皆様方のご厚意で資本が更に充実できれば、開発リソースの拡充や広報活動の活性化なども可能となるので、商談等にも前向きに対応させて頂きたいと思います。開発の方は順調に推移しているので、公的機関や投資家の皆様からあと少し背中を押して頂ければ、世界に誇れる画期的なブロックチェーンを速やかに市場投入できると期待しています。
弊社にご興味をお持ちの方は、お気軽に、take5@cyberdreams.asiaまで、ご連絡願います。