IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 用最通俗的语言学习区块链技术 -> 正文阅读

[区块链]用最通俗的语言学习区块链技术

?最近木子和一位大牛老师学习,研究区块链的相关课题,在此之前对区块链是一无所知的,借此就通过一周的时间,整理一下区块链的相关知识和技术应用。

区块链的概念最早于2008年在比特币创始人,中本聪的论文《比特币:一种点对点的电子现金系统(Bitcoin: A Peer-to-Peer Electronic Cash System)》中首次提出。

区块链可以理解为一种公共记账的技术方案,其基本思想可以这样理解:通过建立一个互联网上的公共账本,由网络中所有参与的用户共同在账本上记账与核账,每个人(计算机)都有个一样的账本,所有的数据都是公开透明的,并不需要一个中心服务器作为信任中介,在技术层面就能保证信息的真实性、不可篡改性,也就是可信性。

下面就通过一个简单的大学生宿舍的例子来讲述区块链的底层原理。

①公共账本

我们试想大学宿舍里有5个人,小李和四个舍友,分别为小黑、小红、小兰、小白,大学期间5个人一般经常要支付网费、水电费等,并且会有团建聚餐等的AA制聚餐等,那么就会出现舍友之间的借款或者应付现象,比如小李需要支付给小黑30块钱的水电费均摊。一般而言,大学舍友间的金钱来往还是很多的,那么每一次分别的来往转账或者现金支付将会造成很大的麻烦和实践浪费,为此五个人就购买了一个账本,在账本上面写上具体的内容,如“小李需要支付小红3元钱”、“小黑需要支付给小兰5块钱”等,这样就大大节省了时间和麻烦,等到每个月结账的时候五个人统计一下总金额就可以进行清账了。

②每个人都有一个账本

随着记账的进行,有一次小李发现有一次记账的时候,本来应该是“小红应该支付给小李5块钱”,记错了,记成了“小李需要支付给小黑5块钱”,小李和四位舍友想了想,由于公共账本记账可能会导致有人记错或者哪天有人不厚道多记账的话那不就尴尬了吗?

想到这,就出现了每个人都有一个账本的记账模式,之前公共账本记账是属于中心化的模式,而现在每一个人都有一个账本,都可以参与记账,当出现一笔交易时,大家都在自己的账本上记录下来,久而久之就避免了记账的信任问题。

③在交易记录后签名

后来,记录了一段时间后,小李想到假如有人随便记账,并告诉其余的舍友进行记录,自己被蒙在鼓里,到时候自己是说不清的,也就是说记账过程中“如何确认收到的一笔交易记录是否有效?”

这个问题在纸质帐本里很好解决,那就是在每一条记录后,由需付款的一方加上自己的手写签名,以示自己认可这笔记录。这个思路换到计算机中就是数字签名,所以我们要求每一笔记录后面,都要由需付款的一方加上自己的数字签名。

④比特币的诞生

随着记账水平的提高,学校里面很多的人知道了小李宿舍的账本,并由于小李几个人也和其他宿舍的男生女生存在交易,那么需要记录的交易数据量规模增大,为此五个人合计了一下就出现了比特币。

比特币是虚拟的货币,人民币则是实物货币,之前的每月结清,而现在交易单位改成了虚拟的比特币,交易也由月底统一交割改为事实交割。而比特币就像是账本上的数字,大家随时可以根据自己想法和需要”套现“,即在现实中交割。

如此一来,只要需要确保每个人的账户里有足够的比特币进行交易。也就是确定任何一笔交易的前提就是付款方的比特币账户中有足够的比特币用于支付。

此外,小李不想让别人知道“小李需要支付给小黑5块钱”,也就是说想保护自己的隐私,其余的舍友也是如此,在此情形下,在账本上就将名字换为了一系列的编码,这样舍友在帐本里都不写名字,而是写下跟各自对应的字符串,即比特币账户。通过这样,整个学校系统用户只能知道每个账户,而无法知道谁拥有这个账户,这就保证了隐私性。

⑤区块链的诞生

比特币的交易进行了一段时间,大家发现,由于都是采用的是个人账本,那么一笔账目是要在系统中的所有用户之间记录的,但是假设小李向小黑借款30块钱的时候,恰好小兰和小白回家了,这样小兰和小白就不知道小李和小黑的交易事实,那么他们就不会在自己的账本上记录“小李需要支付给小黑30块钱”,那么随着系统的增大不就乱套了吗?

在比特币系统中,也就是部分电脑可能处于关机或者未联网状态,会错过部分交易。此外,还可能会有黑客入侵部分电脑,篡改交易记录。

也就是说“会出现信息的不一致”,有的人记录了,有的人没有记录,那么区块链就出现了。

每个用户如果愿意,都可以整理自己从网络中接收到的交易信息,然后检查其是否合理(每笔交易是否由足够余额?数字签名是否正确?)后,再将交易记录打包成一个区块。

那么,其他用户收到广播的区块时,就会把这个区块加到自己维护的账本,也就是区块链的尾部。但互联网节点遍布全球,广播过程也需要时间,因此肯定会存在不同节点收到不同区块存储的问题。

因此每个交易记录都是以区块的形式存储,然后再广播到系统中的其他用户中。而区块之间相互连接,形成一条由系统内全体用户共同维护的区块链。然后,不同的用户会将不同的区块加入到自己维护的区块链尾部,生产不同的区块链。

木子持续每天学习一点点,期望积跬步而至千里,相信努力的青春不会迷茫的。欢迎关注木子微信公众号“Never Late”,只要有心,永远不晚。



?

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:31:12  更:2021-09-23 11:31:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:31:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码