Hyperledger架构提供了内置支持,可在私有集合的帮助下存储脱链数据。为此,我们需要指定集合配置,其中包含各种集合名称以及可以访问这些集合中存在的数据的参与者。 有一个名为“ BlockToLive ”的设置,通过该设置,我们可以指定对等方应存储多少块,对等方应存储他们有权访问的私有数据。在分类帐块高度达到上述阈值之后,对等方将自动清除私有数据。
我们有一个要求,我们需要使用私人数据收集,但是恰好30天后应该(自动/手动)删除数据。是否有可能实现相同目标?
答案 0 :(得分:0)
首先,您放置在区块链上的所有内容都是永久性的,应该去中心化。因此,对何时删除私有数据进行单方面控制不利于分散管理,您应该避免分散管理(第2点的答案)。背书人认可每项变更或交易。 (包括BlockToLive),因此偏离协议期限没有任何意义。
第二,分布式系统中的时间是主观的,不可能有全局时钟⏰(例如,一个节点的30天可以是另一个节点的29.99或另一个节点的29.80天)。因此,以块为单位测量时间,这是所有节点的目标。因此,建议您使用BlockToLive
。首先可能很困难,但是您可以向后计算。
假设您将BlockSize
设置为10(一个区块中的交易数量),并且希望每天大约有100笔交易,那么您可以将BlockToLive
=300。(当然,这是一个标准数字)。
最后,如果您仍然想随意删除私人数据,我建议您使用手动脱链存储机制。