先思考数据上链的目标与特点
系列索引: 上链与背后的流程 | 联盟链开发(一) 动手编 SDK | 联盟链开发(二) SDK 1.0 版本的打造 | 联盟链开发(三) 将 SDK 发布到 PIP | 联盟链开发(四) 什么样的数据应该上链?| 联盟链开发 (五) BSN 相关问与答 | 联盟链开发(六) 链上简历应用 — 设计 | 联盟链开发(七) FISCO BCOS 介绍 | 联盟链开发(八) WeIdentity 极速体验 | 联盟链开发(九) 给Remix升个级 | 联盟链开发(十) 伪代码简述 ECDSA 签名过程 | 联盟链开发(十一) WeIdentity 的多签及限量凭证的实现 | 联盟链开发(十二)
目前,区块链仍然是一个处于早期的领域。
对于诸多新接触这个领域的开发者来说, 「什么样的数据应该上链」 是一个需要深入思考的问题。
今天我们对此进行一些探讨。
提到区块链数据,那么提及最多的一个特性就是 「不可篡改」 了。
但是,在我的理解里,「不可篡改」是区块链数据的特性,而非 「目标」 。
有时候不可篡改是要达成这样一个目标 —— 增强数据的 「可信度」 。
所以,数据不可篡改,就可以推导出数据可信吗?
并非如此。
我对某个电影的评论上链了,并不能够直接地让我的评论更加可信。
因此,如何正确地选择上链的数据,以结合「不可篡改」的特性让数据达成「更加可信」这一目标,是需要我们思考的。
在这里,我就不给出正面例子了,以免限制大家的思路。反正,链上豆瓣这种区块链应用是「然并卵」。
除了增强数据「可信度」之外,有时候我们还会用数据上链达成另一个目标——「证明数据上传在某个时间点之前」,进而 「证明数据诞生在某个时间点之前」 。
有时候我们会把这两个目标混淆,虽然都借助了不可篡改这一特性,但这两个目标截然不同。
这个目标的一个很典型的应用就是「著作权」的证明,通过上链来证明 「我的作品诞生于某个时间点之前」 。
1)成本高
就目前阶段而言,数据上链的成本要远高于存储在普通数据库里。
因此,大型数据,例如视频文件并不适合存在区块链上。
事实上,如果是为了达成前述的两个目标,大型数据在链上存储没有必要。
「保证数据可信」与「证明数据诞生在某个时间点之前」,我们都只需要在链上保存数据的「哈希值」就行了。
2)上链即透明
在大部分情况下,上链的数据对所有人都开放了「读权限」,因此数据上链即意味着数据透明。
所以在进行数据上链的时候,我们要谨慎地思考,究竟什么样的数据是要做到如此透明的。「数据滥用」在这个时代是一种危险且泛滥的行为。
一个解决方案是让 「上链权归用户」 ,让哪些数据透明化让用户自己决定。
本文是一篇开放型文章,并未给出明确的答案。因为正如文章开头所言,区块链仍然是一个处于早期的领域,我们需要在保持谨慎的同时打开我们的思路。大家加油ヾ(◍°∇°◍)ノ゙!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!