区块链技术

简介: 区块链特点一种特殊的分布式数据库,没有管理员,彻底无中心写入数据比较慢,要求实时的场景不适配能耗比较大,选择使用时需评估成本和目的(公益还是盈利)所有节点都全量存储数据,并同时支持读写区块链的组成区块链由一个个区块组成,区块很像数据库的记录,每次写入数据,就是创建一个区块。

区块链特点

  • 一种特殊的分布式数据库,没有管理员,彻底无中心
  • 写入数据比较慢,要求实时的场景不适配
  • 能耗比较大,选择使用时需评估成本和目的(公益还是盈利)
  • 所有节点都全量存储数据,并同时支持读写

区块链的组成

区块链由一个个区块组成,区块很像数据库的记录,每次写入数据,就是创建一个区块。
每个区块包含两个部分:区块头和区块体
区块头包含了当前区块的多项元信息,其中最主要的是

  1. 生成时间
  2. 实际数据(即区块体)的 Hash
  3. 上一个区块的 Hash(针对“区块头”(Head)计算的)
  4. Nonce 值,记录了 Hash 重算的次数。

区块体就是你需要保存的业务数据

Hash解释 

Hash 就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 Hash 长度是256位,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的 Hash 一定是不同的(忽略hash冲突的可能性)。
每个区块(包括当前时间)的 Hash 都是不一样的,可以通过 Hash 标识区块。
如果区块的内容变了,它的 Hash 一定会改变。
如果有人修改了一个区块,该区块的 Hash 就变了。为了让后面的区块还能连到它,该人必须同时修改后面所有的区块,否则被改掉的区块就脱离区块链了。Hash 的计算很耗时,同时修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。

节点的同步 

所有节点的IP写死在代码或者配置中
分布式一致性保证中的拜占庭将军问题,只要叛变者不超过1/3,无论叛变者如何折腾,忠诚的将军总能达成一致的意见。
工作量证明机制(PoW),保证每10分钟生成一个区块, 依赖机器进行数学运算来获取插入区块权,资源消耗相比其他共识机制高、可监管性弱,每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。
当某个节点接到其他节点送来的区块时,必须立即停下手里的挖矿工作进行账簿确认。需要确认的信息有三个:账簿的Hash有效,区块的前一页Hash有效,区块体业务数据是否有效。

ps:

在网络可靠,存在节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。
分布式环境下的一致性问题无解,但是采用适当的机制(Paxos,Raft,PBFT,PoW/Pos/DPoS/Casper),永远无法达成一致的可能性极小。

计算Hash(采矿)

区块头包含一个难度系数(difficulty),这个值决定了计算 Hash 的难度。区块链协议规定,使用一个常量除以难度系数,可以得到目标值(target)。显然,难度系数越大,目标值就越小。
Hash 的有效性跟目标值密切相关,只有小于目标值的 Hash 才是有效的,否则 Hash 无效,必须重算。由于目标值非常小,Hash 小于该值的机会极其渺茫,可能计算10亿次,才算中一次。这就是采矿如此之慢的根本原因。这就是总所周知的工作量证明系统(Proof-of-Work)。
难度系数的动态调节,为了将产出速率恒定在十分钟,难度系数每两周(2016个区块)调整一次。如果这两周里面,区块的平均生成速度是9分钟,就意味着比法定速度快了10%,因此难度系数就要调高10%;如果平均生成速度是11分钟,就意味着比法定速度慢了10%,因此难度系数就要调低10%。难度系数越调越高,导致了采矿越来越难。
例子:比特币区块demo链接

ps:

哈希值是固定长度的数值,用来标识唯一数据。
哈希通过将索引、前个哈希、时间戳、数据、随机数作为输入后计算得出。
CryptoJS.SHA256(index + previousHash + timestamp + data + nonce)     data->对于比特币来说是默克树哈希值(2000个交易记录的hash组合)

SHA256 算法通过给定的输入,计算出一个唯一的哈希。相同的输入总会生成相同的哈希。

修改一个区块的唯一方式就是重新开采这个区块以及它之后的所有区块。因为新的区块不断增加,基本不可能修改区块链。

区块链的分叉

如果两个人同时向区块链写入数据,也就是说,同时有两个区块加入,因为它们都连着前一个区块,就形成了分叉。这时应该采纳哪一个区块呢?
规则是,新节点总是采用最长的那条区块链。如果区块链有分叉,将看哪个分支在分叉点后面,先达到6个新区块(称为“六次确认”)。按照10分钟一个区块计算,一小时就可以确认。由于新区块的生成速度由计算能力决定,所以这条规则就是说,拥有大多数计算能力的那条分支,就是正宗的区块链。

区块链的类型

公有链,任何人都可以参与使用和维护,典型的如比特币区块链,信息是完全公开的。
私有链,集中管理者进行限制,只有组织内部的人可以使用,信息公开程度完全由组织控制。
联盟链,介于两者之间,有若干个组织一起合作维护一条区块链,有权限的管理,相关信息会得到保护,典型的如银联组织。

区块链应用场景

区块链即服务,BlockChain as a Service(BaaS)
供应链,阿里对跨境电商防伪已经用上了区块链技术
汇款支付,虚拟货币的比特币就是一个例子
还有很多地方,可以集思广益,譬如身份识别,股票交易,药物防伪,物联网等等。

 

目录
相关文章
|
4天前
|
存储 供应链 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【4月更文挑战第21天】 随着科技不断进步,新兴技术正在重塑我们的世界。本文将深入探讨三种引人注目的技术——区块链、物联网(IoT)和虚拟现实(VR)——它们各自的发展趋势及其在不同领域的应用前景。区块链技术以其不可篡改的数据记录特性,在金融安全、供应链管理等领域展现出巨大潜力;物联网通过智能设备互联,推动智能家居、智慧城市的发展;而虚拟现实则以其沉浸式体验,改变教育、娱乐等多个行业的面貌。这些技术的交叉融合预示着一个更加智能、互联和虚拟的未来。
17 5
|
24天前
|
存储 传感器 监控
未来智能城市中的区块链技术应用
随着城市化进程不断加速,智能城市成为了未来城市发展的主要趋势之一。区块链技术作为一种去中心化、安全可靠的数据传输和存储方式,将在智能城市建设中发挥关键作用。本文将探讨区块链技术在智能城市中的应用场景,并分析其对城市管理、信息共享和安全保障等方面的积极影响。
14 2
|
1月前
|
存储 供应链 区块链
区块链技术在供应链管理中的应用与展望
随着区块链技术的不断发展,其在供应链管理领域的应用愈发广泛。本文将深入探讨区块链技术在供应链管理中的具体应用及未来发展趋势,分析其对供应链透明度、可追溯性和安全性的影响,并展望区块链技术在未来供应链管理中的潜在作用和挑战。
20 0
|
3天前
|
供应链 安全 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【4月更文挑战第22天】 在数字化浪潮中,新兴技术的蓬勃发展正推动着传统行业的变革与升级。区块链技术以其不可篡改和去中心化的特性,为数据安全和信息透明提供了新的解决方案;物联网(IoT)通过智能设备的互联互通,实现了环境与行为的智能化管理;而虚拟现实(VR)技术则拓展了人们的感官体验,创造了沉浸式互动的新空间。本文聚焦于这些技术的发展趋势,探讨其在多个应用场景中的结合与创新,旨在描绘一幅技术交织下的未来蓝图。
14 3
|
1天前
|
安全 物联网 区块链
未来技术的融合潮流:区块链、物联网和虚拟现实的交汇点
【4月更文挑战第24天】 随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在重塑我们的世界。这些技术不仅单独发展,而且越来越多地相互结合,创造出前所未有的应用场景。本文将探讨这些技术的独立趋势,并着重分析它们如何交织在一起,形成一个全新的技术生态系统,从而推动行业革新和社会进步。
|
1天前
|
监控 物联网 区块链
未来技术纵横谈:区块链、物联网与虚拟现实的融合与创新
【4月更文挑战第23天】随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)等正在重塑我们的世界。本文将深入探讨这些技术的最新发展趋势及其在不同领域的应用案例,揭示它们如何相互交织,共同推动着数字化转型的浪潮。
|
6天前
|
消息中间件 数据挖掘 Kafka
《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)(上)
《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)(上)
35 1
|
12天前
|
供应链 安全 物联网
未来交织:区块链、物联网和虚拟现实的技术革新与融合应用
【4月更文挑战第13天】 在数字化时代的浪潮中,新兴技术正以前所未有的速度重塑着世界。本文将深入分析区块链技术的去中心化信任机制、物联网(IoT)的智能连接网络,以及虚拟现实(VR)的沉浸式体验如何独立发展并开始交汇融合,共同构建一个更加智能、安全和互动的未来。我们将探讨这些技术的发展趋势,揭示它们在各行各业的潜在应用场景,并讨论它们如何联合起来推动第四次工业革命。
|
12天前
|
供应链 算法 安全
区块链技术的应用与前景展望
区块链技术的应用与前景展望
|
14天前
|
供应链 安全 区块链
区块链技术在供应链管理中的应用及挑战
【4月更文挑战第11天】 随着数字化时代的到来,企业之间的供应链管理日益复杂化,对透明度、安全性和效率的要求也不断提高。区块链技术作为一种分布式账本技术,因其不可篡改性、去中心化以及可追溯性的特点,在供应链管理中展现出了独特的应用价值。本文将探讨区块链技术在供应链领域的具体应用案例,分析其在提高供应链透明度、降低运营成本、增强产品安全等方面的潜在优势,并讨论在实际应用过程中面临的技术挑战和业务实施难题。

热门文章

最新文章