灵活而防篡改的内区块链模式设计
今天和罗什孵化器的石总聊项目,我们提到了为了保证一些数据的真实性,需要引入区块链技术,这样我们可以避免像58同城这样的虚假信息漫布的问题。 我们聊了很多除了区块链以外的机制补充,还是很有成果的,但是对于区块链技术的实际实施,我考虑了一下,还是应该使用内部数据库来解决。
主要原因有:
1. 支撑能力有限。
搭建一个互联平台、提供的服务远远大于分布式记账的需要,我们也不是一个单纯的金融平台、我们有大量的数据并不敏感,而且是需要反复维护的,如果完全基于区块链来构建平台,是一种因噎废食的方式,既浪费空间,也会导致系统的容错率极低。
2. 不够灵活。
一个正式的互联网服务平台、需求是多种多样的,我们不能将所有信息全部都放到一个公开的信息链条上、最典型的就是用户的隐私数据,而且也没有这样的必要。如果完全基于区块链构建平台,那么就会导致我们本不需要额外做的隐私问题,需要再投入各种技巧来规避,而且是不能从根本上解决的。 用户隐私泄露、服务器风险增加等问题都不好处理。
为此,我设计了一种基于区块链的链式加密的内部区块系统、我称之为 Inner Block Chain 简称 I-BC
下面介绍一下,内区块链的可信度方案以及具体实现方式
内区块链
Inner Block-Chain
内区块链用于单一节点的防篡改账本记录 其主要目的是用于在目前现有的应用基础上扩展区块链能力,主要采用数据库非分布式存储、数据信息区块化的方式。 可以达到的效果是能够将需要对用户公开、并且只读防篡改的内容进行区块化记录,所有的记录内容自动成为一链。 链条中的任一数据被篡改或删除将会导致整条链失效,通过开放API或用户图形化接口接受链内区块的验证。
内区块链的目标并不是传统的交易记录,而是任意行为的记录,而在这个时候每一条记录是没有固定结构的。 并且我们知道基于区块链技术、修改其中一条信息,并且使之合法的唯一途径就是修改整个链条。 这在区块链的创始阶段是可以做到的。 如果我们仅仅基于单一模型(交易) 进行区块化记录,链上的内容较少,结构单一,通过计算再造(全盘修改)链条是完全有可能的(因为我们可以通过相关性分析快速构建一系列记录),并且越早期、其成本越低。
而记录非固定格式数据时,我们无法进行特定的行为分析、唯一篡改的方式就是读取所有的链上数据,再造所有数据。 且无论这时候是否是基于单一模型,必然结果是链上所有Hash都发生改变。
而我们的数据是对用户公开的,所以用户可以在任意时间保存任意的链和hash,如果发生篡改,则必然被公布与众。
内区块链的另外一个价值是便于查找和验证、以扩展的形式支持各种系统应用的可信度。
信任解释:区块链被篡改有两种情况, 1. 局部篡改 2. 整体篡改
-
如果局部被篡改、我们先考虑不被篡改的部分。 不被篡改的部分因为本身数据没有问题、所以数据可信。 但与之相关联的局部链上的块,可能被污染、可能不被污染。 在不被污染的情况下,该局部信息都可信。 如果发现有污染块,那么也会导致这个链条失信。 即 可信数据可信、不可信数据导致链条失信。 在这个情况下,如果我们
[整个链条是公开的①]
、也就意味着 链上的全部块都会被验证,局部被篡改时此时污染块必然会出现,即导致整体链条失信。 -
如果链条整体被篡改、我们会出现上述问题、即全部链上数据hash都改变、此时任意一个区块对于用户来说 都已经不可信。 所以,内区块链并不需要分布式通讯的支持,即可做到防篡改,并且能够有效的保护隐私数据,为公众开放需要的公开数据。
基于我们上述对于整个链条的信任,我们可以将验证聚焦在链条的局部。
⑴ 整个链条的公开我们可以采取的做法是追踪查询、即 链上的每一条数据都一定可以得到 前后关系,如上一条区块,下一条区块,创史区块以及最后一块。 这个时候我们通过任意区块都可以追溯到创世区块或最后一块,严格意义上整条链是完全公开的。 我们如何采取合理的方式向用户公开、以及提供图形界面访问查询,是产品设计端需要处理的问题。
文章地址: 灵活而防篡改的内区块链模式设计 - Sprite keep learning
最近回复