区块链应用适合的两种情况:
1.数据非常重要,高可用,防丢失、防篡改,可追溯的数据。
2.初次合作,相互之间不信任,需要区块链来建立信任机制。
对于一个单位内部:用私有链就可以了;对于多个实体用户组成的联盟就用联盟链。
如何用区块链应用:
对一个现有非区块链系统进行”区块链化”改造:维持前段应用不动,之前是怎么样的,现在还是怎么样的,将后端的传统的数据库改成区块链+数据库的形式,达到一个去中心化,防篡改的目的。
为什么区块链是防篡改的?
不可篡改是不是包含了三部分内容:
1.因为区块都是首尾相连的,包含上一个区块的hash,如果想要修改一个区块就要把所有连接着的区块hash都改了,这个工作量是巨大的。
2.fabric中的每个节点都会存在一个同步过的账本,如果要篡改账本数据不仅需要把自己本地结点的账本数据篡改了,还需要把其他所有的节点的账本都要修改了,这个工作量也是巨大的,而且现实中是难以做到的。
3.如果是某个用户想要恶意执行链码,操作都会被记录在区块里,会留痕,形成追溯问责。但凡有一个人篡改了世界状态,我们可以很简单发现是谁篡改了数据,很好地进行追溯!
结合上三点,区块链保证了所有的账本数据是不可篡改的!提高了联盟中的公信力!
区块链:就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。相比于传统的网络,区块链具有两大核心特点:一是数据难以篡改、二是去中心化。基于这两个特点,区块链所记录的信息更加真实可靠,可以帮助解决人们互不信任的问题。
一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成[8]。
其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。