区块链和数据一致性 区块链与数据库

皕利分享 212 0

今天给大家聊到了区块链和数据一致性,以及区块链与数据库相关的内容,在此希望可以让网友有所了解,最后记得收藏本站。

区块链的正确理解是什么?与数据记录有什么关系?

区块链是一种公共的、分布式的账本,与中心化记录方式不同的是,其数据来源单一,数据记录具有一致性,从而可以在各个环节创建更清晰的追踪渠道。

未来的金窝窝将着力于以区块链技术促进大数据的合法流通和商业应用。

区块链现在到底有哪些实际的应用场景?

区块链现在到实际的应用场景有:

1、传统的信息共享的痛点

要么是统一由一个中心进行信息发布和分发,要么是彼此之间定时批量对账(典型的每天一次),对于有时效性要求的信息共享,难以达到实时共享。

信息共享的双方缺少一种相互信任的通信方式,难以确定收到的信息是否是对方发送的。

2、区块链+信息共享

首先,区块链本身就是需要保持各个节点的数据一致性的,可以说是自带信息共享功能;其次,实时的问题通过区块链的P2P技术可以实现;最后,利用区块链的不可篡改和共识机制,可构建其一条安全可靠的信息共享通道。

也行你会有这样的疑问:解决上面的问题,不用区块链技术,我自己建个加密通道也可以搞定啊!但我想说,既然区块链技术能够解决这些问题,并且增加节点非常方便,在你没有已经建好一套安全可靠的信息共享系统之前,为什么不用区块链技术呢?

3、应用案例

举下腾讯自己的应用--公益寻人链,区块链在信息共享中发挥的价值。比特币解决了货币在发行和记账环节的信任问题,我们来看下比特币是如何一一破解上面的两个问题。

滥发问题:比特币的获取只能通过挖矿获得,且比特币总量为2100万个,在发行环节解决了货币滥发的问题; 账本修改问题:比特币的交易记录通过链式存储和去中心化的全球节点构成网络来解决账本修改问题。

链式存储可以简单理解为:存储记录的块是一块连着一块的,形成一个链条;除第一个块的所有区块都的记录包含了前一区块的校验信息,改变任一区块的信息,都将导致后续区块校验出错。因为这种关联性,中间也无法插入其他块,所以修改已有记录是困难的。

区块链的共识机制

1. 网络上的交易信息如何确认并达成共识? 

虽然经常提到共识机制,但是对于共识机制的含义和理解却并清楚。因此需要就共识机制的相关概念原理和实现方法有所理解。 

区块链的交易信息是通过网络广播传输到网络中各个节点的,在整个网络节点中如何对广播的信息进行确认并达成共识 最终写入区块呢?  如果没有相应的可靠安全的实现机制,那么就难以实现其基本的功能,因此共识机制是整个网络运行下去的一个关键。

共识机制解决了区块链如何在分布式场景下达成一致性的问题。区块链能在众多节点达到一种较为平衡的状态也是因为共识机制。那么共识机制是如何在在去中心化的思想上解决了节点间互相信任的问题呢? 

当分布式的思想被提出来时,人们就开始根据FLP定理和CAP定理设计共识算法。 规范的说,理想的分布式系统的一致性应该满足以下三点:

1.可终止性(Termination):一致性的结果可在有限时间内完成。

2.共识性(Consensus):不同节点最终完成决策的结果应该相同。

3.合法性(Validity):决策的结果必须是其他进程提出的提案。

但是在实际的计算机集群中,可能会存在以下问题:

1.节点处理事务的能力不同,网络节点数据的吞吐量有差异

2.节点间通讯的信道可能不安全

3.可能会有作恶节点出现

4.当异步处理能力达到高度一致时,系统的可扩展性就会变差(容不下新节点的加入)。

科学家认为,在分布式场景下达成 完全一致性 是不可能的。但是工程学家可以牺牲一部分代价来换取分布式场景的一致性,上述的两大定理也是这种思想,所以基于区块链设计的各种公式机制都可以看作牺牲那一部分代价来换取多适合的一致性,我的想法是可以在这种思想上进行一个灵活的变换,即在适当的时间空间牺牲一部分代价换取适应于当时场景的一致性,可以实现灵活的区块链系统,即可插拔式的区块链系统。今天就介绍一下我对各种共识机制的看法和分析,分布式系统中有无作恶节点分为拜占庭容错和非拜占庭容错机制。

FLP定理即FLP不可能性,它证明了在分布式情景下,无论任何算法,即使是只有一个进程挂掉,对于其他非失败进程,都存在着无法达成一致的可能。

FLP基于如下几点假设:

仅可修改一次 :  每个进程初始时都记录一个值(0或1)。进程可以接收消息、改动该值、并发送消息,当进程进入decide state时,其值就不再变化。所有非失败进程都进入decided state时,协议成功结束。这里放宽到有一部分进程进入decided state就算协议成功。

异步通信 :  与同步通信的最大区别是没有时钟、不能时间同步、不能使用超时、不能探测失败、消息可任意延迟、消息可乱序。

通信健壮: 只要进程非失败,消息虽会被无限延迟,但最终会被送达;并且消息仅会被送达一次(无重复)。

Fail-Stop 模型: 进程失败如同宕机,不再处理任何消息。

失败进程数量 : 最多一个进程失败。

CAP是分布式系统、特别是分布式存储领域中被讨论最多的理论。CAP由Eric Brewer在2000年PODC会议上提出,是Eric Brewer在Inktomi期间研发搜索引擎、分布式web缓存时得出的关于数据一致性(consistency)、服务可用性(availability)、分区容错性(partition-tolerance)的猜想:

数据一致性 (consistency):如果系统对一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有读操作都不能读到这个数据,对调用者而言数据具有强一致性(strong consistency) (又叫原子性 atomic、线性一致性 linearizable consistency)[5]

服务可用性 (availability):所有读写请求在一定时间内得到响应,可终止、不会一直等待

分区容错性 (partition-tolerance):在网络分区的情况下,被分隔的节点仍能正常对外服务

在某时刻如果满足AP,分隔的节点同时对外服务但不能相互通信,将导致状态不一致,即不能满足C;如果满足CP,网络分区的情况下为达成C,请求只能一直等待,即不满足A;如果要满足CA,在一定时间内要达到节点状态一致,要求不能出现网络分区,则不能满足P。

C、A、P三者最多只能满足其中两个,和FLP定理一样,CAP定理也指示了一个不可达的结果(impossibility result)。

区块链和大数据有什么关系?

区块链和大数据都是热门话题。许多人把它们放在一起讨论,并希望与更多的热

点相冲突。大数据早于区块链的发展已经成为一个巨大的行业。尽管区块链处于

行业的早期阶段,但许多技术和商业模式仍在探索之中。

鉴于大数据行业相对成熟,我们以大数据为起点,研究区块链技术如何与大数据 

行业的各个方面进行接口。

大数据核心产业链大致可以分为以下三部分:

产品部分:包括大数据基础软件和大数据应用软件等大数据软件产品相关行业。

数据部分:包括数据源(数据收集,数据提供),数据流通(数据交易,数据共

享)以及与数据直接相关的其他行业。

服务:与大数据基础设施服务(数据存储,数据传输,数据清理,数据脱敏

等),大数据分析服务和大数据应用服务相关的服务。

01产品部分

软件产品和区块链的组合应基于技术。大数据技术和区块链技术有相似之处:它

们是分布式架构。

但它们也有明显的区别:在大数据技术中使用分布式技术是计算资源 - 利用多台

机器的计算资源,并将不能由单个机器处理的任务分配给多台计算机,每台计算

机。通过处理不同的任务,它集成了多种计算资源,形成强大的数据处理能力。

在区块链中使用分布式技术允许多个实体相互信任。每个大型机都通过自身控制

的计算机参与整个区块链的操作。每台计算机运行基本相同的任务,整个区块链

通过重复的冗余计算,可以实现多个实体之间的互信。

从技术角度来看,大数据技术使用信任来交换计算资源,而区块链技术则使用计

算资源来交换信任。由于这两者之间的差异,在技术上,大数据和区块链很难找

到合适的碰撞点。

02数据部分

在数据部分的各种格式中,区块链可以找到它的位置。

链的意义不大。但是,如果多个实体参与数据收集和数据提供,则区块链可以发

挥其作用。

为了解决多个实体之间的信任问题,每个实体将其自己收集的数据广播给所有消

费者,并将该数据的散列值存储在区块链中。根据区块链上的哈希值,区块链中

的每个主体都可以验证它收到的完整数据是否被篡改。区块链可追溯性和不可否

认性使得多方提供数据更加可信。同时,这种方法也有助于维护大数据的完整

性。

在数据流通行业,区块链可以发挥更大的作用。在大数据流通行业,大数据本身

就是数字资产。数字资产的交易可以通过区块链来实现。此外,区块链上实施的

分散式大数据交易可以减少原始数据联系。在分散交易平台中,只有买卖双方才

能访问原始数据;在集中交易平台上,作为交易中心的数据中介通常会接触到原始

数据,这会增加数据泄漏和资产。损失风险。

03服务部分

在大数据服务中,作为数字资产的服务能力和数据交易中的数据与资产概念相同

并且可以交易。

区块链可以在这类数字资产的交易中发挥重要作用。同时,还有许多不断改变区

块链的新技术,例如同态加密。同态加密是结合区块链和大数据服务的重要技

术。同态加密可以真正将数据服务功能转换为数字资产,而不需要大数据服务提

供商复制服务中的原始数据。风险。

写到这里,本文关于区块链和数据一致性和区块链与数据库的介绍到此为止了,如果能碰巧解决你现在面临的问题,如果你还想更加了解这方面的信息,记得收藏关注本站。

标签: #区块链和数据一致性

  • 评论列表

留言评论