区块链技术

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

区块链特点

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

区块链的组成

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

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

 

目录
相关文章
|
6天前
|
供应链 安全 分布式数据库
探索区块链技术在供应链管理中的应用
【10月更文挑战第21天】 本文深入探讨了区块链技术如何在供应链管理中发挥关键作用,通过具体案例分析,揭示了区块链提高透明度、降低成本和增强安全性的潜力。文章首先概述了区块链技术的基本原理及其对传统供应链模式的挑战,接着详细讨论了区块链如何在不同供应链环节中实施,并分析了其带来的变革。最后,文章提出了企业在采纳区块链技术时可能面临的挑战和应对策略,为供应链管理者提供了宝贵的参考。
|
17天前
|
存储 安全 物联网
未来已来:区块链技术在物联网与虚拟现实中的应用
随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐改变我们的生活和工作方式。本文将探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,为我们带来更便捷、安全和沉浸式的体验。
|
18天前
|
存储 供应链 算法
深入探索区块链技术:原理、应用与未来展望
本文将带你深入了解区块链技术的基本原理,探讨其在金融、供应链、医疗等多个领域的应用案例,并展望其未来的发展趋势。通过本文,你将对区块链技术有一个全面的认识,理解其背后的技术逻辑和应用场景。
|
24天前
|
供应链 安全 区块链
探索区块链技术在数据安全中的应用
本文深入探讨了区块链技术如何革新数据安全领域,特别是在保护个人隐私、增强数据完整性和透明度方面的作用。通过分析区块链的去中心化特性、加密技术以及智能合约的功能,文章阐述了这一技术如何有效防止数据篡改、确保交易记录的不可逆性,并促进跨组织间的信任建立。此外,还讨论了当前区块链技术面临的挑战及未来发展趋势,为理解其在数据安全领域的潜力提供了全面视角。
|
20天前
|
存储 供应链 监控
深入探索区块链技术在供应链管理中的应用####
本文旨在探讨区块链技术如何革新供应链管理,通过分析其核心特性与实际案例,揭示该技术如何增强透明度、提升效率并降低成本。我们将从区块链的基本原理入手,逐步剖析其在供应链各环节中的具体应用,最终展望其未来发展趋势。 ####
51 3
|
23天前
|
存储 供应链 分布式数据库
深入理解区块链技术:原理、应用与挑战
本文旨在探讨区块链技术的基本原理、主要应用及其面临的挑战。通过分析区块链的分布式账本技术、加密算法和共识机制,我们揭示了其如何在无需中心化权威的情况下确保数据的不可篡改性和透明性。此外,文章还讨论了区块链在金融、供应链管理、智能合约等领域的应用案例,并指出了当前区块链技术面临的可扩展性、隐私保护和法律监管等挑战。通过对这些内容的深入分析,我们希望为读者提供一个全面而深入的区块链技术概览。
49 6
|
22天前
|
供应链 物联网 区块链
未来技术的脉动:探索区块链、物联网与虚拟现实的融合趋势
本文深入探讨了区块链技术、物联网(IoT)和虚拟现实(VR)这三个领域的最新发展趋势,以及它们在现代科技生态中的交互作用。通过分析这些技术的独特优势和面临的挑战,我们揭示了它们如何共同塑造未来的技术景观,特别是在数据安全、智能设备管理和沉浸式体验方面。文章还讨论了这些技术融合后可能带来的社会和文化影响,以及它们如何推动创新和促进经济增长。
49 3
|
25天前
|
供应链 安全 数据挖掘
深度剖析区块链技术在金融科技领域的创新应用与挑战####
本文旨在探讨区块链技术于金融科技(FinTech)领域的革新性应用,分析其如何重塑传统金融服务模式,并深入剖析面临的技术与监管挑战。通过案例研究与数据分析,揭示区块链在提升金融效率、增强安全性及促进金融包容性方面的潜力,同时强调构建健全的法律法规框架与技术创新之间的平衡对于推动行业健康发展的重要性。本文不涉及具体代码实现或技术细节,而是聚焦于区块链应用的战略意义与实践挑战。 ####
|
24天前
|
存储 供应链 安全
智能合约与区块链技术的融合:重塑数字信任###
本文深入探讨了智能合约与区块链技术融合的现状、挑战与未来趋势。不同于传统摘要,本文以高度概括的形式,聚焦于两大核心要点:一是智能合约作为区块链上的自执行协议,如何通过代码自动化地促进信任最小化的交易;二是这种融合如何推动数字经济向更加透明、高效、安全的方向发展。全文围绕智能合约的工作原理、区块链提供的底层支持、以及两者结合所面临的技术与非技术挑战展开讨论,旨在为读者提供一个关于这一前沿技术领域的全面而深入的视角。 ###
|
29天前
|
存储 供应链 安全
探索区块链技术在供应链管理中的应用
本文深入探讨了区块链技术在供应链管理中的应用,分析了其如何提高透明度、安全性和效率。通过具体案例研究,展示了区块链如何解决传统供应链中的信任问题,降低成本,并促进更高效的物流管理。文章还讨论了实施区块链技术面临的挑战和未来发展趋势。