热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

区块链为什么是不可篡改的

不可篡改是区块链最为重要的特性和应用之一。其是由区块链本身的结构、共识机制、网络拓扑和加

所谓区块链,就是字面意思,由区块组成的一个链条。在计算机领域,链表是最为基本的数据结构之一。区块链就是对链表数据结构的扩展和应用。每一个区块中都维护着自己的数据结构,而每个区块又都指向它的下一个区块。


区块链采用点对点网络(P2P,可不是网贷,网贷是坑人的,P2P网络却很实用),该网络中所有节点都是对等的,没有核心与边缘之分。这是区块链分布式和去中心化的基础之一。


区块链采用数字加密算法,将上链的所有数据进行加密处理,并且保证链上数据的不可篡改。同时,区块链采用共识机制,在网络上传播数据时保证各个节点之间数据的一致性。


为什么区块链是不可篡改的?

首先,所谓的不可篡改是指在区块链中网络节点达到一定规模之后,区块链中已经形成的数据是很难被修改的,而并不是100%不能篡改,只是代价极高。


区块链的不可篡改就要深入了解区块的结构。

从上图可以看出,区块是由区块头和区块主体两部分组成。这里先解释下哈希(hash)值,这是计算机领域最为重要和 著名的算法之一,通过哈希算法,可以给某数据计算出世界上唯一的编码,这个编码就是哈希值。


区块内防篡改的措施

区块主体中是一颗默克尔树,就是要将树上的节点(树的最下层称为叶子节点,区块链中叶子节点就是交易;其它节点都是为了计算默克尔树根而形成的冗余节点,没有实际的数据)的哈希值两两哈希后形成新的节点,重复哈希直到只存在一个哈希值为止。这个最终的哈希值就是默克尔树根。由于哈希值是全局唯一的,可以想见,如果一个交易(树的叶子节点)发生变化,就要修改一整条哈希路径,直到修改掉默克尔树根为止。


区块间防篡改的措施

关注下区块头,里面有一项叫做“前一区块的哈希值”。这个值就是对前面的区块进行哈希得到的全局唯一值。如果之前的区块被修改了,那么它对应的哈希值就会变化,它的后继区块中“前一区块的哈希值”也会变化,导致后续区块的哈希值变化……通过的链的传导,就需要将被修改区块之后的所有区块都做出相应的修改。


网络和协议的支持

上面已经说过,区块链采用P2P网络,所有节点都是对等的。如果修改了本地区块链,还需要传播到所有节点,而一致性协议规定了半数以上的结果才能被支持。这又大大增加了篡改的代价。


通过以上几点,篡改交易会导致默克尔树根变化,从而导致区块变化;而区块变化会导致后继节点的“前一区块的哈希值”变化,从而导致整个链的变化;要将篡改后的区块链同步到所有对等网络节点,由于一致性协议的限制,几乎没有可能。


51%攻击,篡改并非完全不可能

Paxos一致性协议设计中,得到半数以上支持的提议将被确定为最终协议。这是区块链一致性的基础。所以,你只需要具备区块链的对等网络中50%以上的节点(实际情况中并不是每个节点都有计算能力,准确来说应该是50%以上的算力),就能够将自己篡改之后的区块链发布到整个系统当中去。


由于区块链上所有的信息都是透明的,即使有人具有了50%以上的算力,相信其也不会去篡改区块链。这将会导致区块链公信力的下降,从而导致整个应用和信用体系的崩塌。尤其是在比特币这种靠信仰支撑的应用中,篡改将导致所有人的出逃。


比特币的交易防篡改措施:非对称加密

以上介绍了区块链中的防篡改措施。比特币中,还应用到了非对称加密算法,防止单笔交易被篡改。非对称加密有一对密钥,分为公钥和私钥,两者是一对一的关系。公钥顾名思义是可以公开的密钥,私钥必须自身严格保存,一旦暴露就相当于银行卡密码被人知道一样的可怕后果。用户发起的每笔交易都需要自身的私钥做签名,每个参与记账的节点都可以验证交易是否正确并通过用户的公钥验签信息是否被篡改过。这就完成了比特币防篡改的第一步--单笔交易防篡改。



推荐阅读
  • 深入解析闪电网络现状及其在CKB上的应用前景
    本文从技术实现、实际应用、对比特币的影响及在CKB上的潜在优势四个方面,全面分析了闪电网络的现状和发展潜力。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • a16z 宣布成立全新的加密研究实验室,旨在推动加密技术和 Web3 领域的科学发展。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 深入剖析 DEX 赛道:从 60 大头部项目看五大趋势
    本文通过分析 60 大头部去中心化交易平台(DEX),揭示了当前 DEX 赛道的五大发展趋势,包括市场集中度、跨链协议、AMM+NFT 结合、新公链崛起以及稳定币和衍生品交易的增长潜力。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 算法稳定币:构建去中心化加密货币体系的新希望
    本文探讨了算法稳定币在加密经济中的潜力,分析其与传统稳定币及比特币等早期加密资产的区别,并展望其未来发展方向。随着DeFi的兴起,算法稳定币正逐渐成为实现中本聪最初愿景的关键角色。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • BreederDAO 一周年:回顾历程,庆祝成就,展望未来
    10月标志着BreederDAO踏入Web3.0领域的起点,开启了元宇宙工厂的建设。自成立以来,BreederDAO始终致力于构建多样化的数字资产工厂。 ... [详细]
  • 区块链的兴起:恰逢其时,犹如1996年的互联网
    本文探讨了区块链技术的发展阶段,将其与1996年互联网的兴起进行对比,分析了当前区块链技术的现状及其未来潜力。 ... [详细]
  • 2017成都物流技术创新峰会:深入探讨区块链应用
    2017年3月30日,第二届物流技术大会在成都成功举办,会上特别举办了关于区块链技术及其在物流行业应用的专题讨论,深入分析了区块链技术的发展历程、现状及未来趋势。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
author-avatar
广东暖暖_小乖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有