区块链对于产品对于行业究竟意味着什么?文章作者对此分享了自己的一些看法。
随着比特币价格的飙升、ICO圈钱,区块链再次被推上了风口浪尖。从事区块链业务的公司也如雨后春笋般的出现在了大众的视野里,很多业务已经成熟的公司也在发力,争取在这一波技术升级中占得一席之地,很多都是为了赶这一波潮流而做区块链。那么区块链是什么、到底要不要用区块链,要用的话该怎么用?区块链对于产品对于行业究竟意味着什么?
在表达观点之前需要划定一个范围,我把产品经理区分为两种:一种是业务型产品,主要研究用户、需求做产品设计;另一种是技术型产品经理,需要有技术背景,主要负责技术类产品的设计。我们今天讨论的范畴在业务型产品经理研究的范围内,不是以算法为主。
一、理解区块链
用一句话给区块链下定义:区块链是一类具有防篡改容错能力的分布式存储技术。区块链这个名字只是描述了其数据结构,由包含数据的数据块首尾相连形成一个链式结构。所以,可以从两方面来理解区块链技术一方面分布式;另一方面不可篡改。
1、分布式
区块链的数据存储是分布式的,而且每个节点存储的数据都是一样的,所以他不是单一中心化,而是多中心化的,而且每个节点(即分布式数据存储节点)存储的数据是一模一样的,在多中心的分布式数据下,如何保证每个节点存入的数据始终是一样的呢?
主要是通过一致性协议(共识算法)来保证的,简单的理解就是一个的投票的过程,当一个交易在某个节点发生,每个节点都会收到交易产生的数据,并开始验证,通过投票的形式选出大家认为一致同意的数据存入到各自的数据库中,如果某一个节点的数据被修改了,那么下回验证时就会被发现,从而废弃这个节点当前数据,从别的节点重新拷贝一份存入,始终保持数据各个节点数据一致。
目前共识算法主要分为两大阵营,一类是工作量证明发POW以及其衍生算法,比特币采用这种方法;另一类是PBFT以及其衍生,fabric采用这种方法。
2、不可篡改
上文中提到一致性协议保证的是各个节点存储的数据始终是一样的,其中有一点没有给大家说清楚,在验证时如何发现数据被篡改了呢?这个主要是区块链的链式结构在起作用。
链式结构是首尾相连的数据区块形成的。在区块链创建之初会有一个创始块,后面建立的区块会链接到这个区块上面。每个数据区块都会通过哈希算法获得一个哈希值,这个加密算法是单向的,哈希值是唯一不重复的,并且数据区块内的数据发生改变这个值就会重新生成。数据区块的首尾相连就是通过后一个区块存储前一个区块的哈希值来完成的。‘’
除此之外,数据区块还包含当前时间戳、一段时间内有效交易数据等内容。由于包含当前时间戳所以数据区块的排列是有时间先后顺序的。另外在进行共识算法验证时,会对数据内容进行验证,如果某个节点数据被篡改,哈希值改变,共识算法就会通不过,从而保证数据的不可篡改性。
在这里需要提醒一下大家,由于区块链具有不可篡改性,所以存储的数据都是真实的,但需要注意的是,数据真实的并不代表数据正确,如果有人故意录入错误的信息,也是有可能通过了共识算法存入了区块链了。只是他没有办法在把这个数据修改正确,如果要强制修改就会导致数据链条断裂。虽然不能保证数据的正确性,但是如果有人故意录入错误,是可以追查的到这个人的。另外,对于区块链的不可篡改性仍然要看如何进行节点的部署。
共同学习,写下你的评论
评论加载中...
作者其他优质文章