区块链——20220330

区块链——20220330,第1张

💵区块链

运用之妙夺造化,存乎一心胜天工。

区块链概念 区块链可以借由密码学,串接并保护内容的串联交易记录(又称区块)。在区块链中,区块内容具有难以篡改的特性,每一个区块都包含了前一个区块的加密散列、相应时间戳记以及交易数据(通常用 Hash 树计算的散列值表示)。用区块链串接的分布式账本能让交易双方有效地记录交易,且可永久查验。区块链是去中心化的分布式账本 区块链系统的组成

区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成

第一层:数据层,存储底层数据、非对称数据加密和时间戳等基础数据。

第二层:网络层,含有分布式组网机制、数据传播机制、数据验证机制等。

第三层:共识层,封装有各类共识机制算法,确定记账决定方式,这关系到 整个系统的安全性和可靠性。目前较为知名的由共识层封装的共识机制有工作量 证明机制(PoW,Proof of Work)、股份授权证明机制(DPoS,Delegated Proof of Stake)、权益证明机制(PoS,Proof of Stake)等。

第四层:激励层,在区块链技术体系中使用的经济手段,包括经济激励的发 行以及分配,多出现在公有链中。

第五层:合约层,封装区块链系统中的脚本代码、算法以及智能合约,帮助 区块链灵活地处理数据。

第六层:应用层,封装了各种应用场景和案例,如电商购物、新闻浏览、视频观看等。

区块链的特点

存储结构:块—链

分布式容错性:分布式网络极其鲁棒,能够容忍部分节点的异常状态;

不可篡改性: 一致提交后的数据会一直存在,不可被销毁或修改;

隐私保护性:密码学保证了数据隐私, 即便数据泄露,也无法解析。

随之带来的业务可能包括如下特性:

可信任性:区块链技术可以提供天然可信的分布式账本平台,不需要额外第三方中 介机构参与降低成本:跟传统技术相比,区块链技术可能需要的时间、 人力和维护成本更少增强安全:区块链技术将有利于安全、可靠的审计管理和账目清算,减少犯罪风险 区块链定义 公认的最早(2008年10月31日)关于区块链的描述性文献是中本聪所撰写的文章:比特币( Bitcoin)的设计白皮书《 Bitcoin : A Peer-to Peer Electronic Cach System 》,在其中指出:区块链是用于记录比特币交易账目历史的数据结构Wikipedia 上给出的定义中,将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、不可篡改的数据记录。

比特币(Bitcoin):安全可靠的去中心化数字货币机制

区块链基本原理

区块链在不引入第三方中介机构的前提下,可以提供去中心化、不可篡改、 安全可靠等特性保证。

区块链包括三个基本概念:

🥛交易(transaction):一次对账本的 *** 作,导致账本状态的一次改变,如添加一条转账记录。🍪区块( block):记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识。〽链(chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。

如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成 的区块,就是参与者对于区块中交易导致状态改变的结果进行确认。

在实现上,首先假设存在一个分布式的数据记录账本,这个账本只允许添加、 不允许删除。 账本底层的基本结构是一个线性的链表,这也是其名字“区块链”的来掘。 链表由一 个个**“区块”串联组成(如图 2-1 所示),后继区块记录前导区块的哈希值( pre hash ) 。 新的数据要加入,必须放到一个新的区块中。 而这个块(以及块里的交易)是否合法,可以通过 计算哈希值的方式快速检验出来。 任意维护节点都可以提议一个新的合法区块,然而必须经过一定的共识机制**来对最终选择的区块达成一致。

以比特币为例理解区块链工作过程

以比特币网络为例,可以具体看其中如何使用了区块链技术。

首先,比特币客户端发起一项交易,广播到比特币网络中并等待确认。网络中的节点会 将一些收到的等待确认的交易记录打包在一起(此外还要包括前一个区块头部的哈希值等信息),组成一个候选区块。 然后,试图找到一个 nonce 串(随机串)放到区块里,使得候选区 块的哈希结果满足一定条件(比如小于某个值)。 这个 nonce 串的查找需要一定的时间去进行计算尝试。

一旦节点算出来满足条件的 nonce 串,这个区块在格式上就被认为是“合法”了,就可 以尝试在网络中将它广播出去。 其他节点收到候选区块,进行验证,发现确实符合约定条件 了,就承认这个区块是一个合法的新区块,并添加到自己维护的区块链上。 当大部分节点都将区块添加到自己维护的区块链结构上时,该区块被网络接受,区块中所包括的交易也就得到确认。

比特币的这种基于算力寻找 nonce 串的共识机制称为工作量证明( Proof of Work , PoW ) 。 目前,要让哈希结果满足一定条件,并无已知的快速启发式算法,只能进行尝试性的暴力计算。 尝试的次数越多(工作量越大),算出来的概率越大。

通过调节对哈希结果的限制,比特币网络控制平均约 10 分钟产生一个合法区块。 算出 区块的节点将得到区块中所有交易的管理费和协议固定发放的奖励费(目前是 12.5 比特币,每四年减半),这个计算新区块的过程俗称为挖矿

🎏技术的演化与分类

区块链技术自比特币网络设计中被大家发掘关注,从最初服务数字货币系统,到今天在分布式账本场景下发挥着越来越大的技术潜力。

区块链的演化

比特币区块链已经支持了简单的脚本计算,但仅限于数字货币相关的处理。除了支持数字货币外,还可以将区块链上执行的处理过程进一步泛化,即提供智能合约( smart contract ) 。 智能合约可以提供除了货币交易功能外更灵活的合约功能,执行更为复杂的 *** 作。

区块链与分布式记账

现代复式记账系统( double entry bookkeeping)由意大利数学家卢卡 ·帕西奥利于 1494 年在《 Summa de arithmetica, geometrica, proportioni et proportionali ta 》一书中最早制定。 复 式记账法对每一笔账目同时记录来源和去向,首次将对账验证功能引人记账过程,提升了记账过程的可靠性。

从这个角度来看, 区块链是首个自带对账功能的数字记账技术实现。

更广泛地看,区块链属于一种去中心化的记录技术参与到系统上的节点,可能不属于同一组织,彼此无需信任区块链数据由所有节点共同维护,每个维护节点都能复制获得 一份完整或部分记录的拷贝

跟传统的记账技术相比,基于区块链的分布式账本应该包括如下特点:

维护一条不断增长的链,只可能添加记录,而发生过的记录都不可篡改去中心化,或者说多中心化,无需集中控制而能达成共识,实现上尽量采用分布式通过密码学的机制来确保交易无法被抵赖和破坏尽量保护用户信息和记录的隐私性 分类

根据参与者的不同,可以分为公开(public)链、联盟(consortium)链和私有(private)链

公有链:顾名思义,任何人都可以参与使用和维护,如比特币区块链,信息是完全公开的;如果进一步引入许可机制,可以实现私有链和联盟链两种类型: 私有链:由集中管理者进行管理限制,只有内部少数人可以使用,信息不公开联盟链:则介于两者之间,由若干组织一起合作维护一条区块链,该区块链的使用必 须是带有权限的限制访问,相关信息会得到保护,如供应链机构或银行联盟

根据使用目的和场景的不同,又可以分为以数字货币为目的的货币链,以记录产权为 目的的产权链,以众筹为目的的众筹链等,也有不局限特定应用场景的通用链。

现有大部分区块链实现都至少包括了网络层、共识层、智能合约和应用层等结构,联盟链实现往往还会引入一定的权限管理机制

🍖区块链主要应用领域

金融服务:

区块链技术可以为金融服务提供有效、可信的所属权证明,以及相当可靠的合约确保机制。

区块链带来的潜在优势包括降低交易成本、减少跨组织交易风险等。 该 领域的区块链应用目前最受关注,全球不少银行和金融交易机构都是主力推动者。 部分投资机构也在应用区块链技术降低管理成本和管控风险。 从另一方面,要注意 可能引发的问题和风险。

例如, DA08这样的众筹实验,提醒应用者在业务和运营层面都要谨慎处理;

征信和权属管理:

征信和权属的数字化管理是大型社交平台和保险公司都梦寐以求的。

目前该领域的主要技术问题包括缺乏足够的数据和分析能力;缺乏可靠的平台 支持以及有效的数据整合管理等。

区块链被认为可以促进数据交易和流动,提供安全可靠的支持。 征信行业的门槛比较高,需要多方资源共同推动;

资源共享:

以 Airbnb 为代表的分享经济公司将欢迎去中心化应用,可以降低管理成本。

该领域主题相对集中,设计空间大,受到大量的投资关注;

贸易管理:

区块链技术可以帮助自动化国际贸易和物流供应链领域中繁琐的手续和流程。

基于区块链设计的贸易管理方案会为参与的多方企业带来极大的便利。

另外, 贸易中销售和法律合同的数字化、货物监控与检测、实时支付等方向都可能成为创业公司的突破口;

物联网:

物联网是大数据时代的基础,区块链技术是物联网时代的基础

物联网也是很适合应用区块链技术的一个领域,预计未来几年内会有大量 应用出现,特别是租赁、物流等特定场景,都是很合适结合区块链技术的场景。

但目前阶段,物联网自身的技术局限将造成短期内不会出现大规模应用。

ACID 原则

ACID 原则指的是: Atomicity (原子性)、 Consistency (一致性)、 Isolation (隔离性)、 Durability (持久性),用了四种特性的缩写。

ACID 也是一种比较出名的描述一致性的原则,通常出现在分布式数据库领域。

具体来说, ACID 原则描述了分布式数据库需要满足的一致性需求,同时允许付出可用性的代价。

ACID 特征如下:

Atomicity:每次 *** 作是原子的,要么成功,要么不执行;Consistency:数据库的状态是一致的,无中间状态;Isolation:各种 *** 作彼此之间互相不影响;Durability:状态的改变是持久的,不会失效。 💰比特币-BitCoin

比特币( BitCoin , BTC)是基于区块链技术的一种。数字货币实现,比特币网络是历史上首个经过大规模、长时间检验的数字货币系统。

自带信任、 防篡改的分布式记账本一一比特币网络

比特币网络在功能上具有如下特点 :

去中心化:意味着没有任何独立个体可以对网络中的交易进行破坏,任何交易请求都需要大多数参与者的共识;匿名性:比特币网络中账户地址是匿名的,无法从交易信息关联到具体的个体,但这也意味着很难进行审计;通胀预防:比特币的发行需要通过挖矿计算来进行,发行量每四年减半,总量上限 为 2100 万枚,无法被超发。 比特币原理和设计

比特币网络是一个分布式的点对点网络,网络中的矿工通过“挖矿”来完成对交易记 录的记账过程,维护网络的正常运行。

区块链网络提供一个公共可见的记账本,该记账本并非记录每个账户的余额,而是用 来记录发生过的交易的历史信息。 该设计可以避免重放攻击,即某个合法交易被多次重新发送造成攻击。

💴以太坊-Ethereum

**以太坊( Ethereum)**项目的最初目标是打造一个 智能合约的平台( Platform for Smart Contract),该平台支持图灵完备的应用,按照智能合约的约定逻辑 自动执行,理想情况下将不存在故障停机、 审查、欺诈,以及第三方干预等问题。

以太坊平台目前支持 Golang、 C++、 Python 等多种语言实现的客户端。 由于其核心实现 是基于比特币网络的核心思想进行了拓展,因此在很多设计特性上都与比特币网络十分类似。

以太坊项目的官网网站为 ethereum.org,代码托管在 github.com/ethereum 。

以太坊区块链底层也是一个类似比特币网络的 P2P 网络平台,智能合约运行在网络中 的以太坊虚拟机里。 网络自身是公开可接入的,任何人都可以接入并参与网络中数据的维护,提供运行以太坊虚拟机的资源。

太坊区块链的技术特点主要包括:

支持图灵完备的智能合约,设计了编程语言 Solidity 和虚拟机 EVM;选用了内存需求较高的哈希函数,避免出现强算力矿机、矿池攻击;叔块( uncle block)激励机制,降低矿池的优势,并减少了区块产生间隔( 10 分钟降 低到 15 秒左右);采用账户系统和世界状态,而不是 UTXO,容易支持更复杂的逻辑;通过 Gas 限制代码执行指令数,避免循环执行攻击;支持 PoW 共识算法,并计划支持效率更高的 PoS 算法。 以太坊核心概念

1、智能合约:

**智能合约(Smart Contract)**是以太坊中最为重要的一个概念,即以计算机程序的方式来缔结和运行各种合约。智能合约作为运行在**以太坊虚拟机( Ethereum Virual Machine, EVM)**中的应用,可以 接受来自外部的交易请求和事件,通过触发运行提前编写好的代码逻辑,进一步生成新的交易和事件,可以进一步调用其他智能合约。智能合约的执行结果可能对以太坊网络上的账本状态进行更新。这些修改由于经过了 以太坊网络中的共识,一旦确认后无法被伪造和篡改。

2、账户:

用账户来记录系统状态,每个账户存储余额信息、 智能合约代码和内部数据存储等。 以太坊支持在不同的账户之间转移数据,以实现更为复杂 的逻辑。

以太坊账户分为两种类型:合约账户( Contracts Accounts)和外部账户 (Externally Owned Accounts,或 EOA):

合约账户:存储执行的智能合约代码,只能被外部账户来调用激活;外部账户:以太币拥有者账户,对应到某公钥。 账户包括 nonce 、 balance 、 storageRoot 、 codeHash 等字段,由个人来控制。

当合约账户被调用时,存储其中的智能合约会在矿工处的虚拟机中自动执行,并消耗 一定的燃料。 燃料通过外部账户中的以太币进行购买。

3、交易:

交易( Transaction),在以太坊中是指从一个账户到另一个账户的消息数据。 消息数据可以是以太币或者合约执行参数。

以太坊采用交易作为执行 *** 作的最小单位。

每个交易包括如下字段:

to :目标账户地址;value:可以指定转移的以太币数量;nonce:交易相关的字串;gasPrice:执行交易需要消耗的 Gas 价格;startgas:交易消耗的最大 Gas 值;signature:签名信息

类似于比特币网络,在发送交易时,用户需要缴纳一定的交易费用,通过以太币方式 进行支付和消耗。

目前,以太坊网络可以支持超过比特币网络的交易速率(可以达到每秒几十笔)。

4、以太币:

以太币(Ether)是以太坊网络中的货币 。

以太币主要用于购买燃料,支付给矿工,以维护以太坊网络运行智能合约的费用。 以太币最小单位是 wei,一个以太币等于 1018 个 wei。

以太币同样可以通过挖矿来生成,成功生成新区块的以太坊矿工可以获得 5 个以太币的奖励,以及包含在区块内交易的燃料费用。 用户也可以通过交易市场来直接购买以太币 。

5、燃料:

燃料( Gas),控制某次交易执行指令的上限。

每执行一条合约指令会消耗固定的燃料。 当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚状态。

智能合约

实际上,参与者不会每当在 EVM 上请求计算时都编写新代码。 而是应用程序开发者将程序(可重复使用的代码片段)上传到 EVM 存储中,然后用户通过不同的参数请求执行这些代码片段。 我们将这些上传至网络并由网络执行的程序称为智能合约。

简单来说,你可以把智能合约想象成一种自动售货机:通过特定参数调用脚本后,如果满足某些特定条件,就会执行一些 *** 作或计算。 例如,如果调用者将以太币发送给特定的接收者,通过简单的卖方智能合约就可以创建和分配数字资产所有权。

任何开发者都可以创建智能合约并在网络上公开,并使用区块链作为其数据层,向网络支付费用。 然后,任何用户都可以调用智能合约来执行其代码,并再次向网络支付费用。

因此,通过智能合约,开发者可以任意构建和部署面向用户的复杂应用程序和服务,例如市场、金融工具、游戏等。

👑超级账本

欲戴王冠者,必承其重( Uneasy lies the head that wears a crown )

2015 年 12 月,由开源世界的旗舰组织 Linux 基 金会牵头, 30 家初始企业成员(包括 IBM、 Accenture、Intel 、 J . P.Morgan 、 R3 、 DAH 、 DTCC 、 FUJITSU 、 田TACHI 、 SWIFT 、 Cisco 等),共同 宣布了 Hyperledger 联合项目成立。

超级账本项目为透明、公开、去中心化的企业级分布式账本技术提供开源参考实现,并推动区块链和分布式账本相关协议、规范和标准的发展。

项目官方网站为 hyperledger.org。

Hyperledger 基本原则:

重视模块化设计:包括交易 、 合同 、 一致性、 身份、 存储等技术场景;重视代码可读性:保障新功能和模块都可以很容易添加和扩展;可持续的演化路线:随着需求的深入和更多的应用场景,不断增加和演化新的项目 。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/1319821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-11
下一篇 2022-06-11

发表评论

登录后才能评论

评论列表(0条)

保存