【NEM/Symbol技術勉強会】細胞バンクのマスターデータをNFT-DriveでSymbol testnetに刻んでみた

本記事は、歯髄細胞バンクにとって最も重要なマスターバンクデータを、NFT-Driveを使ってSymbol testnetブロックチェーンに刻む実証実験 (Proof of Concept, PoC) の結果報告です。少々専門的な内容になっていますが、NFT-Driveのもつ可能性を感じていただければと思います。

1. 背景

岐阜大学しずい細胞プロジェクトでは、再生医療で使われる細胞のトレーサビリティ(追跡性)を記録するシステム「ShizuiNet」を開発中です。細胞はドナーから採取された後、何度も培養され、生化学的な処理や遺伝子操作を経て、患者に投与されます。この多数の培養工程や、処理工程、施設間の移動などが、正確に記録されなければなりません。最終的には、ドナーから患者までつながる、完全なトレーサビリティを実現しようとしています。

しかし、細胞バンクや細胞加工施設、医療機関などには、これらのトレーサビリティ情報と紐付いた膨大な関連データが保管されています。たとえば、わたしたちが運用している歯髄細胞バンクには、ドナーから採取した細胞を初めて培養し、凍結保存した時の情報を記録した重要な紙資料があります。これをマスターバンク情報といい、バーコード化されておらずShizuiNetの管理からはずれてしまっています。これまでも、スキャンしてPDF化したり、エクセルデータに変換したりしてデジタル化を試みてきましたが、なぜかオリジナルの紙ファイルが常にもっとも信頼できる情報として保管・活用されてきました。PCにコピーされたデータファイルは、複数の実験者がそれぞれのPCにコピーして改変したり、プリントアウトして新しい情報を書きこんだりしたりしているうちに、コピー間で齟齬が生じてしまいます。その結果、どれがマスターバンクデータなのかわからなくなって、みんな最初の紙資料に戻るのです。これが、いつまでもデジタル化が進まない理由のひとつです。

われわれが今回ブロックチェーンに刻もうと考えたのは、3年ほど前に理化学研究所のバイオリソースセンターに細胞を寄託するために棚卸しをおこなった時、実際の培養タンクの中の細胞保管状態を記録した14枚の紙資料でした。そこには2005年から蓄えられた約1000本のヒト歯髄細胞ストックの情報が記録されていました。

2. マスターバンク保管情報のPDF化

紙資料ですので、鉛筆で書き込みがあったり、メモが書いてあったりすることもあります。スキャンしたJPEGファイルのままだと600kBくらいのサイズがありますから、OCRという技術を使って文字情報を取り出し、一旦エクセルファイルに変換しました。このエクセルファイルを、人間がオリジナルと見比べて、読み込みのミスがないかどうかを確認・修正した後、再びPDFファイルに変換しました。エクセルファイルのまま保管しないのは、数十年後にマイクロソフトエクセルがまだ存在するかわからないからです。サイズは20kB程度まで小さくなりました。

現在のブロックチェーンが保管できるデータ量(それぞれの持つノードのキャパシティに依存する)には限りがありますので、情報を欠落させずにできるだけ小さなサイズのファイルに変換することが、最初の重要なステップだと考えました。

3. NFT-Driveでブロックチェーンにデータを保管する

次に、NFT-Driveを使ってこれらのデータファイルをSymbol Testnetに保存していきます。1ファイルずつ、NFT-Drive専用サーバーに送り、ウォレットから必要な手数料を送付すると、変換が始まります。データは約40~50個のトランザクションに分解されて、ひとつのアグリゲートボンデッドトランザクションとしてブロックチェーンに記録されます。記録が終わると、NFT-Driveサーバーは、ファイルと紐づけられたMosaic-ID (NFT)と、データを保持するアカウントのアドレスを教えてくれます。アグリゲートトランザクションに署名したアカウントの秘密鍵は破棄されるため、2度と同じトランザクション署名を計算することはできず、NFTの唯一性が保証される仕組みです。

これが今回作成したNFT化された、歯髄細胞マスターバンクデータのリストになります。14枚の紙データをNFT化するのにかかった手数料は822XYMでした。

4. SHA256ハッシュ値の比較によるファイルの検証

次に、NFT化されたファイルと、オリジナルファイルのSHA256ハッシュを比較しました。すべてのファイルが正確に保存できたことが確認できました。

5. サーバー負荷

今回のファイルアップロードでは、トータル283kBのデータをNFT化しましたが、ノード(ibone73)のアクティビティをtopで経過観察する限り、大きなCPU負荷の上昇やメモリ使用量の増大などは見られませんでした。NFT化作業前後で、ディスク使用量は約700kB増加していました。

またエクスプローラーの統計情報でも、NFTトランザクションは小さな連続したピークとして認められました。今回のように充分にサイズを小さくしたファイルのアップロードは、ネットワークに大きな負担をかけないことがわかりました。下の図の心電図のような山のひとつひとつが、それぞれのファイルのNFT化に伴って生じたトランザクションです。その前に偶然居合わせた、送付トランザクションの集団に比べて、NFT生成のアグリゲートボンデッドトランザクションはコンパクトにまとめられ、ネットワークへの負荷はそれほど大きくないことが、これからもわかります。

6. まとめ

今回、実在する細胞バンクのマスターバンクデータの一部を、NFTとしてブロックチェーンに刻んでみました。ファイルサイズを小さくすることで、ネットワークやノードへの負荷が抑えられ、手数料も最小限にすることに成功しました。手数料の85%をモザイク発行手数料が占めており、今回のようにユニークなNFTである必要がない場合は、前もって複数枚発行した一種類のトークンを使い回すことで、さらに手数料を節約できるかもしれません。一方デジタルアート作品のようにサイズを小さくすることができず、唯一性が重要で、譲渡なども想定している場合には、そのような戦略は使えず、ファイルサイズに依存したかなり高額な手数料を支払う必要が出てくるでしょう。その場合にはネットワークやノードへの負荷についても考慮する必要があると考えられます。

NFT-Driveを使って、これまで紙資料として保管していたマスターバンク情報を、ブロックチェーンに刻むことができました。今後は、マスターバンクから細胞を取り出して増やしたり、加工したりといった、下流のトレーサビリティ情報も、この起点となるNFT化された情報と関連付けられ、より高い信頼性を獲得できるでしょう。NFT-Driveが実現したオンチェーンのデータ保管は、業務にクリティカルなドキュメントデータを保存するのにも使えるということが今回証明されたと思います。