web3带大家简单建立区块链概念

上文 Web3.0概念我们简单说了说 web3的概念
可能很多人还是会感觉 太概念了
然后 这一篇 我们再了解一下区块链
因为 web3.0的一个构建基础 就是 区块链
有了区块链 才衍生出了后面的很多东西
去中心化的身份 去中心化的应用 dapp

其实最终的目的 也是带着大家去构建起自己的 虚拟货币 虚拟交易所
那么 你要写成构成这些逻辑的代码 我们肯定是要了解区块链的

我这篇文章只是相当于一个引路人 我会让大家有一个基本的区块链概念基础
但你要是希望看完这篇文章 就完全懂区块链 这显然是不可能的
但有这个基础 你之后做区块链开发 后面回过来看这些 就会发现 原来真实这么回事

那么 我就会描述 等我们有区块链后 我们再去管理数据 是一个什么样的场景
之后再去研究 这种东西怎么去实现

那么 我们还是先想一想 现有的一个封闭体系下 数据又是怎么被管理的?
我们这里举个例子 比如 我们的抖音
web3带大家简单建立区块链概念_第1张图片
我们制作的视频上传上去
我们在抖音开直播 有一定的收入
我们收入 和输出的视频的这些数据
都是通过抖音的一个服务器 执行后端代码 他们来控制的整个规则
例如 很正常的平台抽取利润 这些操作都会在这里完成
然后数据也会存在抖音的数据库中

毕竟说这么大互联网公司 不可能跑路 但如果换成小一点的平台 存在跑路 被恶意攻击等 导致数据丢失 这个是存在风险性的
比如 你在一个小平台上有个一两百收入或理财存款 一但数据丢失 那钱真就直接没了
web3带大家简单建立区块链概念_第2张图片
这就是 我们在目前这种中心化的系统中都是由我们所相信的这个第三方中间人 就是我们通常使用的互联网平台 所控制的
所以 我们所看到的这些钱啊 之类的数据 对他们来说也只是个数据而已

所以 这里 互联网平台都需要长期维护自己的系统
当然 对于大互联网公司 也不需要去担心这方面问题 概览也非常小 毕竟没人会愿意犯罪
web3带大家简单建立区块链概念_第3张图片
当然 进入区块链时代 也不能说完全没问题 但是会更大程度减小这个事件的概率

那么 区块链概念 就是替代掉第三方平台 由我们说共同信任的一套计算机程序 取代控制 我们这里会有一个共识机制
我们每个区块链的节点呢 都会 有过一个程序的副本 我们副本中会写清楚他的一个具体规则 其中的代码是公开透明的

假如我们以后也是有构建这么一个 可上传视频 可控制收入 可进行货币交换这样的一个智能合约的规则
所有代码是公开透明的 但不会公开具体的数值
因为这个公开透明 有人会担心 你这所有东西都公开透明 那我收入类的信息是需要受保护的啊 这严重侵害了用户的数据安全
注意 这里指的公开是代码逻辑 代码怎么写的你可以去看
但是相应字段 你需要看是否被设了public
这里 大家都是搞代码的 我一说 public和private 大家应该就有概念了
公有和私有的一个概念
私有字段肯定是会受保护的 所以 在这种环境下 您还是会受到保护的 他会在私密算法下得到加密的
web3带大家简单建立区块链概念_第4张图片
没有了中间人之后 就由计算机控制规则 然后 我们来写智能合约 这样 我们每一个区块链就都会有数据备份 也会有一个程序的备份 非常的透明 不会产生数据差异

例如 会有人很有本事 能将其中一个节点的数据篡改了 收入从 100 改 1000
但是 要改一个区块链中的一个数据 那么之前的交易就都要修改 那么 这其中的计算量就会大非常多

这里 我们也只能说让大家不用担心安全问题 根据题的肯定还是要写了代码才能明白这个概念
以后将是自动化的程序来管理合约而不再依靠中间商的服务器与数据库

区块链由三部分组成 它即是 网络 也是 计算机 也可以是数据库
比如说他是网络 我们以前 想访问一个网址 必须要注册账号 那么账号就存在了第三方平台的数据库中了 那这样 我们必须通过在他数据库下创建的用户 才能在这个互联网公司的网址产品下操作
但如果区块链建成 你只需要注册一个个人的信息秘钥 它将让你能够自如的操作所有平台 相当于一个网络公开的身份证
web3带大家简单建立区块链概念_第5张图片
那么 数据库的概念 就是 我们如果不用第三方的数据库 哪数据存在哪里呢?
那么 区块链显然需要有存储信息的能力 而这种信息一点存储进入 它将不可改变
我们在区块链某个节点存一个数据 其他节点拿到的这个信息也都是一样的 这就是一个副本
那么 如果你在其他节点更改 其他的节点的备份也没有改变 所以 这个 你想修改 你就要去将其他的备份都改了
web3带大家简单建立区块链概念_第6张图片
但是 也存在 私钥泄露 那还是非常危险的 后期也会借助 其他工具管理 私钥
而且 需要存储数据 还需要能够执行官运算逻辑 那么 这就是智能合约 相当于就是执行js逻辑一样
也可以定义变量 而对于区块链来说 只要我们将这个变量存进去 他就永远存在于这个区块链中了

何时去取 是不是私有的 都是区块链中设置的

按我们之前的逻辑来讲 就是 前端操作 用 react/vue 这都不重要 然后发送网络请求 将数据给到后端服务器 然后 服务器上部署的后端代码 会执行逻辑 将数据处理好 用sql写入数据库

所以这样就会出现 第三方 后台代码和数据库开发者 他就能很自如的拿到我们全部的数据

而在现在 你前端的代码不用改 但选择 不需要发 axios 或者 ajax了 而是直接用json
或者是通过区块链提供给我的一个 webjs的库 这个接口直接链接到我们的区块链
这样 我们就可以通过 web3 写入或读取 区块链中的数据

这时我们所有的一个数据 就都是记录在一个区块链中的

好 然后 在这个过程中 我们启动是基于 react开发的 这个过程中你是一行后端代码都看不到的 是将web3这个库引入 通过它的接口去访问它的以太坊部署的区块链
获取钱包数据等等
可以部署上我们的智能合约程序
web3带大家简单建立区块链概念_第7张图片
那么 智能合约是什么语言写的呢? 它是类似于js的语言 所以 如果是一个前端身份来学习的话 其实是比较有优势的
不过这个后面也谁都会学习 这个到也没什么

我们以太坊的虚拟机会有多个 我们知道 区块链是一个块然后连接在一起的
也有点像一个分布式的存储

相当于 我们有一个公共的账本 然后每次交易 都会记录在这个账本上 但是每个人都不能直接访问这个账本 因为如果多个人都直接访问同一个文件 也肯定会出问题的
我们某个区块链在处理一个交易后 他会发起一个通知 然后所有区块链都会去计算 当所有区块链都同意之后 才会去记录这个信息
数据才会被记录在公共账本中 然后 所有区块链才会获取区块链账本的副本
这个大体就是一个 共识机制

那么 最后 我们来说说区块链适合的业务

首先是众筹 比如爱心捐款 有些第三方平台还是会抽取一些利润 如果我们能通过智能合约和区块链去控制这个交易过程 会透明很多
公证书也是
公司股权等
这些信息录入后就非常难篡改 就能避免很多争议和问题

你可能感兴趣的:(区块链,web3)