03.分布式账本和去中心网络

2024-03-05 21:59

本文主要是介绍03.分布式账本和去中心网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

所有的区块链系统都包括“分布式账本和去中心网络”这一对必备要素。

比特币网络没有一个中心服务器,它是由众多全节点和轻节点组成的,这些节点形成一个去中心网络。其中:

全节点包含所有比特币区块链的区块数据;
轻节点仅包括与自己相关的数据。

比特币网络是完全开放的,任何服务器都可以接入、下载全部区块数据成为全节点。

所有用户持有的比特币信息都存放在一个分布式账本之中。这个账本是一个不断增长的由数据块组成的链条,这个数据块组成的链条是狭义的“区块链”。比特币账本可被认为同时存储在所有的全节点之中。

基于分布式账本与去中心网络,比特币系统实现了去中心化的价值表示和价值转移,它与中心化在线支付系统有很大的不同。用两个人之间的转账来对比看一下。

中心化在线支付系统的交易流程
中心化在线支付系统的转账过程是:假设你我二人要通过支付宝进行转账。我们都在支付宝开设有账户(account),账户上有多少钱是支付宝账本上记录的数字。当我转账 100 元给你,支付宝在我的账户记录上减掉 100 元,在你的账户记录上增加 100 元,形成新的账本。到此,转账交易结束。

如图 1 所示,中心化在线支付系统维护一个中心化的账本。用户在账本上开设账户,通过密码来与之交互。

在这里插入图片描述

图1:中心化在线支付系统vs比特币系统

比特币系统的交易流程
对比而言,比特币系统使用的是一个分布式账本,用户在其中开设“账户”,严格地说是地址(address)。每个人都可以在比特币区块链上建立“账户”,获得一对公钥与私钥,地址是公钥的哈希值,我们通过私钥与地址进行交互。

我们每人有一个钱包,钱包中存储的是私钥。两个人在相互转账比特币时,可以通过各自的钱包软件直接进行。

在这里,比特币的去中心化体现在:不再有一个中心化机构来集中管理账本。账本存放在由众多节点组成的去中心网络中;不再有一个中心化机构来帮我们管理账户、处理交易,每个人管理自己的钱包,交易由分布式账本来记录。

有人会往下追问,我们地址中的比特币是记录在账本中的,看起来还是有一个“中心”存储我们的资产。其实,这个账本是分布式地存储在去中心网络中的,因而从这个层面看,它可以看成是去中心化的。

对比而言,对于中心化在线支付系统,它通常是由中心化的服务器来管理集中式账本。对于比特币系统,它背后的系统是一个去中心网络,网络节点共同维护一个分布式账本(见图 2)。

在这里插入图片描述

图2:分布式账本与去中心网络

这篇关于03.分布式账本和去中心网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

redis+lua实现分布式限流的示例

《redis+lua实现分布式限流的示例》本文主要介绍了redis+lua实现分布式限流的示例,可以实现复杂的限流逻辑,如滑动窗口限流,并且避免了多步操作导致的并发问题,具有一定的参考价值,感兴趣的可... 目录为什么使用Redis+Lua实现分布式限流使用ZSET也可以实现限流,为什么选择lua的方式实现

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

Seata之分布式事务问题及解决方案

《Seata之分布式事务问题及解决方案》:本文主要介绍Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Seata–分布式事务解决方案简介同类产品对比环境搭建1.微服务2.SQL3.seata-server4.微服务配置事务模式1

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

java如何分布式锁实现和选型

《java如何分布式锁实现和选型》文章介绍了分布式锁的重要性以及在分布式系统中常见的问题和需求,它详细阐述了如何使用分布式锁来确保数据的一致性和系统的高可用性,文章还提供了基于数据库、Redis和Zo... 目录引言:分布式锁的重要性与分布式系统中的常见问题和需求分布式锁的重要性分布式系统中常见的问题和需求