区块链加密货币详解

这篇具有很好参考价值的文章主要介绍了区块链加密货币详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

什么是区块链?

什么是哈希函数?

特点

种类

SHA2_256

区块链如何记账?

普通账本

链接账本

区块链账本

什么是采矿?

概念

如何命中?

为什么需要哈希函数?



什么是区块链?

我们先来看定义:

区块:永久存储数据信息的载体单位

链:用金属环节连套而成的索子

区块链:一种安全共享的去中心化的数据账本

从定义中我们可以大概看出来,区块是区块链中的基本信息单位(就像原子一样),多个区块通过连接起来,形成一个名字叫区块链的账本。

区块链加密货币详解,区块链

所以,我们可以这样比喻,区块链是账本,区块是账本中的一行,链是某种将多个行连接起来的方式。

那么如何将多个行连接起来方便查找和读取呢,最简单的就是给每一行顺序编号,这样每一行就通过编号连接起来成为一个账本中的一部分了。账本最重要的就是安全性,顺序编号之后某个人就不可能再插入一个新行了(电子表格除外)。

但是,如果某个人想要修改(而非删减或增加)某一行的内容,那么他只需要找到对应的行号,然后修改这一行中的部分内容,修改后行号没有变化,所以他的修改不会被人发现,这个账本就不安全了。

如果账本可以被修改,那么你的存款,贷款都可以被他人修改,后果可想而知。

所以,想要实现一种安全的账本,必须要有一种安全的链,区块链由此诞生。


什么是哈希函数?

 从上面账本中的例子我们可以看到,如果想要保证账本修改后能被发现,那么我们需要:

将一行内容备份到另一个账本,跟另一个账本比对信息就能确认原账本是否被修改。

但,如何保证备份账本不被修改?给备份账本再增加一个备份账本1?这就陷入了没有止境的递归 了。

所以,我们需要一种机制——让账本的每一行信息,都包含有以前所有行的信息。

你可能立马会意识到,第二行就包含了两行信息,第一百行包含了一百行信息,最后一行包含了整个账本的信息。

那么,也出现了一个物理问题,一行能写下多行的信息吗。还出现了一个哲学问题,如果一行写下了一本书的信息,这一行还能叫一行吗,一片海还是一滴水吗?

所以,很明显,我们需要一种信息压缩机制,将以前所有的账本信息压缩到能在最新的一行中存储。

压缩种类 效果 特点 缺点
可恢复压缩 消息<->摘要 可以恢复原始信息,但摘要和信息的体积直接相关,信息越大,摘要越大 摘要越来越大
不可恢复压缩 消息  ->摘要 无法恢复原始信息,但提取了原始信息特征 耗时长,实现难度大

注:其实严格来说,这并不是一种压缩,而是一种信息特征提取

现在我们来看哈希函数:

区块链加密货币详解,区块链

是否能明白为什么区块链大部分选择哈希函数了。

特点

哈希函数特点很多,我按照自己方式总结几个:

特点 解释
输入长度不固定,但输出长度固定 即提取信息的特征
由输出难以逆推输入 由特征无法恢复信息
难以找到输出相同的不同输入 不同信息特征不同
输入同,输出同;输入不同,输出极大不同 相似信息特征不相似

 下面是一些例子:

区块链加密货币详解,区块链

在线加密解密OSCHINA.NET在线工具,ostools为开发设计人员提供在线工具,提供jsbin在线 CSS、JS 调试,在线 Java API文档,在线 PHP API文档,在线 Node.js API文档,Less CSS编译器,MarkDown编译器等其他在线工具https://tool.oschina.net/encrypt?type=2

如果你在以上网站输入和图片相同的信息,你就会得到相同的输出,这就是哈希函数的一个特点——不论你用何种方式执行哈希函数,对于相同的输入总是能得到相同的输出。

种类

区块链加密货币详解,区块链

哈希算法种类丰富,但区块链主要用SHA2和SHA3,SHA2_256和SHA2_512只是输出的宽度不同,但原理相同。

SHA2_256

SHA家族的算法原理类似,基本流程包括:

信息分块→各块拆分→顺序压缩(加密循环)→输出结果

对于不同长度的输入信息,只是顺序压缩的执行次数不同。 

有兴趣的同学可以研究图中细节,或阅读SHA256算法原理详解_随煜而安的博客-CSDN博客

区块链加密货币详解,区块链


区块链如何记账?

好了,现在我们知道哈希函数SHA2_256,现在如何实现难以被修改的记账?

普通账本

我们先假设存在如下表格的简单账本

信息(原始) 备注
1
2
3

现在假设有人篡改且所有账本第二信息

信息(原始) 备注
1
5
3

 此时如果没有别的记忆,无人能发现修改

链接账本

如果我们在每一行存储前面的信息,做成一个串联的账本

信息(原始) 备注
1 0
2 1
3 2

现在假设有人篡改第二行

信息(原始) 备注
1 0
5 1
3 2

其他人通过检验第三行的信息就能推断出账本第二行被人修改了 。

如果需要篡改账本,且需要篡改所有账本第二+第三行的信息,虽然链接起来了,但只是相邻行的链接。如果要防止多行一起篡改,还需要分布式链接账本,但分布式账本需要每个人存一份,但如果数据在传输或记录过程中出错呢?由谁决定哪个数据是正确的呢?

区块链账本

现在我将上表的前一行信息+备注通过SHA2_256加密(可以在在线加密网站得到和我同样的结果),得到下表:

第一行备注=SHA_256(0)

其中最后一个2是第二行信息。

第二行备注=SHA_256(5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e92)

其中最后一个2是第二行信息。

第三行备注=SHA_256(9bedabceae9404008ff254faed3441d4ec4379584b65399a18b0d24e23bebe213)

其中最后一个3是第三行信息。

信息(原始) 备注
1 5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9
2 9bedabceae9404008ff254faed3441d4ec4379584b65399a18b0d24e23bebe21
3 aa5522adbe0f0f7be76995152a84736addf4c4b50b09d2e384cb8c1ee8ae4eb5

所以区块链账本有什么区别?

第二行的哈希值包含了第一行的信息,

第二行的哈希值包含了第一行的信息+第二行信息,

第三行的哈希值包含了第二行的备注+第三行信息

所以,每一行都包含了前面所有行的信息。

现在假设有人篡改第二行

信息(原始) 备注
1 5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9
5 a12b6c77955ba11b7ee9f2502060a6261e6a0c87356178825859f4e08accfa50
3 16e947d9a2e165e2147e3b1967c373c8bb6a5d6cc88b3255cc28c369cd852699

 那么从第二行生成的HASH值就大变样了,因为第三行中包含了前面所有行,如果这个账本有1000行,那么篡改者还需要修改另外998行,且保证所有节点的账本都被修改完成,这个任务几乎不可能完成。

这么多账本,如果传输出错了,如何确认谁对谁错呢?

记账人(矿工)将当前行(区块)打包输出哈希值并全网发布,每个节点通过哈希函数执行一次,如果哈希值相同,则验证成功,本地存储新的一行(区块)。如果矿工篡改,传输错误,则在正常节点上验证不成功,正常节点不会记录此新交易(区块)。

这就是区块链账本的不可篡改性。


什么是采矿?

概念

由于比特币是第一种区块链加密货币,我们以比特币为例,先看定义:

定义1:是一种获得比特币的方式,简单来讲就是全网矿工一起来做一道题目,谁先做出来,谁就会得到比特币奖励

区块链加密货币详解,区块链

所以挖矿就是解题,具体解什么题呢,就是上面的哈希算法。

但是,哈希算法不是不可解的吗,确实如此。那么如何解题呢?你应该听说过暴力穷举吧?

挖矿就是给定一个哈希函数的输出,你不断尝试不同的输入,将其代入到哈希函数中,看看能否得到相同的输出。

注:真实挖矿为了降低难度,给定的目标输出是一个范围,矿工只需要找到范围内输出对应的输入值。

这里举个例子,挖矿就是射箭,找到一个合适的箭头(随机数),装配上箭柄( 区块信息),通过一个给定的弓(哈希函数),射箭(输出散列值),射中靶子(输出目标散列),就算挖矿成功(得到奖励)。

区块链加密货币详解,区块链

如何命中?

由于这把弓(哈希函数)的机制比较复杂,所以射出去的箭到处乱飞,此时如何射中靶子呢?

区块链加密货币详解,区块链

明白了吗,就是保证射箭过程尽可能快,射出去箭尽可能多 。

回到挖矿,既然挖矿是暴力计算哈希函数,那么高效的挖矿方式就是算的快(高频率),算的多(并行化),由于芯片频率早就已经见顶,所以并行化就是高效挖矿的唯一手段了。

所以你从下面的图看为什么显卡GPU更适合挖矿(绿色是计算单元)

区块链加密货币详解,区块链

为什么需要哈希函数?

我们知道挖矿,但我们并不知道加密货币需要挖矿,那么我们先看挖矿的另一种定义:

定义2:争夺记账的权利,然后获得比特币奖励。

所以,挖矿其实是争取记账的权利,为什么要争取记账的权利?

因为区块链项目是分布式的、去中心化的,没有中心节点指挥着其它节点“有序”的出块。既然没人指挥,就需要在每次出块时有一种所有节点都认可的确权机制:出块的人必须满足某个要求,并且其它节点可以验证这个满足条件。这种确权机制被称之为共识。

但是为什么需要有人打包区块,因为交易信息传播需要时间,每个人打包的信息可能不一样,但是区块链中的某个区块必须是确定唯一的,所以才需要要通过某种方式选中一个节点负责打包区块。

所以,挖矿是打包区块模拟考试,证明旷工有能力运算哈希函数执行区块打包的任务,挖矿的难度是区块链中的一种记账人选择机制。

区块链加密货币详解,区块链

以上为个人学习总结,如有错误,欢迎讨论。文章来源地址https://www.toymoban.com/news/detail-772760.html

到了这里,关于区块链加密货币详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python入门系列】第二十篇:Python区块链和加密货币

    随着数字经济的快速发展,区块链技术和加密货币成为了人们关注的焦点。区块链作为一种去中心化的分布式账本技术,可以实现安全、透明和可追溯的交易记录。而加密货币则是基于区块链技术构建的数字货币,具有匿名性和去中心化的特点。Python作为一种易学易用的编程

    2024年02月15日
    浏览(38)
  • 区块链与加密货币在Web3中的融入及意义

    Web3是指下一代互联网,也被称为去中心化互联网。它的核心理念是建立一个去中心化的经济和社会系统,使得个人和社区能够更加自治和自主,而不依赖于中心化的机构和权力。  在Web3中,区块链和加密货币是非常重要的技术和概念。区块链是一种分布式数据库,它通过去

    2024年02月16日
    浏览(47)
  • 数据仪表盘的数据分析:利用区块链和加密货币进行数据分析

    作者:禅与计算机程序设计艺术 1. 引言 1.1. 背景介绍 随着大数据时代的到来,数据分析和仪表盘成为了企业提高运营效率和决策水平的重要工具。然而,传统的数据分析和仪表盘往往难以满足现代企业快速、高效、智能的需求。为此,本文将介绍一种利用区块链和加密货币

    2024年02月16日
    浏览(44)
  • 比特币/以太坊/加密货币/网络/区块链/钱包助记词:密码学的角度上,24个单词比12个单词更安全吗

    我们从密码学角度来聊聊助记词。 随着区块链钱包的发展和分层确定性(HD)钱包技术的普及,越来越多的用户开始熟悉了一个叫“助记词”的概念,很多人都已经习惯了从一开始使用一个钱包的时候,就先抄好单词认真保管,并且他们对于助记词的重要性也有了很深刻的理

    2024年02月12日
    浏览(65)
  • 加密货币技术架构(二)——BNB

    BNB(币安币)作为币安交易所(区块链交易平台)发行的平台代币,在本人整理资料时市值居于TOP5。 BNB链和BNB代币的创建始于币安中心化交易所的推出。币安交易所由赵长鹏于2017年创立。2017年中期赵长鹏建立了币安加密货币交易所。 币安进行了BNB的首次代币发行(ICO),为了

    2024年02月09日
    浏览(39)
  • 【区块链】虚拟货币钱包

    目前区块链中虚拟货币的钱包种类和应用多样,按照私钥存储方式的不同,可以将钱包分为『 热钱包 』和『 冷钱包 』两大类型。 热钱包又称在线钱包,是指互联网能够访问用户私钥的钱包,一般通过电脑(交易平台)或者手机 APP 进行操作。 『 热钱包 』 优点 实用性高(

    2024年02月16日
    浏览(46)
  • 一文了解什么什么是加密货币及其工作原理

    加密货币是基于区块链技术并由密码学保护的去中心化数字货币。要理解加密货币,首先需要理解三个术语——区块链、去中心化和密码学。   一、加密货币如何运作 简而言之,加密货币中的区块链是一种数字分类账,其访问权限分布在授权用户之间。该分类账记录了与一

    2024年01月23日
    浏览(37)
  • 比特币价格创新高:加密货币的崛起与未来

            近年来,比特币的价格一路上涨,引起了全球投资者和市场的广泛关注。作为最早一批区块链技术应用案例之一,比特币的成功带动了整个加密货币市场的兴起。本文将探讨比特币价格创新高的原因、加密货币的崛起以及未来发展趋势。         1、区块链技术的

    2024年02月04日
    浏览(38)
  • 区块链中的货币与现金系统

    摘  要 : 区块链技术是近年来备受关注的一项新兴技术,它以去中心化、不可篡改和透明等特点,为各个领域的应用提供了全新的解决方案。区块链技术的发展不仅对传统金融、物流、能源等行业带来了深刻的变革,同时也推动了数字经济和数字社会的快速发展。在区块链技

    2024年02月04日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包