区块链技术

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

区块链特点

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

区块链的组成

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

  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天前
|
供应链 安全 物联网
探索区块链技术在供应链管理中的应用
【5月更文挑战第30天】 随着数字化转型的不断深入,区块链技术作为一种创新的分布式账本技术,在供应链管理领域展现出巨大潜力。本文旨在探讨区块链技术如何优化供应链流程,提高透明度和效率,以及它在实际应用中的挑战和潜在解决方案。通过分析区块链的核心特性及其与现有供应链管理模式的融合,我们揭示了其在降低成本、提升安全性以及增强可追溯性方面的独特价值。
|
3天前
|
安全 网络安全 区块链
【计算巢】区块链技术在网络安全中的应用与挑战
【5月更文挑战第31天】区块链技术为网络安全带来新机遇,其去中心化、不可篡改和共识机制特性有助于身份验证、数据完整性保护及提高网络抗攻击性。但面临性能、隐私保护和法规监管等挑战。简单Python代码展示了区块链在数据完整性验证的应用。随着技术发展,区块链有望在网络安全领域发挥更大作用,未来可能与其它安全技术融合,为网络安全提供更强保障。
|
3天前
|
Cloud Native 物联网 持续交付
未来科技浪潮:区块链、物联网与虚拟现实的融合创新云原生技术:重塑IT架构的未来
【5月更文挑战第31天】在信息技术飞速发展的今天,新兴技术如区块链、物联网和虚拟现实等正成为推动社会进步的重要力量。本文将探讨这些技术的发展趋势及其在各领域的应用前景,揭示它们如何相互融合,共同塑造一个智能化、互联的未来世界。 【5月更文挑战第31天】本文深入探讨了云原生技术的兴起及其对传统IT架构的颠覆性影响。通过分析云原生的核心概念,如微服务、容器化、以及持续集成/持续部署(CI/CD),文章揭示了这些技术如何促进更高效、灵活和可扩展的软件开发实践。同时,本文还讨论了企业在采用云原生技术时面临的挑战与机遇,并展望了云原生技术在未来IT领域的发展趋势。
|
3天前
|
存储 供应链 安全
基于区块链技术的智能合约安全性分析
【5月更文挑战第31天】本文深入探讨了区块链技术中智能合约的安全性问题,通过分析现有智能合约的安全漏洞和攻击手段,提出了一系列增强智能合约安全性的策略。文章首先介绍了区块链和智能合约的基本概念,随后详细讨论了智能合约面临的安全挑战,包括代码漏洞、重入攻击等问题,并对比分析了不同平台下智能合约的安全性差异。最后,文章提出了一系列提高智能合约安全性的建议,旨在为区块链应用的健康发展提供参考。
|
3天前
|
存储 边缘计算 物联网
未来技术的融合潮流:区块链、物联网与虚拟现实的革新之路
【5月更文挑战第31天】随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐改变我们的生活和工作方式。本文将探讨这些技术的发展动态,并分析它们在各个应用场景中的结合点,揭示如何利用这些技术推动创新和效率的提升。
|
3天前
|
传感器 供应链 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的革新融合
【5月更文挑战第31天】 在数字化浪潮中,创新技术如区块链、物联网(IoT)、和虚拟现实(VR)正塑造着新的经济和社会格局。本文将探讨这些技术的最新发展趋势,分析它们在不同领域的应用前景,并讨论这些技术如何相互融合,共同推动第四次工业革命的深入发展。通过案例分析和专家访谈,文章揭示了这些技术在未来可能带来的变革,并对企业和个人如何适应这一趋势提出了建议。
|
3天前
|
存储 供应链 监控
探索区块链技术在供应链管理中的应用
【5月更文挑战第31天】 随着数字化转型的加速,区块链技术作为一种不可篡改且去中心化的数据记录工具,正在逐渐改变传统供应链管理模式。本文将深入探讨区块链技术如何增强供应链的透明度、安全性和效率,以及它如何帮助企业解决供应链中的信任问题和追溯性难题。通过分析具体案例,我们将揭示区块链技术在现代供应链管理中的实际应用和潜在价值。
|
3天前
|
存储 供应链 区块链
探索区块链技术在供应链管理中的应用
【5月更文挑战第31天】 随着数字化转型的深入发展,区块链技术已逐步从金融领域拓展到多个行业。本文聚焦于区块链技术在供应链管理领域的应用,旨在探讨区块链如何通过其不可篡改性、透明度和去中心化的特点,为供应链管理带来革新。文中将详细分析区块链提高供应链效率、增强安全性以及促进多方协作的具体机制,并通过案例分析,展示其在实际操作中的效果与挑战,为读者提供一种全新的视角来理解区块链技术在现代供应链管理中的潜力与价值。
|
3天前
|
机器学习/深度学习 供应链 区块链
深度学习在图像识别中的应用与挑战构建未来:区块链技术在供应链管理中的应用
【5月更文挑战第31天】 随着人工智能技术的飞速发展,深度学习已成为推动计算机视觉领域进步的关键力量。特别是在图像识别任务中,深度神经网络凭借其强大的特征提取和学习能力,显著提升了识别的准确性和效率。然而,随着应用的深入,深度学习在图像识别中也面临着数据偏差、模型泛化能力不足、计算资源消耗巨大等挑战。本文将探讨深度学习在图像识别领域的应用现状,分析其面临的主要技术挑战,并对未来发展趋势进行展望。
|
3天前
|
传感器 物联网 区块链
新兴技术潮流:区块链、物联网与虚拟现实的未来展望
【5月更文挑战第31天】 随着科技的迅猛发展,一系列新兴技术正逐步从概念验证走向成熟应用。本文将深入探讨区块链技术在安全性和透明度提升方面的创新潜力,分析物联网如何通过智能化连接推动产业升级,并剖析虚拟现实技术为用户带来沉浸式体验的可能性。这些技术的融合与发展不仅预示着信息时代的新阶段,也将深刻影响社会结构与人类行为模式。
9 1