如何快速读懂大火的区块链?(入门级)

2024-03-09 17:50

本文主要是介绍如何快速读懂大火的区块链?(入门级),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于区块链的8个问题(入门级)

1 什么是区块链?

区块链是一种软件技术,本质上是一种分布式的数据库。

首先,区块链的主要作用是存储信息,任何需要保存的信息都可以写在区块链上,也可以从里面读取,所以它是数据库。

其次,区块链不止存在于某一个人那里,所有人都可以架设服务器,加入到区块链的网络里,成为其中的一个节点,所以它是分布式的。在区块链网络里,不存在一个中心的节点,所有的节点都是平等的,都保存着完整的数据库信息,你可以向任何一个节点写入/读取数据,因为所有节点最后都会同步,保持区块链的一致。

举个例子,可以把区块链想象成一个账本,里面记录着一些转账的记录。但这个账本不止一本,而是任何想要的人都可以得到一本账本,而且每本账本的记录都是同步且一致的。

2 区块链就是比特币吗?

不是。

上面说了,区块链是一种技术,而比特币是这种技术的第一个成功应用。

比特币诞生于2008年的一篇论文,一个署名为中本聪的人,提出了一种构想,可以创造出一种不受政府和其他任何人控制的货币,这种货币就是比特币。

这种没有任何资产支持的货币,看似是不可能的狂想,但居然变成了现实,其价格也一路上涨,从开始花一万个比特币买一个披萨,到2017年涨到了两万美元一个,成为了所有人都在关注的焦点。

目前知乎上还记录着一个真实的错过一个亿的例子,:


v2-81156abae513cfcf1d583def92cd4d00_b.jpg


这个在2011年底的回复,五年后的2017年,比特币真的到达了历史高点,真的可以称为神预言了。2011年底一个比特币的价格大约是2美元,6000元人名币可以买500个,到2017年最高点的两万美元1个,也就是1000万美元,6000多万人民币,四舍五入这就是一个亿呀,同志们。

3 区块链是凭空出现的全新技术吗?

不是。

区块链技术其实是一些已经存在技术的整合,它结合了密码学、哈希算法、P2P网络等已有技术,给出了一种解决问题的新思路,不可否认它的创新,但说它是革命性的创新也有点夸大其实了。

4 区块链最大的特点是什么 ?

没有管理员,不能被篡改。

区块链是无中心的,分布式的系统。无中心意味着没有管理员,没有管理员也就是说没有一个人可以轻易更改区块链上的记录,这种不可篡改的特点,导致没有人能控制区块链,这也就保障了区块链上存储信息的可信性。

5 区块链如何实现不能被篡改?

通过更新数据的难度和链式机制保证。

区块链就是由一个个区块连接而成的链。在账本的例子中,可以把每个区块想象成账本中的一页,区块链就是一页页装订在一起构成的账本。

每个区块记录的信息由两部分组成:

  • 区块头:记录当前区块的特征值
  • 区块体:记录实际数据

区块头里面记录了一些特征值,包括生成时间、实际数据的哈希、上一个区块的哈希等。其中需要理解的一个概念是哈希,所谓"哈希"就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 哈希长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的哈希一定是不同的。

因此,通过哈希,可以保证两点:

  • 每个区块的哈希都是不一样的,可以通过哈希标识区块
  • 如果区块内容改变了,哈希值会变

接下来,就是链式结构精妙的地方了,由于链上的每个区块都保存了上一个区块的哈希值,这时,如果要篡改区块链上的信息,只修改一个区块的内容是不行的,因为修改了这个区块的数据后,该区块的哈希值会变,这样原来的下一个区块发现新计算的哈希值和原来保存的哈希值不一致,下一个区块就不承认该区块的内容了。如果要让下一个区块承认该区块修改后的内容,则需要依次修改链上后面的所有区块才行。

但是,修改区块内容就要计算哈希,而哈希的计算是一个很耗时耗力的工作,基本不可能被一方独自完成。

因此,这种独自修改的困难加上链式结构带来的联动机制,保证了区块链的内容可信性,也就是说内容一旦写入就无法被篡改。

在账本的例子中,如果要修改其中一页的记录,则需要修改这一页以及该页后面所有页的记录才行,而修改记录本身需要的橡皮是一个 很难获取到的资源,而且每页修改都要重新获取橡皮,这就加剧的困难导致了记录很难修改。

6 区块链如何保证写入数据的可信?

通过密钥和写入确认来保证。

以比特币的交易的过程为例,当 A 要支付给 B 10个比特币,这就是一笔交易。要完成这笔交易,需要两步:

  1. 申报交易:提交这笔交易的必要信息,验证这比交易的可信性
  2. 确认交易:验证过程,将交易记录在区块链上,记录后数据不可被修改

在申报交易的时候,转出比特币的一方,此笔交易中的 A 需要提供以下几个信息:

  • 交易的金额
  • 上一笔交易的哈希(你从哪里得到这些比特币)
  • 本次交易双方
  • 支付方的公钥
  • 支付方的私钥生成的数字签名

验证这笔交易是否属实,需要三步:

  • 第一步,找到上一笔交易,确认支付方的比特币来源。
  • 第二步,算出支付方公钥的指纹,确认与支付方的地址一致,从而保证公钥属实。
  • 第三步,使用公钥去解开数字签名,保证私钥属实。

通过这几步,就能保证 A 确实是这笔钱的主人,同时 A 确实有这笔钱。这样就保证了这笔交易是真实的,可以被记录的。

在交易确认阶段,这笔交易会被记录在区块链上,通过上述区块链的特性保证交易不能被篡改。

7 除了比特币还有什么值得关注的区块链技术?

以太坊 和 Hyperledger。

根据网络范围可以将区块链划分为:公有链、联盟链、私有链三类。

公有链

公有链就是完全对外开放,任何人都可以任意使用,没有权限的设定,也没有身份认证之类,不但可以任意参与使用,而且发生的所有数据都可以任意查看,完全公开透明。

比特币就是一种公有链网络系统。除了比特币,以太坊是最值得关注的公有链。以太坊(ethereum)区块链平台是 2013 年 12 月,Vitalik Buterin 提出的,除了可基于内置的以太币(ether)实现数字货币交易外,还提供了图灵完备的编程语言以编写智能合约(smart contract),从而首次将智能合约应用到了区块链 。以太坊的愿景是创建一个永不停止、无审查、自动维护的去中心化的世界计算机。

联盟链

允许授权的节点加入网络,可根据权限查看信息,往往被用于机构间的区块链,称为联盟链或行业链。

2015 年 12 月,Linux 基金会发起了 Hyperledger 开源区块 链项目,旨在发展跨行业的商业区块链平台。Hyperledger 提 供 了 Fabric 、 Sawtooth 、 Iroha 和Burrow 等多个区块链项目,其中最受关注的项目是Fabric。不同于比特币和以太坊,Hyperledge Fabric专门针对于企业级的区块链应用而设计,并引入了成员管理服务。

私有链

所有网络中的节点都掌握在一家机构手中,称为私有链。

目前好像没有专门的私有链项目,或者说把联盟链部署在一家就是私有链了吧。

8 区块链有什么用?

我也不知道,欢迎大家来找我讨论,不吝赐教。

虽然各种文章给出了很多区块链的应用场景,但是有哪些是必须靠区块链才能解决的,而传统的分布式数据库解决不了的,我也没有想明白。

对于公有链这种完全对外开放和公开的系统,还有一定的应用场景和不可替代性。但要考虑到性能和可用性,没有想到合适的场景。

对于联盟链,有了成员认证,感觉完全可以在分布式数据库的基础上进行修改而来,而且不需要太多修改,把 transcation log 每家保存一份就够了,同样可以达到分布式且不可篡改,成本比基于区块链来做小得多。

不过也要承认包装的作用,虽是新瓶装旧酒,但可能大家关心的就是新瓶而已。

作者:厚之成 (公众号:可乐就是正义)

  • 滴滴云全线标准型云服务器限时特惠,注册即送新手大礼包
  • 新购云服务1月5折 3月4折 6月低至3折
  • 滴滴云使者招募,推荐最高返佣50%
滴滴云-为开发者而生 滴滴云使者

这篇关于如何快速读懂大火的区块链?(入门级)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/791470

相关文章

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

UE5 半透明阴影 快速解决方案

Step 1: 打开该选项 Step 2: 将半透明材质给到模型后,设置光照的Shadow Resolution Scale,越大,阴影的效果越好