JAVA开发(神乎其神的区块链技术之数据上链)

        这是我第二遍写关于区块链的博文,前一篇文章《神乎其神的区块链概念和技术》主要介绍区块链的由来和基本概念。因为博主最近在做一个区块链项目,所以有时候也遇到一些概念性的知识需要去理解,比如数据的上链。谈到数据上链,我们先了解一下现在都有什么链。

一、区块链的分类:

根据不同的条件划分大致可以分为:

公链、私链,联盟链、主链,测试链、单链、侧链、互联链、基础链、行业链。

  • 根据网络范围可分为公链,私链,联盟链
  • 根据部署环境可分为主链,测试链
  • 根据对接类型可分为单链,侧链,互联链
  • 根据应用范围可分为基础链,行业链

博主认为一个分布式的数据库与去中心化存在一定的矛盾,所以上面的链的去中心化都是相对而言。除了所说的公链代表的是整个互联网,其他的链都是小范围的数据存储,严谨的说还是有中心,有专门人管理。

公链:

  • 公有链是指任何人都可读取,发送交易,且交易能获得有效确认的,任何人都能参与其共识过程的区块链
  • 公有链是完全去中心化的,整个系统的运作规则和数据公开透明,没有人或者机构可以控制,篡改其中的数据,具有保护用户免受开发者影响的作用
  • 公有链中程序开发者无权干涉用户,访问门槛低,也就是说,一台能够联网的计算机就能够满足访问的条件,目前市场上比较知名的公有链包括比特币【BTC】,以太坊【ETH】,波卡【DOT】,EOS,币安,索拉纳等等。

私链:

  • 私有链是与公有链相对的概念,就是不对外开放,仅在组织内部使用的系统,参与的节点是有限和可控的,因此私有链具有交易速度快,隐私保护强,交易成本更低,不容易被恶意攻击等优势。
  • 尤其适合比如企业的票据管理,财务审计,供应链管理等,或者一些政务管理系统等
  • 私有链基本是中心化的,严格来讲不算区块链。

联盟链:

  • 联盟链是部分去中心化的,介于公有链和私有链之间,其参与者是被提前筛选出来或者直接指定的
  • 数据库的读取权限可能是公开的,也可能像写入权限一样仅限于系统的参与者,通常是在多个成员角色的环境中使用,比如银行之间的支付结算,企业之间的物流等
  • 联盟链并不一定要完全管控,比如政务系统,有些数据是可以对外公开的。

侧链:

  • 侧链是平行于主链的一条区块链,可以理解为是区块链的一种扩展协议,早期“侧链”是为了解决比特币以太坊的限制问题,比如2017年,牛市来袭,链上交易量大幅提升,超出了网络自身的吞吐能力,造成链上大面积的拥堵和延迟,所以就出现了加密猫游戏的火爆使整个以太坊网络瘫痪的事情;
  • 现在可以将主链上小额零散的交易全部转移到侧链上进行,大大减缓了主链的交易压力;
  • 这样做还有一个好处,就是可以保证一定的安全性,如果你的交易地址中有大量的比特币或者以太坊,相信你也不愿意让其他人知道你是拥有者,侧链也可进行简单支付验证,不需要将所有交易都过一遍比特币的原生区块链系统,所以在交易的处理速度上侧链也具有相当的优势。

测试链:

  • 测试链这个很好理解,就是开发者为了方便大家学习和使用,而提供的测试用途的区块链网络,比如比特币,以太坊的测试链等
  • 最后部署在生产环境的真正的区块链系统就是主链
  • 不管是公链,私链,联盟链,侧链,都没有绝对意义上的优势和劣势,根据不同的应用场景,最合适的才是最好的。

二、区块链的上链:

数据上链是指用户将自己的数据加密上传到基于ipfs的公网侧链,并在公信链形成数据索引的过程。数据一旦上链,除了你本人的Data_key授权解密外,任何个人或组织都没有能力获取到你的数据,从而保证数据的绝对安全。

上链前三步走:

第一步,根据企业所在的上下游产业,设计一条链的起点和终点。理论上讲,所有产业链的起点都是大自然,终点都是消费者。但在设计一条具体的链时,不一定要覆盖到大自然,终点也未必一定要延伸到消费者。要根据每一条不同的链的特点灵活设定链的长短、起点与终点。

第二步,起点终点确定后,在每一个环节或者行业选择哪些企业上链?选择的标准又是什么?一条产业链的设计,不一定是每个环节都要选最好的企业上链,链就是最好的。这和球队选球员的逻辑类似,一个球队如果前锋、中锋、后卫都是最好的,这个球队就是最好的吗?未必!

第三步,Token的设计,包括Token的价值支撑、应用场景。股票的价值来自单个公司全部利润的分红,Token的价值则来自链上的各个环节、各个企业的贡献。比如,有的公司按照销售额,有的按利润,有的按贡献产品或服务,各种方式都可以。贡献即挖矿,都可以获得Token。

业务数据上链前需要将业务数据处理,并且对信息进行签名。这些过程可以通过对应的工具,比如序列化工具和各种椭圆曲线的签名工具来完成,不过更多的时候是通过将各种工具集成的SDK来完成,以太坊的web3就是比较典型的上链前处理的开发工具。

数据层的一大功能是存储,存储系统的选择原则是性能和易用性。一个网络系统的整体性能,主要取决于网络或本地数据存储系统的I/O性能,比如比特币用的是谷歌的LevelDB,据说这个数据库读写性能很好,但是很多功能需要开发者自己实现。

一笔交易从产生到上链完成的流程:

验证——在比特币区块链中,当一笔交易经由某个节点或钱包产生时,这笔交易需要被传送给其它节点来作验证。验证的做法是将交易资料经由数位签章加密并经由Hash函数得出一串代表此交易的唯一Hash值后,再将这个Hash值广播(Broadcast)给比特币区块链网络中的其它参与节点进行验证。

产生一笔新交易—— 一笔新交易产生时,会先被广播到区块链网络中的其它参与节点,各节点将数笔新交易放进区块,每个节点会将数笔未验证的交易Hash值收集到区块中,每个区块可以包含数百笔或上千笔交易。

决定由谁来验证这些交易?——各节点进行工作量证明的计算来决定谁可以验证交易,由最快算出结果的节点来验证交易,这就是取得共识的做法。

广播-——取得验证权的节点将区块广播给所有节点,最快完成POW的节点,会将自己的区块广播给其他节点,各节点验证并接上新区块,其他节点会确认这个区块所包含的交易是否有效,确认没被重复花费且具有效数位签章后,接受该区块,此时区块才正式接上区块链,无法再窜改资料。

交易验证完成——所有节点一旦接受该区块后,先前没算完POW工作的区块会失效,各节点会重新建立一个区块,继续下一回POW计算工作。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350314.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV(图像处理)-基于Python-图像的基本变换-平移-翻转-仿射变换-透视变换

1. 概述2. 接口介绍resize()flip()rotate()仿射变换warpAffine()getRotationMatrix2D()-变换矩阵1getAffineTransform()-变换矩阵2 透视变换warpPerspective()getPerspectiveTransform() 1. 概述 为了方便开发人员的操作,OpenCV还提供了一些图像变换的API&#xff…

计算机改名字后找不到网络,改了wifi名字后电脑搜不到网络怎么办? | 192路由网...

问:为什么我改了wifi名字后,我的电脑就搜不到wifi信号了? 答:修改wifi名称后如果搜索不到wifi信号了,可以按照下面的步骤进行操作,以解决此问题。 1. 如果将wifi名字改成了中文,建议你将其修改为…

柠檬班python自动化百度云_柠字取名2019-尚名网

柠字取名2019-尚名网 名字不是一个简单、随便的称号,它隐含着不容忽视的信息力量。寓意好的名字有积极的暗示作用,使人更有信心和勇气去实现理想,寓意欠佳的名字反之。可见,名字对人们而言是非常重要的,为人父母者一定…

为了取一个花名,我爬下了中草药网所有的名字!

很酷哦!不过,对我这个选择恐惧症来说,也很纠结…我们先看一下有哪些要求吧? 中草药名?人参?西洋参?还有啥??? 作为一个不怎么吃药的非医学生,这题…

使用MySQL查找姓名重名_查询名字有多少人重名,全国同名同姓查询全国姓名数据库...

查询名字有多少人重名,全国同名同姓查询全国姓名数据库 时间:2020-04-04 15:30:01 很多爸爸妈妈在帮孩子取姓名的时候,会想了解在全国范围内重名的人数,希望宝宝的名字不会跟太多人一样。或者有的小伙伴单纯想弄明白全中国同自己姓…

百度排名优化工具 V3.0 正式版

介绍 百度排名优化工具正式版是款可以迅速提升网址百度搜索排名的工具。软件拥有智能计算关键词点击数,点击规则自动添加等。软件还提供了维护模式,自动维护您的关键词排名,让您的关键词排名更加稳定可靠。百度排名优化工具可以将你的网站在…

给Android系统瘦身,安卓优化大师:给系统瘦身

安卓优化大师是一款基于Android平台的系统优化软件,最新版本界面设计简单,功能全面,可以帮助Android手机用户给系统瘦身,优化手机性能。 程序名称:安卓优化大师 平台:Android 类型:系统优化 软件…

Windows优化大师7.96版下载

Windows优化大师提供了全面且有效而简便安全的系统检测、系统优化、系统清理、系统维护四大功能模块以及数个附加的工具软件。它能够有效地帮助用户了解自己的计算机软硬件信息;简化操作系统设置步骤;提升计算机运行效率;清理系统运行时产生的…

SEO优化工具-免费SEO优化工具下载-SEO优化工具大全中心

什么是SEO优化工具?SEO优化工具(Seo tools)能在搜索引擎优化过程中起到辅助的作用,如数据查询工具、网站排名工具、网站流量分析功能,站群管理工具等,用来提高每个SEO人员工作中的效率。 seo优化工具&#…

Android性能优化之APK优化,完整版开放下载

前言 移动研发火热不停,越来越多人开始学习 android 开发。但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容。市面上也多是谈论知识图谱,缺少体系和成长节奏感&a…

win10优化大师v1.0去插件免费版

名称:win10优化大师v1.0去插件免费版 版本:1.0 软件大小:5.70MB 软件语言:中文简体 软件授权:免费版 应用平台:Win10 win10优化大师是一款面向Win10操作系统提供的优化软件,提供常用系统功能的…

Android性能优化工具

一、性能优化工具基础 1.1 概述 在Android开发中,开发者可通过"系统跟踪"观察Android设备的运行情况并生成跟踪报告,在此基础上进行分析优化。Android 平台提供了多种获取跟踪信息的工具: Android Studio CPU 性能剖析器Systrace…

PS 的常见抠图工具

PS 的常见抠图工具 1. 套索工具2. 多边形套索工具3. 磁性套索工具4. 对象套索工具5. 快速套索工具6. 魔棒工具7. 其他 1. 套索工具 能完成快速抠图, 缺点是不好控制. 2. 多边形套索工具 绘制多边形区域抠图, 缺点是不够圆滑, 返回上步是 Backspace 键. 3. 磁性套索工具 吸附边缘…

PS抠图的6种方法

1. 魔棒工具 用于去除单色背景色图片。 选中魔棒工具后,可以点击选中图片中的背景色进行选取,选中后可以去除背景。魔棒工具一般用来去除背景色为单调色的背景,比如背景是白色或者其他纯色之类的。 在选择时可以选择容差\连续: 连…

【QQ聊天界面、创建模型、懒加载数据 Objective-C语言】

一、今天我们要做的就是这个案例 1.我们今天要做的案例,做好了之后的效果就是这样 这个案例,和昨天那个微博的案例是非常相像的, 哪些相像呢, 1)整体是不是也是能滚动啊, 2)能滚动,它不仅仅是一个UIScrollView 它里面,这个也是一行、两行、三行、四行、 所以说,…

Hive学习---7、企业级调优

1、企业级调优 1.1 计算资源配置 到此学习的计算环境为HIve on MR。计算资源的调整主要包括Yarn和MR。 1.1.1 Yarn资源配置 1、Yarn配置说明 需要调整的Yarn的参数均与CPU、内存等资源有关,核心配置参数如下: (1)yarn.nodeman…

代码随想录算法训练营第四十八天|198.打家劫舍|213.打家劫舍II|337.打家劫舍III

LeetCode198.打家劫舍 动态规划五部曲: 1,确定dp数组(dp table)以及下标的含义:dp[i]:考虑下标i(包括i)以内的房屋,最多可以偷窃的金额为dp[i]。 2,确定递…

MockServer 服务框架设计

【摘要】 大部分现有的 mock 工具只能满足 HTTP 协议下简单业务场景的使用。但是面对一些复杂的业务场景就显得捉襟见肘,比如对 socket 协议的应用进行 mock,或者对于支付接口的失败重试的定制化 mock 场景。为解决上述问题,霍格沃兹测试学院…

压力测试遭遇大量TIME_WITE之后(这样解决)

前言:http协议是互联网中最常使用的应用层协议,它的绝大多数实现是基于TCP协议的。 目录 一 问题描述 二 问题跟踪 三 跟进分析 四 解决方法 一、问题描述 某天,在对一个提供http接口的后台服务进行压力测试过程中,我们设定了…

IPAD、IOS、MAC邮件配置QQ邮箱

1、登录QQ邮箱 2、点击设置 3、切换到账号,往下拉开启IMAP/SMTP服务,如果已经开启直接点击生成授权码即可 4、按照指示发送短信,验证成功后会有一段码,此为密码,按照下图配置即可