用最清晰的语言解释区块链
我去翻阅区块链相关资源时,发现我是如此的笨拙,在那些高深莫测的词根下我竟然练字都不认了,经过不懈的努力我想吧我总结出关于区块链相关的最基础知识跟大家用最直白的话语翻译出来,希望能帮到大家
中心化和去中心化的解释:
举个栗子,大家大多数都有银行卡吧,当我们去存钱或者取钱的时候,存取这个过程都是由银行内部操作系统为我们进行记录的,也就是说内部会有一个管理人员他的手中会有一个账本,这个账本里有我们何时何地几分几秒存获取了多少钱这样的一个记录,这时候就属于中心化管理,有固定的人员系统来帮我们记录我们的存取记录,但大家有没有考虑过这样一个问题,如果银行里这个拿着账本的管理人员很坏他把我们的钱取出一部分存到自己的账户里,或者银行被黑客攻击拿到这个账本把所有的钱都盗走,这个时候我们该怎么办呢?
而去中心化可以理解为没有内部管理人员拿着账本了,交易的这个信息直接发生在交易双方之间,交易完成后会将这个账单信息公布给所有在这个银行有注册的用户手中,这个时候每个人都有了自己的账本账单信息,也就是说小甄向小张的账户里打了一百块钱,那么小甄和小张会同时得到这个记账的信息并将这个信息告诉所有在这个银行存取过得用户手中,这个时候就可以避免一些比较麻烦的问题,比如小张想赖账说小甄并没有向他的账户打入100元钱,这个时候因为我们所有人手中都有一个账单就可以明确的知道小张在撒谎,也就是说当银行的账单被黑客盗取的时候他不仅要将银行的账本信息更改,而且还要把我们每个人手中的账本信息都进行更改,才可以成功盗取,但想要做到如此是相当困难的,这就属于是去中心化,分布式账单,而区块链就属于是去中心化
区块和链:
上面我们说到在交易完成后交易双方会把交易信息也就是账单分发给所有人,每个账单都是独立的,我们可以将每个账单看做一个区块,所以区块可以简单理解为多条账目的打包,打包的时间可以进行改变,比如十分钟打包一次,三个小时打包一次,也就是十分钟生成一个区块,三个小时生成一个区块,而链我们可以理解为根据这个账单相邻打包的时间所进行的串联,换句话说,你想要查看你现在的账户余额,那么系统就会根据你当前时间点上次生成的区块去查看你余额的变动,然后将这个余额作为你的当前余额展示给你,每次进行打包生成区块时都是去查看你上次打包的期末余额然后作为你当前生成区块的期初余额,所以就可以理解为系统通过你上次的期末余额作为你新生成区块的期初余额进行相互的关联从而就相当于区块链中的链条,区块链就是我们大家共同维护的一个账本。
当然了大家肯定也会考虑到隐私问题以及效率问题,一个银行有那么多人,你要把你的账单信息同步给这么多人那得要多长时间啊,这个问题呢,现在因为有了5g速度相当的快了比较好解决,那如果我跟小张转了100块钱我的这个信息岂不是暴露给所有人了吗我的隐私该怎么保证,隐私问题的话区块链中会有一个哈希算法来进行哈希加密,也就是说这一百块钱这个信息会通过哈希加密生成一个字符串,并且这个字符串无法进行反译,在你需要进行比对的时候只需要去比对这个字符串是否一致即可。
当然并不会像我上面所说的那样简单,想要实现起来还需要一定的技术,我只是把他的逻辑跟大家分享,想到区块链大家也许会想到比特币,但其实区块链可以服务的领域有很多很多,航天,自动驾驶,AI,因为他的安全可靠很多领域都可以利用到区块链,区块链的技术除了哈希算法,有很多技术支持,比如pow工作量证明,公私密钥,pos权益证明等等这些大家可以之后在进行详细了解。
当你想试着幽默诙谐一点时可以撒一些无关紧要的小谎,关于区块链我说的并非十分明白,可能会让一些不清楚区块链现状的人误解,但只要能给大家带来一点帮助或捋清楚一点逻辑我就很开心了。
热爱生活,热爱代码,点赞噢.......
用最清晰的语言解释区块链相关推荐
- 基于Java语言构建区块链(四)—— 交易(UTXO)
基于Java语言构建区块链(四)-- 交易(UTXO) 2018年03月11日 00:48:01 wangwei_hz 阅读数:909 标签: 区块链比特币 更多 个人分类: 区块链 文章的主要思想和 ...
- 基于Java语言构建区块链(五)—— 地址(钱包)
基于Java语言构建区块链(五)-- 地址(钱包) 2018年03月25日 18:02:06 wangwei_hz 阅读数:1292更多 个人分类: 区块链bitcoin比特币 文章的主要思想和内容均 ...
- 基于Java语言构建区块链(六)—— 交易(Merkle Tree)
基于Java语言构建区块链(六)-- 交易(Merkle Tree) 2018年04月16日 10:21:35 wangwei_hz 阅读数:480更多 个人分类: 区块链比特币bitcoin 最终内 ...
- 区块链数学建模_试图通过高中数学课程来解释区块链
区块链数学建模 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) 试图通过高中数学课程来解释区块链 (Blockchain explained by trying ...
- 基于Go语言构建区块链:part5
Golang语言和区块链理论学习完毕后,快速入门方法无疑是项目实战.本文将参考https://jeiwan.cc/tags/blockchain/教程,学习如何基于Go语言构建区块链. 1.引言 本文 ...
- go语言与区块链开发
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情 go语言与区块链开发 GO语言之所以可以被称为区块链编程第一语言,主要是因为GO语言对加密函数的支持非常友 ...
- 区块链用哪种语言 Java_区块链开发用什么语言呢?区块链与编程语言的关系详解...
原标题:区块链开发用什么语言呢?区块链与编程语言的关系详解 区块链的概念就随着比特币的大热开始逐渐进入公众视野,比特币的拥有者为了使其创造更高的财富,开始疯狂炒作,因而引发购买比特币大浪潮.然而等到比 ...
- java语言分析区块链钱包生成的原理
java语言分析区块链钱包生成的原理: 一.区块链钱包实现的技术原理用大概就是: 钱包助记词生成了种子,种子发芽结果,果实就是私钥,私钥推导出了公钥,公钥数据的节选部分成了钱包地址.同时钱包提供了Ke ...
- Go语言,区块链公链,区块链钱包和区块链浏览器技术培训
为了让广大区块链技术爱好者更好地学习区块链技术,木姜子科技和问我学院联合推出区块链技术培训课程,为适应广大学员的的技术基础情况,我们将课程分为6个阶段.您可以参加其中任何一个阶段的学习,也可参与所有课 ...
最新文章
- 计算机导论与计算机组成原理关系,计算机组成原理
- 详解ADO.NET操作数据库合力创享
- 面向对象基础知识01
- linux和Windows平台 android sdk 中build tools 区别
- 遮掩java_css之图片下方定位遮掩层
- ElasticSearch 7 正式发布!
- .Net下采用Base64编码的一个封装好的类库
- IFrame与window对象(contentWindow)
- Base64,DES,RSA,SHA1,MD5 笔记
- 企业权限管理系统之AdminLTE的基本介绍(一)
- Lower power design UPF 学习
- PNG图片怎么转成ICO
- 推荐一款很好用的图床工具picgo
- Snowy小诺 前端关闭Eslint校验 yarn
- [摘录]第二部分 战略决策(1)
- 户用光伏数字化解决方案
- [0]SWM181-从零开发华芯微特MCU
- 【亲测有效】win10修改电脑系统字体大小
- 国家认证的Python技术工程师有什么能力要求?
- 浅析GPU计算——CPU和GPU的选择