二、Web3 学习(区块链)

区块链基础知识

    • 一、基础知识
        • 1. 区块链可以做什么?
        • 2. 区块链的三个特点
    • 二、区块链的类型
        • 概括
        • 1. PoW
        • 2. PoS
        • 3. 私有链和联盟链
    • 三、智能合约
        • 1. 什么是智能合约
        • 2. 如何使用智能合约
    • 四、困境
        • 1. 三难选择的基本要素
        • 2. 这真的是一个三难选择吗?
    • 五、比特币
        • 1. 什么是比特币
        • 2. 比特币白皮书

一、基础知识

想必大家或多或少都听说过这个词汇,本文将着重讲讲区块链的类型,以及关于智能合约、比特币白皮书相关内容,带你入门这个领域!
在这里插入图片描述

1. 区块链可以做什么?
  • 区块链是数据的共享分类账本 - 每个人都可以实时查看正在发生的事情和所有交易。
  • 如果信任可以通过代码设置,那么创作者就不必依赖中间商。
    • 不必通过银行就能获得钱财;
    • 不必信任律师才能起草合同;
    • 不必依赖互联网才能谋生。
2. 区块链的三个特点
  1. 去中心化:交易存储在计算机(节点)网络上。
  2. 不可篡改:事务一旦提交到块就不能更改。
  3. 公开透明:任何人都可以查看交易。

比特币(BTC)使用区块链,因此是去中心化、不可篡改和公开透明的。这也是由于:

  1. 硬上限:永远只有 2100 万比特币。
  2. 单一用途:它只是一种存储价值的数字 Token。

从开发人员的角度来看,这是一个永不宕机的后端。
人们可以通过地址匿名看到大家在做什么。
可以部署产品并使用它来创建一个去中心化的应用程序,而且每个人都拥有他们所创造的东西。

参考地址:
什么是区块链(youtube.com)


二、区块链的类型

更详细内容可参考文章区块链类型:
https://www.gemini.com/cryptopedia/blockchain-types-pow-pos-private

概括

区块链系统的设计差异很大,特别是在用于执行验证网络数据的基本任务的共识机制方面。
最常见的共识机制是工作量证明(PoW)权益证明(PoS) 以及私有链和联盟链使用的方法。
每种设计对底层区块链的安全性、可访问性和可持续性都有不同的影响。

区块链类型 Blockchain Types

  • PoW:工作量证明区块链 Proof-of-Work Blockchains
  • PoS:权益证明区块链 Proof-of-Stake Blockchains
  • 私有链和联盟链 Private and Consortium Blockchains

如今,大多数公共区块链网络都使用称为 工作量证明 (PoW)权益证明 (PoS) 的流程来提供共识,而 私有链(或“许可”)区块链和分布式账本技术 (DLT) 可以通过多种方式构建,以实现共识。
优先考虑速度、安全性和可扩展性。

1. PoW

工作量证明区块链

PoW 共识机制是区块链中使用最广泛的方法之一,最先由比特币普及。
PoW 系统的定义组件是矿工和他们用于验证比特币 (BTC) 交易的计算所消耗的电力。
矿工操作计算机硬件来运行网络节点,这些节点利用计算能力通过算法解决称为工作证明的数学难题。解决难题的矿工首先确认区块链上最新的交易区块。
然后,成功的矿工将新块广播到所有其他节点,这些节点反过来确认其准确性并将该块添加到其区块链副本中,为整个网络构建可验证的数据记录。
这个验证过程代表了共识。只有当该数据得到确认后,才能将新块添加到网络中。
矿工会因为第一个验证新数据块并将其添加到 PoW 区块链而获得新铸造的加密货币,即区块奖励(对于比特币,他们会收到 BTC)。

工作量证明区块链旨在以一致的时间间隔生成区块——例如,比特币大约每十分钟生成一个区块。
PoW 网络的速度和规模受到限制,因为证明工作的过程非常耗能。此外,相对于网络上的计算能力,PoW 网络的编码难度或多或少是困难的。
你可能认为计算能力只是竞争——更多的计算能力等于更多的竞争,这意味着更难的工作证明。
尽管存在速度和可扩展性方面的局限性,PoW 区块链历来提供了更好的安全性,同时保持了有意义的去中心化。
由于 PoW 系统是分布式的,因此恶意行为者通过控制网络上的大部分计算能力来接管区块链的成本极其高昂。硬件、电力和计算成本通常太高而难以克服。

然而,使 PoW 区块链安全的相同功能也使作为节点参与网络的障碍变得很高。
对于普通用户来说,运营挖矿设备并支付相关的硬件和电力成本过于昂贵,而且许多主要网络上的挖矿已被在网络治理中积累了影响力的大型挖矿运营商垄断。
PoW 网络的另一个缺点是它们是能源密集型的,因此会对环境造成破坏。解决工作证明所需的计算能力需要大量的电力。

2. PoS

权益证明区块链

权益证明是第二流行的共识机制,它解决了工作量证明区块链的许多缺点,例如速度慢、可扩展性差、能源消耗效率低以及进入门槛高。
当前行业领先的 PoS 区块链的例子包括 Polkadot、Avalanche 和 Cardano。
以太坊最初被设计为 PoW 区块链,目前正在过渡到称为以太坊 2.0 的 PoS 区块链。

PoS 区块链只是有验证器,而不是由矿工验证交易。验证者是验证数据的网络节点运营商,与 PoW 系统类似,但没有能源密集型计算过程来赢得验证权。
验证者不是致力于解决工作证明,而是 “抵押” 区块链的一些本机代币,以获得有资格选择作为验证者节点的资格。
潜在的验证者本质上将质押区块链原生的加密代币作为抵押品。当需要验证 PoS 区块链上交易块中保存的数据时,系统会随机选择一个验证器来确认数据。
虽然在一定程度上是随机的,但某些变量可以使验证者更有可能被选择,包括验证者质押的代币数量。当区块被确认时,验证者通常会获得网络交易费用的奖励,并且该过程从一个新区块开始。

权益证明区块链通过要求验证者下注他们的令牌来保持网络安全和验证者的诚实。
如果验证者的行为是恶意的或不称职的,他们就会通过一个称为 “削减” 的过程失去他们的股份和对网络的访问权。
这种激励结构确保验证者通过合法操作而不是违反规则获得更多收益。这个一般过程的工作方式有许多不同的变化。

由于 PoS 区块链上的验证者不必投资昂贵的硬件和高昂的电力成本,因此验证者进入 PoS 区块链的障碍可以说是较低的。
但是,如果你希望成为验证者,您仍然必须拥有足够数量的加密货币。
这个数字因区块链而异,但可以达到价值数千美元的代币。PoS 区块链也被批评为富豪,因为验证者对网络的影响力通常与他们的股份大小成正比。

在可持续性方面,PoS 区块链可以说比 PoW 网络更环保,因为它们消耗的电力要少得多。因此,支持者认为未来的区块链项目应该重点关注采用 PoS 共识机制。

委托权益证明 (Delegated Proof of Stake,简称DPoS) 是权益证明概念的一种流行演变,即网络用户选举代表来验证下一个区块。代表也可以被称为证人或区块生产者。使用 DPoS,您通过将您的令牌汇集到一个权益池中并将其链接到特定的代表来投票给代表。支持者表示,与单独的权益证明相比,DPoS 是一种更分散、更平等的达成共识的过程。

3. 私有链和联盟链

Private and Consortium Blockchains

使用 PoW 和 PoS 共识机制的区块链类型通常是公开的和分散的。然而,存在另外两种类型的区块链——联盟区块链和私有区块链。

  • 私有区块链是由中心化实体控制的区块链,中心化实体决定谁可以与区块链交互,验证交易,以及谁可以查看记录在区块链上的信息

  • 联盟区块链是由几个实体控制的分布式账本,每个实体都操作一个网络节点,参与共识,并有权查看某些类型的数据

鉴于这些网络缺乏去中心化,这种类型的区块链技术通常被称为分布式账本技术DLT

私有区块链和联盟区块链通常由旨在采用区块链架构的企业使用,但出于监管或竞争原因,希望确保特定信息保持私有。

像比特币和以太坊这样的公共区块链可以抵抗审查,并为应用程序和平台的开发提供广泛的生态系统。然而,联盟区块链可能提供更快的交易处理时间,并且更容易修改,但它是封闭的花园,在私人联盟之外的使用有限。

ConsenSysQuorum (以前由摩根大通 JPMorgan Chase 拥有) 是以太坊网络的私有许可版本,旨在促进银行间信息共享。联盟区块链目前正在各种行业中开发,包括保险业、食品配送行业、金融服务业,甚至被用于 全球央行数字货币(cbdc) 的原型。

并非所有区块链都是平等的,各种共识机制对可访问性、安全性和可持续性有不同的影响。
同样,并非所有区块链类型都同样适合每个用例。
例如,尽管公共区块链安全且抗审查,但由于其透明度,它们并不适合企业。
虽然自 2009 年比特币问世以来,PoW 一直是标准的共识机制,但 PoS、DPoS 和 DLT 在区块链领域正迅速获得关注。

三、智能合约

参考地址:
什么是智能合约(youtube.com)

1. 什么是智能合约

在1997年,Nick Szabo(一位计算机科学家,法学家,及密码学家) 第一次使用了智能合约的概念,这要远早于比特币的诞生。
简而言之,Nick Szabo 他是想使用一种 分布式账本 来存储合约。

如今,智能合约与现实中的合约是类似的,唯一的区别,就在于智能合约是 完全数字化 的。
事实上,智能合约是一小段计算机程序,存储在区块链中,
举个例子,理解一下智能合约的运作原理:在你可能了解到的一些众筹平台,没人出少量的钱来众筹一件商品,如果支持者的人数占据优势,也就是筹集的资金足够了,那么这个筹集资金的项目得以进行,在其盈利后也会回馈其支持者们。反之未能筹集到足够的资金则项目合约并不生效。

我们可以编写智能合约,使其能够在目标金额达到之前,一直持有接收到的资金,现在,项目的支持者将资金转移到智能合约。如果项目的目标资金可以完全到位,合约将自动把筹得的资金转给项目的创建者,而如果项目没有筹得目标资金,这些钱也将会自动退回给到项目支持者的手中!

由于智能合约是存储于区块链中的,也就意味着所有的这些信息是完全分布式的,这项技术也保证了没有人可以控制的了这笔钱。

现在的问题是,但我们又为什么相信这个智能合约呢?
由于智能合约存储在区块链中,因此就继承了一些有意思的特性:

  • 不可篡改(Immutable)
  • 分布式的(Distributed)

不可篡改,也就意味着一旦创建智能合约,就再也不能被修改了
而分布式,意味着你合约的输出需要经过网络中所有人的验证
所以,某一个人不可能强制让合约释放这些资金,
因为网络中的其他人会发现你的企图,并标记为无效。

当然,智能合约不仅仅可以应用到众筹上,它还可以应用到许多其它的领域
例如:
银行可以拿它来发放贷款或者提供自动支付;
保险公司可以用它来处理特定的理赔;
邮政公司可以把它应用到投递结算 等等

2. 如何使用智能合约

现在已经有一些区块儿链平台可以支持智能合约了,其中最大的一个平台:
以太坊

它在创立之初的定位就是为了来支持智能合约的
智能合约可以用一种叫做 Solidity 的编程语言来进行编写。

这种语言是特意针对以太坊发明的,它的语法类似于 JavaScript

这里插一句,如果你作为前端开发者,相对而言,
Solidity 在语法上就比较友好了,后续的文章中我会更新对该语言的学习

值得一提的是,比特币也支持智能合约,尽管和以太坊相比起来,比特币有更多的限制。

现在,你应该已经知道了智能合约是个什么,以及智能合约可以解决哪些问题了。

四、困境

区块链项目以其愿景和雄心而闻名,但他们优先考虑的内容和他们所知道的内容可能会有所不同。
通常,项目围绕三个核心概念:
去中心化可扩展性安全性

由 Vitalik Buterin 命名的区块链三难困境解决了开发人员在创建可扩展,分散和安全的区块链时面临的挑战——不会在任何方面妥协。

区块链经常被迫做出权衡,阻止它们实现所有三个方面:

  1. 去中心化:创建一个不依赖中央控制点的区块链系统
  2. 可扩展性:区块链系统处理日益增长的交易量的能力
  3. 安全:区块链系统按预期运行的能力,保护自己免受攻击,错误和其他不可预见的问题

虽然一些开发人员认为区块链数据结构本身存在固有的限制,使其无法扩展,但许多架构师认为,有可能构建一个满足所有三个目标的区块链项目:可扩展、去中心化和安全。

1. 三难选择的基本要素

权力下放

去中心化是区块链的核心组成部分。在传统金融中,整个系统是完全集中的。客户将其资产的控制权交给银行,从他们的个人文件到他们的资产本身,由银行全权处理。

比特币和其他早期加密货币提供了一种分散和透明的替代方案,作为货币的发行和存储,而不需要一个集中的实体。

去中心化系统很重要,因为它们赋予了无需许可的所有权,任何人都可以在平台上使用和构建。决策是通过共识做出的,这意味着交易是由一组节点而不是单个节点批准的。

一旦这些交易通过共识验证,它们就不能在事后被更改。因此,风险不会放在一个中心实体上,在进行交易时,信任也不依赖于另一个人。

然而,纯粹去中心化的代价是速度。如果一笔交易在达成共识之前需要多次确认,那么从本质上讲,它将比一笔交易可以由单个实体确认所需的时间更长。众所周知,比特币具有强大的去中心化功能,但与此同时,它的速度也相当慢。

可伸缩性

可伸缩性对于大规模采用非常重要。这是一个区块链系统可以维持多少的问题,以及随着需求的增加,系统是否可以平稳运行。

让我们以专注于可扩展性的区块链项目 EOS 为例。目前,EOS 目前的最大吞吐量据称约为 4000 TPS,即每秒交易数。更重要的是,EOS 白皮书描述了未来EOS 每秒处理数百万笔交易的轨迹。

相比之下,Visa 平均处理 6.3 万份 TPS。如果 EOS 能够实现其可扩展性的承诺,它可以创建一个优于主要国际信用服务的网络。不坏!

但是,正如三难困境所表明的那样,这是一种权衡。EOS 是关注可扩展性可能提供的一个例子,但它因过于集中而受到批评。

安全

作为一种新颖的、有前途的技术,区块链系统的安全性是至关重要的,它希望通过改善现有的基础设施来成名。

随着一系列引人注目的交易所黑客攻击和源代码漏洞被操纵,很明显,许多加密项目选择专注于去中心化和可扩展性,而将安全性抛在后面。

区块链生态系统的所有优点都取决于底层源代码的强度——就像其他任何东西一样,必须仔细检查。

由于源代码的透明性以及成功攻击所带来的潜在利益,区块链已成为黑客的主要目标。

虽然可伸缩性侧重于优点,但安全性防止了缺点——这一点同样重要,但却经常被遗忘。有前途的区块链用例面临着阻碍其增长的挫折,例如臭名昭著的 DAO 攻击,这是源代码安全不当的结果。

2. 这真的是一个三难选择吗?

首先,需要注意的是,三难困境只是一个模型,用于概念化区块链技术面临的各种挑战。
没有法律规定这三个方面不能实现。但到目前为止,许多团队已经研究了不同的方法,试图最大限度地去中心化、可伸缩性和安全性。

CertiK 基金会认为,三难困境实际上可能在金字塔中更好地概念化。基础层是维护其他所有层的基础层:安全性。

没有它,去中心化可能会被破坏,可扩展性可能会短暂。CertiK 基金会正在研究一种建设性的方法:从头开始构建一个经过认证的区块链,即 CertiK 链——通过提供世界上最强大、最安全的区块链,允许开发人员充满信心地编写代码。

安全性将为去中心化和可扩展性的蓬勃发展奠定基础。去中心化是一个需要时间的过程,可扩展性是一个应该不断改进的方面。CertiK 基金会认为,安全是不可妥协的;由完全值得信赖和安全的软件专家建立,CertiK 链优先考虑安全。

区块链世界一直在等待成熟企业全面进入区块链技术,通常认为缺乏可扩展性是主要障碍。虽然缺乏可伸缩性肯定是一个因素,但缺乏可靠的安全性肯定是造成这种不情愿的主要原因。

与创业公司相反,大企业更厌恶风险,因为他们有更多的损失。出于这个原因,企业必须在将新技术纳入其系统之前完全信任它们。CertiK 链将通过提供机器可读的证明来加强信任,这些证明可以独立检查,以实现代码安全性的完全透明。

无论三难困境的形态如何,人们一致认为,任何区块链系统都很难有效地实现去中心化、可扩展性和安全性。区块链技术还处于起步阶段,技术方法只会不断改进。CertiK 链的独特之处在于其安全优先级高于一切;通过建立一个强大的基础层,可能性是无限的。

要了解更多信息并参与 CertiK 连锁店,请访问:https://certik.foundation/

五、比特币

1. 什么是比特币

请访问
www.coinbase.com

未来的金钱
加密货币

2. 比特币白皮书

请访问
bitcoin.org/en

比特币使用点对点技术,在没有中央机构或银行的情况下运作;管理交易和比特币的发行由网络共同完成。
比特币是开源的
它的设计是公开的
没有人拥有或控制比特币
每个人都可以参与。

通过其许多独特的属性,比特币可以实现以前任何支付系统都无法涵盖的令人兴奋的用途。


参考资料:

区块链的类型 https://www.gemini.com/cryptopedia/blockchain-types-pow-pos-private

新人科普 | 读懂区块链共识机制:PoW、PoS、DPoS https://www.panewslab.com/zh/articledetails/ng3xyx07.html

什么是智能合约 https://www.youtube.com/watch?v=ZE2HxTmxfrI

什么是区块链 https://www.youtube.com/watch?v=yubzJw0uiE4

区块链的工作原理简介 https://www.youtube.com/watch?v=SSo_EIwHSd4

区块链 101 视频,第 1 部分 https://www.youtube.com/watch?v=_160oMzblY8&t=23s

区块链101 - 第2部分 - 公钥/私钥和签名 https://www.youtube.com/watch?v=xIDL_akeras

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572051.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PTA L2-037 包装机

一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品&#x…

Spring学习——什么是循环依赖及其解决方式

文章目录 前言一、什么是循环依赖二、解决思路1、循环依赖分类2、对象初始化步骤及对象分类3、spring是如何解决的4、图解5、三级缓存1、区别2、ObjectFactory是什么 三、源码debug1、spring创建对象过程1、dubug第一步——找到getBean2、dubug第二步——getBean与doGetBean3、…

MySQL高阶SQL语句

文章目录 MySQL高阶SQL语句MySQL常用查询1、按关键字排序1.1 语法1.2 ASC和DESC1.3 对数据表中信息进行排序1.3.1 普通排序1.3.2 结合where进行条件过滤1.3.3 对多个字段进行排序 2、区间判断及查询不重复记录2.1 and/or —— 且/或2.1.1 普通查询2.1.2 嵌套/多条件查询 2.2 di…

Linux基础IO(操作系统层面理解文件)

目录 一、认识 open 函数 1.1 理解文件 1.2 open 函数 1.3 函数选项和宏 二、 open 函数的返回值 三、 fd 的本质 3.1 各部分内容及关系 3.2 如何确定进程对应文件 四、Linux 一切皆文件? 一、认识 open 函数 在C语言中学习文件操作时,我们学…

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i、EuRoC 和 TUM-VI 运行测试

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i、EuRoC 和 TUM-VI 运行测试 1 Prerequisites1.1 C11 or C0x Compiler1.2 Pangolin1.3 OpenCV1.4 Eigen3 2 安装 Intel RealSense™ SDK 2.02.1 测试设备2.2 编译源码安装 (Recommend)2.3 预编译包安装 3 编译 ORB-S…

【C语言】C语言基础习题详解(牛客网)二分查找逻辑

主页:醋溜马桶圈-CSDN博客 专栏:C语言_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.三目运算符的使用 三目运算符,即a>b?a:b类型的,很多时候适当的使用三目运算符可以使得代码更简洁有序&…

4个AI智能写作平台,为你解决文章写作问题

在信息时代,写作是一项重要的技能,无论是在学术领域还是商务环境中。然而,对于许多人来说,写作并不是一件轻松的事情。但是,随着人工智能的发展,有许多AI智能写作平台可以帮助我们解决文章写作问题。在本文…

开放大学2024年春《数控技术 060253》综合大作业参考答案

答案:更多答案,请关注【电大搜题】微信公众号 答案:更多答案,请关注【电大搜题】微信公众号 答案:更多答案,请关注【电大搜题】微信公众号 单选题 1数控系统的核心是( ) …

#Linux系统编程(关于解决Source Insight自动补全的问题)

(一)发行版:Ubuntu16.04.7 (二)记录: (1)参考博文 Source Insight 4.0 添加函数库的头文件实现函数的自动补齐 - 简书 (jianshu.com)https://www.jianshu.com/p/96595eefb988 &am…

SQLAlchemy模型映射提示declarative_base() takes 0 positional arguments but 1 was given

原码: #SQLAlchemy模型映射表结构. from sqlalchemy import create_engine,Column,Integer,String from sqlalchemy.ext.declarative import declarative_base# 数据库的变量 HOST 127.0.0.1 PORT 3306 DATA_BASE itbz USER root PWD 123456 DB_URL fmysqlpy…

微服务架构学习汇报PPT

所有关于微服务架构的知识也好,经验也罢,不一定适合每个希望做微服务系统的技术人员的实际需求。“道无常道,法无常法,君子审时度势,自可得而法”。实际项目里需要做哪些工作,采取哪些策略,先后…

留存测试数据,Apipost接口用例详解

接口用例可以在不影响源接口数据的情况下对接口添加多个用例,方便测试并保存测试数据。 创建用例 左侧目录选择接口后进入接口用例页面,点击添加用例 在弹出窗口中修改各种参数。如登录接口,可修改用户名为空,并添加断言。 执行…