7.1 超级账本

2023-10-29

Matthew Hancock,Ed Vaizey以及Linux基金会执行董事Jim Zemlin都认为区块链技术和分布式账本这两个概念是可以互换的。通过分布式账本,几乎任何有价值的东西都可以被跟踪和交易。Jim Zemlin认为:

“分布式账本正准备改变广大行业,从银行业、航运业到物联网等。区块链作为一种早期阶段,拥有改变我们的生活和业务方式的高度复杂技术的能力,它需要一个跨行业的开源协作计划,以促进这种技术的使用。”

笔者认为,把区块链仅仅作为一种分布式账本并不能完全覆盖它的全部应用场景;而同样地,分布式账本也不一定需要用区块链技术来实现。

无论是分布式账本还是本节中引入的半开放式账本,笔者认为都属于超级账本的概念。超级账本,有一个正面的引导性,容易记忆并能被识别为有科技含量的金融概念。笔者认为,超级账本是把区块链技术或者思想作为分布式记账来使用时的说法。

账本和分布式账本

按照百科的定义,账本是:

具 有一定格式并由若干账页组成,以会计凭证为依据,对经济业务进行序时分类记录的本籍,也就是通常我们所说的账册。账本包括出纳账、现金日记账、银行存款日 记账、存货日记账、进销存日记账、营业费用明细账、总分类账、管理费用明细账、应收单据明细账、固定资产明细账、无形资产明细账、实收资本明细账、短期投 资明细账、低值易耗品明细账等。

任何一家以臝利为目的的企业或公司都一定要用到账本。会计领域的账本不在本书的讨论范围之内。在本节中研究更多的是如何在电脑和互联网上实现数字账本。

image.png

Distributed ledger,即分布式账本,也有文献称之为Shared ledger,即共享账本。这两个概念其实是一致的。账本做分布式存储的最大意义就在于共享,而如果要共享一个账本并允许多个节点对其进行操作,不用分布 式几乎是不可能的。分布式账本的意义就在于它保证每个参与者都有一个账本的拷贝,并使每个参与者都确信自己的账本与别人的账本是同步的。

我们可以设想一下,如果分布式账本能够实现,那么对参与合同的每一方来说都能避免很多麻烦。下面举一个小例子。

快递公司和电商公司的共享账本

一家快递公司为一家电商公司提供快递服务。每个月,电商公司都会下很多订单到快递公司,有的通过电话,有的通过网络,还有的直接当面临时下订单。到月底时,根据双方的对账单来支付快递费。

快递公司和电商公司双方都会维护一个自己的账本来记录在这个月究竟发送了多少笔快递。很少会有双方的数字完全一致的情况,总是会出现这样或者那样的状况导致双方的快递单量不一样。

当 出现了这样的情况,双方就需要进行协调和沟通。如果数额较少,那么问题不大。而如果数据有较大的出入,那么究竟以谁的账单上的数据为准就是一件很麻烦的事 情。很可能需要对双方账单上的每一笔快递进行比较和核对,并查找原始单据来进行验证。有的时候可能还需要引入第三方来审计,从而会产生额外的费用。

如果这两家公司使用的是一个共享账本,那么这个问题就不存在了。在共享账本上,快递在输入的时候是双方都认可过的,那么到了月底,双方的共享账本是同步的,电商公司只需要按照账本上的数量进行支付就可以了。

如今,金融机构的清算系统其实是由一家或者多家第三方机构进行统一的账簿更新和验证。而区块链在本质上解决了传统依赖于第三方的问题。根据共同消费的概念,区块链技术把消费者和供应方直接连接起来,并完成自动结算,消除了中间人存在的必要。

2016年1月,DTCC发布了白皮书,名称是“Embracing Disruption——Tapping the potential of distributed ledgers to improve the post-trade landscape》(《拥抱颠覆——开发分布式账本的潜力,改善交易后的环境》)。

image.png

DTCC(1),Depository Trust & Clearing Corporation,即存管信托和清算公司,它是全球金融服务业的超级“巨无霸”。DTCC拥有近40年的经验,是全球金融服务行业首屈一指的交易后 市场基础设施。2011年,DTCC处理了总价值约为1700万亿美元的证券交易。

DTCC的白皮书提出,尽管目前的金融市场结构提供了稳定、可靠的可追溯记录,可是金融市场结构仍然非常复杂、封闭,无法进行全年365天,每天24小时的数据处理。DTCC认为,一系列资产配上完整、可追溯的交易记录的分布式记账本才是真正安全的。

DTCC认为,区块链技术和分布式账本这两个概念是可以互换使用的,而分布式账本能够降低风险、提升效率,简化或者彻底替换现有的系统,而这个机会是百年一遇的。

有趣的是,《区块链新经济蓝图》的作者Melanie Swan在她的书中把DTCC归类为极度反对区块链的一类公司,因为这类公司实际上已经是这个没有规范化的领域中的垄断企业。全面使用区块链技术其实是在颠覆它们原先的行为模式。

这不免让我们想到当年全面成功转型的IBM公司,“大象也能跳舞”是所有大企业管理者的一个标杆。无论DTCC能否真的全面颠覆自己,但它们愿意尝试的精神是值得钦佩的。

下 面来看英国劳工部(DWP)的例子。在集中式账本系统下,它们每年要支付约1660亿英镑的福利金,其中因为欺诈会多支付12亿英镑,因为申报者的错误会 多支付15亿英镑,因为政府方的错误会多支付7亿英镑。在这些多支付的34亿英镑中有9.3亿英镑能够被追回,而其他的都损失了。如果采用分布式账本,则 我们可能会:

  • 减少欺诈损失

  • 减少错误损失

  • 提高服务的透明度

  • 让服务覆盖更多的人提供性价比更高的服务

无中心和有中心的分布式账本

在分布式账本的白皮书中,依据DTCC的研究和分析,分布式账本能够在某些确定的领域改善现有结构,而这些确定的领域目前是手工或者半自动化的。与既有处理过程相比,新技术有着明显的优势。

在分布式账本上我们需要开发的系统包括:

  • 主要数据的分布式管理

  • 资产/证券的发行和服务

  • 已确认资产的交易

  • 交易/合同确认

  • 记录和配比相对复杂的资产类型(目前没有有效的解决方案)

  • 净额清算

  • 抵押品管理

  • 结算

无中心的分布式账本

在 区块链早期的应用中,例如在比特币系统上,区块链系统是无中心的,我们称之为Unpermissioned ledger,即无中心的(分布式)账本。在无中心的分布式账本中,任何一个人都可以为账本提供数据,而每一个拥有账本的人都有一个完整且相同的拷贝。这 里每个节点都是平等的,没有哪一个节点或者个人有特殊权益(permissioned)。系统的完备性是由很多人共同来维护的,而这些运营者们都是无中心 的(unpermissioned)。

这是区块链系统的优势,而换一个角度看,这个优势又成为它的劣势。区块链系统的抗审查性极佳,用户之间可以匿名地进行转账,“矿工”们可以匿名地进行记账。

在真实世界中,金融产品是受到各国法律约束的。当极客们在热火朝天地讨论如何可以用区块链来实现跨境交易或者交割股票的时候,其实并没有考虑到在实际情况下法律的合规和约束。

有中心的分布式账本

当 我们的分布式账本系统存在管理者时,情况就发生变化了。这时的系统其实是有中心的,应该被称为Permissioned ledger,管理者可以是一个或者多个个人或组织,可以是政府、银行或者运行这个系统的金融机构,而系统的完备性责任也就落在了管理者的身上。账本依然 是共享的,不过只有有限的节点才有权力(permissioned)来对系统上的数据做认证。

当我们在使用有中心的分布式账本技术时,可以对每个账户做颗粒度非常细致的权限管理。例如,有的账户有查看全部账户记录的权限,有的账户有查看部分账户记录的权限,还有一些账户有添加记录的权限。

我 们认为,对很多金融机构来说,有中心的分布式账本(Permissioed ledger)应该是它们更加感兴趣的技术,因为对它们来说,它们并不需要所有的节点都有随意修改账本的能力。只要有许可(permissioned)的 节点和人能够有修改账本的能力就可以了,而这些节点就是分布式账本系统的中心。

DTCC的白皮书提醒我们两点:

首先,分布式记账技术还未成熟,未被证实。笔者的解读是,DTCC认为分布式记账技术目前还只有顶层设计,缺少下面的基础结构,还不能直接接入复杂的金融环境。这个观点很务实且诚恳,也是我们认同的。全面拥抱现有的分布式账本实现方式目前还为时过早。

其次,区块链技术可能不会是每个问题的解决办法,但我们可以将其看作一个替代方案。这一条同样客观而理性,也是我们在本书前文中曾经提到过的。虽然区块链技术有其独有的优势,但它无法在所有的领域挑战有先发优势的对手们。

DTCC的报告认为(优化过的)分布式账本必须有以下五个功能,否则无法取代现有的技术:

  • 能够帮助强制执行数据格式和合约条件的工业化标准

  • 能够帮助消除手工操作、数据交换和数据格式的转换

  • 能够帮助降低完成交易的时间和风险

  • 提供的透明度对于商业是有帮助的

  • 对于整体的商业过程和数据的安全性是有提升的

DTCC加入了Linux基金会(Linux Foundation),并与Linux基金会一起发起了一个名为超级账本项目,推动区块链技术的合作项目。DTCC可以在创立公司管理、为技术制定标准的过程中起关键作用,并确保技术是开源的。

DTCC在荷兰和新加坡有两个数据库储存中心,所以交易数据的安全是DTCC的首要任务。从白皮书的内容来看,他们对区块链的投入已经是板上钉钉的事实,相信越来越多的金融服务巨头会跟随DTCC的脚步,加速在区块链技术领域的研究和实验。

半开放式的分布式账本

在云计算领域我们都知道,私有云(Private Cloud)的安全性是超越公有云(Public Cloud)的,而公有云的计算资源又是私有云无法企及的。那么,如果想要同时拥有这两种云的好处,则可以采用的方式是混合云(Hybrid Cloud)。

image.png

混合云既可以利用私有云的安全性,将内部重要的数据保存在本地数据中心,同时又可以使用公有云的计算资源,更高效、快捷地完成工作。

在分布式账本领域,同样也有两种账本:

  • 完全公开的分布式账本

  • 完全封闭的分布式账本

比特币、以太坊和其他的加密货币都属于完全公开的账本,每个人在这里都可以查阅信息、提交交易、参与验证交易的可靠性。而完全封闭的账本实际上是有中心的,这个中心节点可以分配计算资源来验证交易。

我们在上一节讨论过有中心分布式账本和无中心分布式账本的利弊,其实我们需要做的是找一种类似的“混合云”,以取公有云与私有云之长的方式来分别获取两种账本的优势,我们可以称之为半开放式的分布式账本。

半开放式的分布式账本会有这样的特点:

  • 用户是准入式的,但并不完全公开。

  • 交易的完成基本是实时的。

  • 依然可以从每个节点访问账本的完整拷贝,但其并不存储在每个节点之中。

  • 分布式账本上不一定使用某一种虚拟货币的网络。

  • 账本上的每一条记录是可追溯和可验证的。

我 们提出了半开放式的分布式账本最主要的原因在于,全开放式的分布式账本固然有完全的DACT特性,不过它在计算资源和存储资源上的浪费还是比较严重的。对 绝大部分应用场景来说,全冗余,或者说所有交易数据在每个节点上的完全存储是不必要的。如何在尽量保留DACT特性的同时节省计算资源和存储资源,是半开 放式的分布式账本的目的。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=838

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })(); '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

7.1 超级账本 的相关文章

  • 面试题:HashMap高频面试题

    面试题 HashMap 1 底层数据结构 1 7和1 8有什么区别 1 7是数组 链表 1 8是数组 链表 红黑树 链表元素多时转换成红黑树 元素少时转换成链表 2 为何要用红黑树 为何一上来不树化 树化阈值为何是8 何时会树化 何时会退化
  • DB2客户端连接不上db2默认端口50000

    DB2客户端连接不上db2默认端口50000 1 添加组和用户 root localhost expc groupadd g 2000 upp root localhost expc useradd m g upp d home upp u
  • Java中map的分类和常见的情况

    Java为数据结构中定义了一个接口Java util Map 它有四个实现类 分别是HashMap Hash table LinkedHashMap 和 TreeMap Map主要用于存储键值对 根据键得到值 因此不允许键重复 重复了覆盖了
  • RabbitMQ(一)——入门

    前言 原来公司项目的消息中间件一直在用RabbitMQ 今天抽出时间简单总结梳理一下关于RabbitMQ的相关知识点 我们知道消息队列在分布式系统中应用的的地方有很多 它也有很多种类型 除了今天重点介绍的RabbitMQ 还有像Active
  • ADC的接地

    by Walt KesterQ I ve read your data sheets and application notes and also attendedyour seminars but I m still confused a
  • SpringBoot自动装配出现NULL的情况

    环境 idea 2021 6 mysql 8 0 问题描述 今天遇到通过 Autowired注解自动注入后 发现字段为空的问题 问题产生的原因是将被注入的对象交给了IOC容器管理但是却通过new对象的方式使用该对象 导致该对象下的内容都无法
  • C语言if语句实现分支结构应用练习题

    此练习为本人自己练习完成的答案 答案方法不止一种 仅供参考 练习题列表 1 1 计算分段函数 1 10 分 1 2 分段函数 10 分 1 3 打折促销 10 分 1 4 12 24小时制 10 分 1 5 分数等级转换 10 分 1 1
  • HashMap源码

    数组 数组存储区间是连续的 占用内存严重 故空间复杂度很大 但数组的二分查找时间复杂度很小 为 o 1 数组的特点 查找速度快 插入和删除效率低 链表 链表存储区间离散 占用内存比较宽松 故空间复杂度很小 但时间复杂度很大 为 o n 链表
  • MTCNN+CRNN解决车牌识别问题-2

    这次到CRNN部分了 CRNN网络很简单 就是CNN RNN 因为RNN适用于时间序列类型的数据 车牌呢 其实也是有规律的 比如第一位是汉字 后面是字母 汉字 前一部分通过MTCNN将车牌区域已经定位了 那这部分就需要拿CRNN来对其进行训
  • Unable to cast object of type in System.DirectoryServices.AccountManagement.GroupPrincipal

    在使用UserPrincipal Current ToString 获取域登录用户信息时 本地调试没有问题 上传到服务器报错 Unable to cast object of type System DirectoryServices Ac
  • CSwin-PNet: CNN-Swin-Vit 组合金字塔网络用于超声图像中乳腺病变分割

    ATTransUNet 期刊分析 摘要 贡献 方法 整体框架 1 Residual Swin Transformer block 2 Interactive channel attention module 3 Supplementary
  • java数据类型

    整数类型 byte short int long 浮点数类型 float double 字符类型 String 布尔类型 boolean 1 整数类型 byte 128 127 short 32768 32767 int 214748364
  • CTFHub-时间盲注-wp #(自制脚本做法)

    时间盲注脚本 coding utf 8 Time 2021 5 16 19 29 Author z1moq File ctfhub时间盲注 py Software PyCharm import requests import string
  • MATLAB实现控制系统模型(传递函数)的建立与转化,传递函数模型与零极点增益模型的转化,连续系统与离散系统的转化,对比不同采样周期对系统性能的影响

    最近使用MATLAB做了很多控制工程方面的仿真 测试不同系统的响应和特性 不得不说使用MATLAB做控制仿真还是十分简洁方便的 尤其是其中的simulink模块可以提供更加直观的模型 方便分析与测试 今天就分享在matlab中构造传递函数模
  • 【微信小程序】微信支付接入全流程

    一 前置条件 接入支付首先得需要有企业资质 并开通企业对公户 注册微信支付并进行对公户打款认证 二 开始接入 1 下载微信支付的AP证书 2 服务端接入微信支付 2 1 引入相关maven配置
  • Java基础之集合

    Java基础 集合 1 Collection接口 Collection 是 List 和 Set 的父接口 常用方法如下 package com java day16 import java util ArrayList import ja
  • 简单实现继承一个抽象类的同时实现接口

    定义一个抽象类animal author ljf 定义一个抽象类animal 关键字abstract public abstract class Animal 将动物共有属性进行封装 名字 年龄 颜色 性别 说话 private Strin
  • np.dot(a, b)用法

    In short np dot a b 就是一个乘法函数 数和数相乘 若a和b都是数 np dot 1 2 2 一维数组的内积 np dot 1 2 3 4 5 6 1 2 3 4 5 6 1x4 2x5 3x6 32 矩阵的乘积 x np
  • Unity学习笔记——TextMeshPro使用详解

    https blog csdn net elineSea article details 88799896 TextMesh Pro是Unity默认文本组件的替代品 TextMesh Pro和默认组件一样拥有高性能 它使用了完全不同的Sig
  • 为什么大部分人认为测试用例不重要?如何正确编写软件测试用例?

    如何编写测试用例似乎不是开发的重要部分 但是为了让一个软件测试人员最好地完成他们的工如如何编写测试用例似乎不是开发的重要部分 但是为了让一个软件测试人员最好地完成他们的作 他们需要一套清晰的步骤和一个被测试的东西的清晰定义 编写优秀的测试用

随机推荐

  • 代码审查常见代码质量问题

    配套的Bug解释模式 为了有针对性的使用这个工具 减少bug的误报 提高使用效率 我们选择了10个左右的bug模式 下面就是对这10个模式的解释 这些bug可能会引起程序的性能或逻辑问题 需要说明的是 findbugs能检测的bug pat
  • 有哪些好用的设计图工具?

    设计图纸制作软件是高级学习数字设计的最佳选择 无论你是想通过设计图纸制作软件创建一个明亮的设计 还是与其他设计师分享和交流 本文将介绍十个易于使用的设计图纸制作软件 其中大多数是初学者和高级艺术家 具有完整的绘图 照片编辑和小图形设计项目功
  • jmeter 安装_JMeter安装教程

    一 安装JMeter之前我们需要下载Java的jdk Java软件开发工具包 这是因为JMeter软件是由Java代码100 开发的 Java代码要运行必须依托于JVM Java虚拟机 因此JMeter如果要运行也必须要在有JVM环境的系统
  • STM32学习记录 中断

    STM32 中断非常强大 每个外设都可以产生中断 中断类型有 系统异常 外部中断 NVIC 嵌套向量中断控制器 属于内核外设 管理着包括内核和片上所有外设的中断相关的功能 两个重要的库文件 core cm3 h和misc h 中断编程的顺序
  • C语言文件操作详解

    目录 前言 一 文本数据和二进制数据 文本数据 二进制数据 文本文件和二进制文件 二 文件的打开和关闭 文件指针 打开文件 小细节 关闭文件 举个例子 注意事项 三 文本文件的读写 向文件中写入数据 举个例子 运行效果 从文件中读取数据 举
  • 什么是黑盒测试,和白盒测试的区别有哪些?

    软件测试是软件工程中的一个非常重要的环节 是开发项目整体的一部分 是伴随软件工程的诞生而诞生的 但软件测试不是万能的 不可能发现全部缺陷 其中 黑盒测试和白盒测试是两种不同类型的软件测试策略 它们具有同样强大的功能 白盒测试和黑盒测试往往不
  • 浅谈Android版本更新

    关于本文DownloadManager版本更新的源码链接详见我的开源项目AppUpdate 前言 版本升级对于app来讲已经是非常常见的功能了 每次项目的版本迭代 新功能的开发都需要下载更新新版本 通过安装新版本来实现我们的迭代 当然除了这
  • 图解Redis中的9种数据结构

    如图所示 Redis中提供了9种不同的数据操作类型 他们分别代表了不同的数据存储结构 图2 17 数据类型 String类型 String类型是Redis用的较多的一个基本类型 也是最简单的一种类型 它和我们在Java中使用的字符类型什么太
  • Quartz学习总结之核心接口Scheduler、Job

    参考文章 https www cnblogs com mengrennwpu p 7141986 html 核心接口如下 接口 含义 Scheduler scheduler的主要API接口 Job 任务实现接口 期望调度器能够执行 JobD
  • c++ oop构造函数与拷贝控制

    class Quote public Quote int x x x 如果我们删除的是一个指向派生类对象的基类指针 则需要虚析构函数 virtual Quote default 动态绑定析构函数 int x virtual void sho
  • [YOLO专题-18]:YOLO V5 - ultralytics代码解析-总体架构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122356975 目录 第1章 YOL
  • 多线程进阶

    同步与互斥 什么是同步 有序性 完整性 原子性 什么是互斥 什么是临界区 可以限制线程并发访问共享资源 达到同步与互斥目的的程序片段 阻隔线程 排斥线程 同步代码块 格式示例 使用说明 同步方法 使用格式 使用解释 示例代码 释放同步监视器
  • 03C++11多线程编程之测试join,detach传各种实参时形参的拷贝次数

    03C 11多线程编程之测试join detach传各种实参时形参的拷贝次数 首先我们看下面的总结测试图 然后一步步的测试 1 这里我们先测试join传实参的类型 当实参为普通对象时 1 当形参为普通对象时 拷贝了两次 2 当形参为引用时
  • 计算机二级python(本人整理的所有含答案操作题)

    全国计算机二级 本人整理的所有操作题 包括答案 直接上链接 有道云笔记 喜欢的可以直接下载 本人复习了三天 看了视频 把所有解题记了一遍 直接过了 https note youdao com ynoteshare index html id
  • 机器学习常识 17: 多标签学习

    摘要 多标签学习从标签个数上来扩展数据模型 进一步还有标签分布学习 1 基本概念 多标签学习在 机器学习常识 3 分类 回归 聚类 中简单提到过 这里列举出几个相关概念 一起来讨论下 将训练数据的标签表示为 Y mathbf Y Y 二分类
  • idea搜索不到free mybatis plugins

    作者Gitee主页说明 换行业 不再维护 Jb market也提交了下架 下面有一个peer move and update插件 地址是 https github com chuntungho free mybatis plugins 或者
  • Google登录授权详细过程

    前言 这篇文章包含了google登录授权从API创建 到使用Java代码完成登录的一个完整demo 主要为了实现google关联用户的服务 如google merchant center等 如果仅仅需要使用google邮箱登录 建议由前端实
  • 10个统计分析方法

    为什么要学习统计学习 首先 为了知道如何以及何时使用各种分析方法 理解各种分析方法背后的思想很重要 要想掌握更精巧复杂的方法 你必须先理解较简单的方法 其次 当你想准确地评估一种分析方法的效果时 你得知道其运行的多好或者多么不好 第三 这是
  • Spring Boot引起的“堆外内存泄漏”排查及经验总结

    背景 为了更好地实现对项目的管理 我们将组内一个项目迁移到MDP框架 基于Spring Boot 随后我们就发现系统会频繁报出Swap区域使用量过高的异常 笔者被叫去帮忙查看原因 发现配置了4G堆内内存 但是实际使用的物理内存竟然高达7G
  • 7.1 超级账本

    Matthew Hancock Ed Vaizey以及Linux基金会执行董事Jim Zemlin都认为区块链技术和分布式账本这两个概念是可以互换的 通过分布式账本 几乎任何有价值的东西都可以被跟踪和交易 Jim Zemlin认为 分布式账