张德长

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

区块链 BlockChain 学习笔记1

 

 

 

 

区块链基础

序言

通常我们把区块链分为公有链、 私有链、 联盟链三种, 比特币和以太坊都属于公有链范畴。

区块链交易的本质, 是大幅减少了交易后的处理工作, 消除了大量的人工干预过程, 从而提高了交易效率。

“区块链的核心是分布式而不是去中心”。

区块链的发明, 是建立在互联网之上。 其所使用的技术, 像P2P、 分布式存储、 分布式密钥的思想,十几年前就已经存在。

从功能上说, 互联网实现了信息的传播, 而区块链实现了价值的转移

从机制上说, 如果说TCP/IP是机器与机器之间的通信协议, 而区块链就是机器与机器之间的信任机制和合作协议。

因为区块链的以上属性, 区块链将会是连接虚拟世界与现实世界的最佳桥梁。

在比特币白皮书, 即中本聪的论文《比特币: 一种点对点的电子现金系统》 中, 还没有“区块链”这个词, 只有“区块”(Block) 和“链”(Chain) 。

作为比特币底层技术的“链”, 其价值远大于比特币本身。 区块链可以让人们在没有中央权威机构监督的情况下, 对彼此的互相协作建立起信心。 简单来说, 它是一台创造信任的机器。

区块链不是一项新技术, 而是一个新的技术组合。 其关键技术, 包括P2P动态组网、 基于密码学的共享账本、 共识机制(拜占庭将军问题, 即一种分布式场景下的一致性问题) 、 智能合约等技术, 都是已经有十年以上的老技术了

这个技术组合虽然有其独到的创新之处,但并非是颠覆性技术, 是现有技术的有力补充

单词Decentralized只是表明不是单中心模式, 可能为多中心或弱中心, 也可能是分布式的。 所以在中国台湾地区, 大多将Decentralized翻译为“分散式的”而不是“去中心化的”。

实施区块链既需要具有传统IT系统的经验, 也需要有互联网、 云计算、 大数据的实施经验, 需要对整个IT系统变迁具有很强的洞察力, 需要把整个IT系统协同起来, 让整个IT系统互联互助, 相互合作。

区块链技术是提供问责机制的最理想平台。 这是因为区块链技术中的防伪、 防篡改、 交易可追溯、 数字签

名和智能合约技术提供了一个公正、 可问责(Accountable) 、 自动执行的技术平台基础。

概念

区块链就是基于区块链技术形成的公共数据库(或称公共账本) 。 其中区块链技术是指多个参与方之间基于现代密码学、 分布式一致性协议、 点对点网络通信
技术和智能合约编程语言等形成的数据交换、 处理和存储的技术组合。

区块链的英文是Blockchain, 字面意思就是(交易数据) 块(Block) 的链(Chain) 。 区块链技术首先被应用于比特币。 比特币本身就是第一个, 也是规模最大、 应用范围最广的区块链

公共链是真正意义上的完全去中心化的区块链, 它通过密码学保证交易不可篡改,同时也利用密码学验证以及经济上的激励, 在互为陌生的网络环境中建立共识, 从而形成去中心化的信用机制。 在公共链中的共识机制一般是工作量证明(PoW) 或权益证明(PoS) , 用户对共识形成的影响力直接取决于他们在网络中拥有资源的占比。

公共链通常也称为非许可链(PermissionlessBlockchain) 。 如比特币和以太坊等都是公共链。 公共链一般适合于虚拟货币、 面向大众的电子商务、 互联网金融等B2C、 C2C或C2B等应用场景。

联盟链(Consortium Blockchain) 仅限于联盟成员参与, 区块链上的读写权限、 参与记账权限按联盟规则来制定。 联盟链是一种需要注册许可的区块链, 这种区块链也称为许可链(Permissioned Blockchain) 。

私有链的价值主要是提供安全、 可追溯、 不可篡改、 自动执行的运算平台, 可以同时防范来自内部和外部对数据的安全攻击, 这个在传统的系统是很难做到的。

分类

以参与方分类, 区块链可以分为: 公开链(Public Blockchain) 、 联盟链(Consortium Blockchain) 和私有链(Private Blockchain) 。

从链与链的关系来分, 可以分为主链和侧链。

而且, 不同区块链还可以形成网络, 网络中链与链的互联互通, 产生互联链(Interchain) 的概念。

应用

去中心化信用机制是区块链技术的核心价值之一, 因此区块链本身又被称为“分布式账本技术”“去中心化价值网络”等。

1) 简化流程, 提升效率。

2) 降低交易对手的信用风险。

3) 减少结算或清算时间。

4) 增加资金流动性, 提升资产利用效率。

5) 提升透明度和监管效率, 避免欺诈行为。

区块链技术和云计算、 大数据、 人工智能、量子计算等新兴技术一起, 被认为是最具变革性的新兴技术之一。

 

(1) 金融领域的结算和清算

(2) 数字货币

(3) 跨境支付

(4) 财产保险

获取比特币

由于比特币的独特设计, 参与者可以通过计算能力竞争的方式获取系统奖励和支付小费, 同时也维护
着比特币这个区块链的稳定运转, 我们把这种算力竞争行为称为“挖矿”。

比特币不同于银行账户的概念, 钱包是帮助我们管理这些私钥的, 同时也要妥善保管好钱包的恢复密语和备份数据。

基础

区块链技术通过建立一个共同维护且不可被篡改的数据库来记录过去的所有交易记录和历史数据, 所有的数据都是分布式存储且公开透明的。

在这种技术下, 任何互不相识的网络用户都可以通过合约、 点对点记账、 数字加密等方式达成信用共识, 而不需要任何的中央信任机构。

在这种技术下, 我们可以建立数字货币、 数字资产、 智能财产以及智能合约等。

区块链本质上是一个对等网络(peer-to-peer) 的分布式账本数据库。 比特币的底层就采用了区块链的技术架构。 区块链本身其实是一串链接的数据区块,其链接指针是采用密码学哈希算法对区块头进行处理所产生的区块头哈希值。 每一个数据块中记录了一组采用哈希算法组成的树状交易状态信息, 这样保证了每个区块内的交易数据不可篡改, 区块链里链接的区块也不可篡改。

1.数据区块
比特币的交易记录会保存在数据区块之中, 比特币系统中大约每10分钟会产生一个区块, 每个数据区块一般包含区块头(Header) 和区块体(Body) 两部分

2.挖矿与分叉问题
区块在挖矿过程中产生。 所谓挖矿, 实际上是穷举随机数算法, 把上个区块的哈希值加上10分钟内的全部交易单打包, 再加上一个随机数, 算出一个256位的字符串哈希值, 输入的随机数Nonce使哈希值满足一定条件就获得这个区块的交易记账权。

挖矿需要付出大量的能源和时间, 谁付出的工作量多就能以更大的概率获得一个区块的记账权。 获取记账权的矿工会将当前区块链接到前一区块, 形成最新的区块主链, 该矿工也会得到系统奖励的一定数量(2009~2013年每10钟产生50个比特币,2014年至今每10分钟产生的比特币将减半成25个) 的比特币。

3.时间戳和不可篡改性

时间戳是指从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数, 通常是一个字符序列, 唯一地标识某一刻的时间

4.分布式数据库
比特币系统中的区块就像一个记账本一样, 记录了所有比特币的交易信息, 每一个比特币用户的比特币收支情况都被永久地嵌入了数据区块中以供别人查询。

5.UTXO交易模式
UTXO(Unspent Transaction Outputs) 是未花费的交易输出, 它是比特币交易过程中的基本单位。

6.哈希函数
哈希函数在比特币系统中也有着重要的应用, 区块链中的数据并不只是原始数据或者交易记录, 还包括它们的哈希函数值, 即将原始数据编码为特定长度的、 由数字和字母组成的字符串后, 记入区块链。

7.Merkle树
Merkle树是数据结构中的一种树, 可以是二叉树, 也可以是多叉树, 它具有树结构的所有特点。

8.双重支付
双重支付问题又称为“双花”问题, 即利用货币的数字特性用“同一笔钱”完成两次或者多次支付。

9.P2P网络
P2P网络(peer-to-peer network, 对等网络) 是一种在对等者(peer) 之间分配任务和工作负载的分布式应用架构, 是对等计算模型在应用层形成的一种组网或网络形式。  

10.加密算法
除了哈希算法以外, 比特币中还存在一种为交易加密的非对称加密算法(椭圆曲线加密算法) 。 非对称加密算法指的就是存在一对数学相关的密钥, 使用其中一个密钥进行加密的数据信息, 只有使用另一个密钥才能对该信息进行解密。

11.数字签名
数字签名就是在信息后面加上另一段内容, 作为发送者的证明并且证明信息没有被篡改

12.比特币的隐私模型
传统隐私模型(见图2-7) 为交易的参与者提供了一定程度的隐私保护, 第三方不会交出交易者的个人身份信息, 公众所得知的只是某个人将一定数量的货币发给了另外一个人, 但是难以将该交易与某个特定身份的人联系起来, 公众无法知道这人到底是谁。

 

架构

架构特点
区块链具有去中心化、 可靠数据库、 开源可编程、 集体维护、 安全可信、 交易准匿名性等特点。 如果一个系统不具有以上特征, 将不能被视为基于区块链技术的应用。

区块链技术的核心优势是去中心化, 能够通过运用哈希算法、 数字签名、 时间戳、 分布式共识和经济激励等手段, 在节点无需互相信任的分布式系统中建立信用, 实现点对点交易和协作, 从而为中心化机构普遍存在的高成本、 低效率和数据存储不安全等问题提供了解决方案。

可以将区块链理解为一个基于互联网的去中心化记账系统

区块链的共识机制目前主要有4类: PoW、 PoS、DPoS、 分布式一致性算法

 

以太坊

以太坊是一个通用的全球性区块链, 可以管理金融和非金融类型应用的状态。 以太坊的新颖在于其神奇的计算机网络, 它促成了一种新型的软件应用, 真正的去中心化应用。

以太坊是个平台和编程语言, 包括数字货币以太币(Ether) , 以及用来构建和发布分布式应用的以太脚本(EtherScript) 。

从最底层角度来看, 以太坊是一个多层的、 基于密码学的开源技术协议

(1) 以太坊虚拟机
以太坊虚拟机(EVM) 是以太坊中智能合约的运行环境。

 (2) 账户
以太坊中有两类账户, 它们共用同一个地址空间。 外部账户, 该类账户被公钥-私钥对控制。 合约账户, 该类账户被存储在账户中的代码控制。

以太坊的账户包含4个部分:

①随机数, 用于确定每笔交易只能被处理一次的计数器;

②账户目前的以太币余额;

③账户的合约代码(如果有的话) ;

账户的存储(默认为空) 。
(3) 消息
以太坊的消息在某种程度上类似于比特币的交易, 但是两者之间存在3点重要的不同。

(4) 交易
以太坊中“交易”是指存储从外部账户发出的消息的签名数据包。

(5) Gas
以太坊上的每笔交易都会被收取一定数量的燃料Gas, 设置Gas的目的是限制交易执行所需的工作量,同时为交易的执行支付费用。

(6) 存储、 主存和栈
每个账户都有一块永久的内存区域, 被称为存储, 其形式为key-value, key和value的长度均为256位。

(7) 指令集
EVM的指令集被刻意保持在最小规模, 以尽可能避免可能导致共识问题的错误。

(8) 消息调用
合约可以通过消息调用的方式来调用其他合约,或者发送以太币到非合约账户。

(9) 代码调用和库
以太坊中存在一种特殊类型的消息调用, 被称为callcode。

版本

区块链1.0架构: 比特币区块链

区块链1.0的典型应用是比特币应用。 比特币是第一个解决“双花”问题的去中心化虚拟货币系统。 下面我们来详细剖析比特币系统的架构。

区块链2.0架构: 以太坊区块链

区块链2.0的概念也随之产生。 其核心理念是把区块链作为一个可编程的分布式信用基础设施, 支撑智能合约应用, 以与过去比特币区块链作为一个虚拟货币支撑平台区别开来。

区块链3.0架构: 超越货币、 金融
范围的区块链应用《区块链: 新经济蓝图及导读》 一书的作者Melanie Swan把超越货币、 金融范围的区块链应用归为区块链3.0, 特别是在政府、 健康、 科学、 工业、文化和艺术领域的应用。 它支持广义资产、 广义交换, 支持行业应用。  

区块链3.0的应用场景很多, 下面简单介绍一些
典型的应用。
(1) 自动化采购

 

(2) 智能化物联网应用
未来智能设备能够通过智能物联网代替人处理一些日常工作。

(3) 供应链自动化管理

(4) 虚拟资产兑换、 转移在游戏或某些行业中, 消费者会积累很多虚拟资
产(点数、 积分、 奖励、 装备、 战力) 等。

(5) 产权登记

 

 

end

posted on   张德长  阅读(163)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示