为什么我们需要区块链
时间:2022-05-07
本文章向大家介绍为什么我们需要区块链,主要内容包括1. 数据库方式、2. 区块链方式、小结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
“这个业务功能为什么要使用区块链来实现?使用数据库不是一样可以实现”
对于刚接触区块链的人来说,这是一个非常普遍的问题,下面我们就通过一个实例来对传统的数据库实现方式和区块链实现方式进行对比,之后我们就可以明白区块链的好处了
1. 数据库方式
以供应链这个业务场景为例,整个供应链中包括多个部分,例如 生产商、物流、批发商、分销商、零售商
在这个过程中,一件商品的运转是被各个部分独立跟踪的
各个部分都有自己的数据库,分别记录商品的状态
这种方式的问题:
- 多处数据源
任何时候,这些数据库都可能会有数据不一致的情况,因为数据是独立处理的,这就与每个部分的处理相关,也和各个部分的数据传递相关
- 人为错误
人为问题也会导致各个数据库中数据不同步,例如各个部分之间的争论
- 欺骗
因为商业利益,有些人会修改自己的数据库,并说自己的数据是真实的
- 依赖中介机构
对代理的依赖会使生产商的成本增加,并降低效率
- 脆弱性
由于中间商的介入和多份数据的拷贝,制造商无法控制假货流入供应链,或真品外流,客户也很难分辨产品的真伪
2. 区块链方式
使用区块链的话,就需要各个部分共同追踪产品的状态
每个部分可以有自己的应用,但是数据的存储是单一的,可以叫做“分布式账本”
- 单一的数据存储,使用密码技术进行保护
- 各个部分都有相同的数据拷贝
- 当有新的事务要记录到这个账本中时,必须得到所有部分的许可
- 账本中的事务信息绝不会被改变
好处:
- 单一数据源
任何时刻,所有部分都是引用相同的数据
- 人为错误会被提前发现
对于账本的动作需要所有部分的许可,所以可以提前发现人为错误
- 安全
任何背叛的行为都会被立刻发现,通过各个部分的账本数据比对就知道了
- 去中介化
消除中间商是区块链的最大好处,降低了生产商的整体成本,是生产商可以直接接触客户
- 规范化
通过区块链的透明审计,大大提高了整个流程的规范化
小结
本文翻译整理自
https://dzone.com/articles/why-do-we-need-blockchain
- 域名资讯:昨日域名成交2897个,成交额达300多万元
- 2017年12月编程语言排行榜:C语言再次崛起,有望成为2017年度编程语言
- WordPress 免插件仅代码实现 Gravatar 头像缓存
- Spring JDBCTemplate使用JNDI数据源
- 大家之前是不是误解了DC/OS与Kubernetes之间的关系
- CentOS 7 上部署Mono 4 和Jexus 5.6
- maven学习(下)利用Profile构建不同环境的部署包
- AS3初学者容易迷糊的几个问题
- Spring Security笔记:自定义Login/Logout Filter、AuthenticationProvider、AuthenticationToken
- ASP.NET Web API 2.1支持Binary JSON(Bson)
- Spring Security笔记:自定义登录页
- 浅析 Linux 初始化 init 系统
- 如何提高Python运行效率 超实用的四种提速方法
- 如何让oracle的select强制走索引
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 通过Rxjava看Kotlin协程(一)
- Fuzz中的javascript大小写特性
- 通过RxJava看kotlin协程(二)
- Android 黑科技 |Gradle Plugin使用场景
- php5全版本绕过open_basedir读文件脚本
- CameraX 封装二维码扫描组件
- Kotlin拓展函数的真身
- 一个一年没解决的ClassNotFoundException|类加载机制探索
- 我有个大胆的方案可以提高ARouter和WMRouter的编译速度
- Tornado模板对空白字符的处理与解决方案
- View的有效曝光监控(上)|RecyclerView 篇
- PHP绕过open_basedir列目录的研究
- View的有效曝光监控(下)|ScrollView NestScrollView篇
- 聊聊AbstractProcessor和Java编译流程
- Okhttp如何开启的Http2.0