1. 我們如何在區塊鏈上儲存資料結構?特別是,如何儲存加密的多對映資料結構?大多數現有區塊鏈旨在儲存金融交易或智慧合約的狀態,但不是任意的資料結構。
2. 由於區塊鏈在設計上是防篡改的,我們如何更新EMM,尤其是如何從中新增/刪除資料?
在描述我們的區塊鏈EMM構建之前,讓我們先討論一下第一個挑戰——第二個和第三個挑戰更為棘手,因此我們將在詳細描述構建本身時解決它們。
大多數區塊鏈(例如比特幣,以太坊,Algorand)都允許使用者在交易中儲存任意資料。由於在單個事務中只能儲存有限數量的資料,因此必須在多個事務中拆分大型資料結構。然後問題變成:
1. 將每個值vi與儲存vi-1的先前事務的地址ri-1連線起來。
2. 使用vi || ri-1建立一個新交易,並將其傳送到區塊鏈。這將生成ri,即新交易的地址。
類似地,我們可以在區塊鏈上疊加更復雜的資料結構,例如二叉樹。這可以透過將兩個地址連線到每個值來完成:一個用於其左子項,一個用於其右子項。如圖2所示。
在本系列的下一部分中,我們將描述三種在區塊鏈上儲存動態emm的方案,每種方案在查詢、新增和刪除效率之間實現了不同的權衡。