• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链
您的位置:首页 > 网络安全 >区块链 > 区块链的原理是什么?

区块链的原理是什么?

作者:互联网 字体:[增加 减小] 来源:互联网

互联网向大家分享了区块链的原理是什么?,其中包含区块链,区块链原理等知识点,遇到此问题的同学们可以参考下
要讲区块链却不讲数字货币是不可能的。毕竟区块链是为了满足比特币独特的需求才被创造出来的。

比特币的目标是能够替代传统货币,作为货币,它就必须有流通能力。简单地说,比特币用户之间可以互相转移比特币。而为了保证比特币的流通能够正常的进行,比特币软件必须提供一些最基本的安全上的保证。比如说,如果A给了你一个比特币,这一个比特币就是你的了。要是A能随随便便把这个比特币抢回去,那肯定不行。

如果你使用的是纸质货币,A要拿回给了你的东西,就必须在物理上把它抢回去。那只要使用物理上的方法保护好这个东西就好了。但是如果你用的是支付宝怎么办?支付宝上的转账无非是数字上的加加减减,并不涉及物理实体的转移。你所需要做的无非是信任支付宝这个第三方的机构,相信支付宝没有和A串通好,一起坑你的钱。

但是这两条到了比特币身上就都行不通了。比特币不是物理实体,同时也不存在一个所有人都信任的第三方(比特币的设计目标就是创造一种用户可以完全匿名的货币,自然不可能去依赖一个这样的第三方)。那应该怎么办呢?其实思路很简单:如果A在大庭广众之下,当着一千个人的面答应把钱给你,那么就算没有第三方的保证,A也很难抵赖。

从实现上来说,每当用户使用比特币进行了交易,关于这次交易的信息就会被广播给所有的比特币用户。这样就算有人想要抵赖,也会被抓到证据。

好了,讲了这么多,好像问题都解决了,那么这里面有区块链什么事呢?

我们可以从一个新生节点的角度看一下这个问题。新生节点要加入比特币网络,就必须对整个网络的情况有所了解。它必须知道网络中的整个交易历史,因为只有这样它才能知道当前其他所有节点各持有多少比特币。而这些交易历史所构成的结构就是区块链。区块链是一系列区块按照时间构成的一个链条,链条中每一个区块都包含数条交易记录。

因为比特币本身在安全上的要求(见前文),区块链必须满足一些特性。简而言之,就是不能让人有修改历史的能力。假设有一个区块链A->B->C,任何接收到这个区块链的新生节点,必须能够很方便的验证交易A之后确实发生了交易B,交易B之后确实发生了交易C。在密码学中,防止数据被改动有一个很方便的工具,就是hash。如果C之中包含了B的hash值(如sha256值),那么如果有任何人尝试发送改动过的B(不妨称为B')给新节点,新节点立刻就能发现B'的hash值和C中记录的不符。所以只要新节点获取到了区块链中最新的一个块,它就能往回验证整个历史的合法性。

那么,新节点要怎么知道最新的块是否合法呢?答案其实是:“它并不能知道。”打个比方说,要是你身边的所有人都商量好了合起伙来骗你,你就没办法判断你听到的是不是假话。但是比特币网络存在这样一个假设:“好人总是占大多数的”。也就是说,当新生节点向网络发出请求,它收到的最常见的回复就是合法的回复。

我们解决掉了历史验证的问题,但还有另一个问题:谁有权利往区块链上添加新的块?如果有恶意节点将“A给C一个比特币”改成了“A给B一个比特币”,其他节点应该怎么区分?答案和之前一样:“它并不能区分。”但是不要忘了,我们假设网络中的好人是占大多数的。在大家的计算能力差不多的情况下,这等同于假设网络中的好人们拥有更多的计算力资源。也就是说,如果我们把“往区块链上增加区块”这件事变成一件需要大量计算的工作,那么拥有更多计算力资源的好人们就能抢在坏人之前加入新区块。

而这个计算量巨大的工作,仍然是hash。所有的节点会达成一个共识:“只接受hash值前几位符合条件的区块”(比如只接收hash值第一位是0的区块)。节点可以通过改动区块中的padding来凑hash值。只要hash算法是安全的,节点就没办法高效的凑对hash值,只能暴力尝试所有的padding来碰运气。运气好凑上了的节点,还可以在区块中增加一条给自己一个比特币的交易记录作为对自己的奖励。这个策略还很适合于控制新区块出现的速度(比特币需要在计算力变动的情况下维持匀速增长),只要增强对hash值的要求(比如原先要求第一位是0,现在要求头两位都是0),就能减慢区块链增长的速度。

区块链的设计目标和工作原理大概是这样。如果有讲的不清楚的地方,或是有错漏的地方,欢迎在评论中指出。 

要讲区块链却不讲数字货币是不可能的。毕竟区块链是为了满足比特币独特的需求才被创造出来的。

比特币的目标是能够替代传统货币,作为货币,它就必须有流通能力。简单地说,比特币用户之间可以互相转移比特币。而为了保证比特币的流通能够正常的进行,比特币软件必须提供一些最基本的安全上的保证。比如说,如果A给了你一个比特币,这一个比特币就是你的了。要是A能随随便便把这个比特币抢回去,那肯定不行。

如果你使用的是纸质货币,A要拿回给了你的东西,就必须在物理上把它抢回去。那只要使用物理上的方法保护好这个东西就好了。但是如果你用的是支付宝怎么办?支付宝上的转账无非是数字上的加加减减,并不涉及物理实体的转移。你所需要做的无非是信任支付宝这个第三方的机构,相信支付宝没有和A串通好,一起坑你的钱。

但是这两条到了比特币身上就都行不通了。比特币不是物理实体,同时也不存在一个所有人都信任的第三方(比特币的设计目标就是创造一种用户可以完全匿名的货币,自然不可能去依赖一个这样的第三方)。那应该怎么办呢?其实思路很简单:如果A在大庭广众之下,当着一千个人的面答应把钱给你,那么就算没有第三方的保证,A也很难抵赖。

从实现上来说,每当用户使用比特币进行了交易,关于这次交易的信息就会被广播给所有的比特币用户。这样就算有人想要抵赖,也会被抓到证据。

好了,讲了这么多,好像问题都解决了,那么这里面有区块链什么事呢?

我们可以从一个新生节点的角度看一下这个问题。新生节点要加入比特币网络,就必须对整个网络的情况有所了解。它必须知道网络中的整个交易历史,因为只有这样它才能知道当前其他所有节点各持有多少比特币。而这些交易历史所构成的结构就是区块链。区块链是一系列区块按照时间构成的一个链条,链条中每一个区块都包含数条交易记录。

因为比特币本身在安全上的要求(见前文),区块链必须满足一些特性。简而言之,就是不能让人有修改历史的能力。假设有一个区块链A->B->C,任何接收到这个区块链的新生节点,必须能够很方便的验证交易A之后确实发生了交易B,交易B之后确实发生了交易C。在密码学中,防止数据被改动有一个很方便的工具,就是hash。如果C之中包含了B的ha

您可能想查找下面的文章:

  • 如何学习区块链
  • 区块链记账原理
  • 用Python从零开始创建区块链
  • 区块链共识机制的深入剖析
  • 区块链3.0是什么?
  • 智能合约的攻与防
  • 什么是区块链(BlockChain)
  • 区块链协议函数式编程的优点
  • 区块链技术解析之什么是区块链BaaS?
  • 区块链中的随机性

相关文章

  • 区块链保险——简化保险流程
  • 为什么所有人都错过了最近500年内最重要的发明(第一章)
  • 执行任务量证明与工作量证明(PoW)和权益证明(PoS)
  • 区块链知识分享——Ripple(瑞波)
  • 最佳辅助-DMI(动向指标)策略
  • 智能合约及Dapp安全简介
  • 为什么中本聪要一直匿名?
  • 金融合约与智能合约
  • 日本Coincheck数字货币交易所注册教程
  • 以太坊可更新智能合约研究与开发综述

文章分类

  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链

最近更新的内容

    • 从共识算法到Token经济学
    • 比特币扩容狗血剧——何为共识
    • 区块链的互联网 Dapps(分布式应用程序)
    • 区块链资产的分类与价值判断
    • 数字货币的挖矿原理
    • 关于 IPFS 星际文件系统介绍
    • 区块链共识类型:消逝时间证明、权威证明、带宽证明
    • 比特币量化-EMA策略
    • 什么是稳定币(Stablecoins)?
    • 区块链中的挖矿原理(POW算法)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有