热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

可能是史上最有趣的区块链科普

中心化问题互联网高速发展的时代,网上购物是人们必备技能之一。如上图所示:买家支付给第三方平台(例如支付宝,paypal等),卖家收到买家已经付款的通知,将货物发出,待买家确定已收货

中心化问题

《可能是史上最有趣的区块链科普》
《可能是史上最有趣的区块链科普》

互联网高速发展的时代,网上购物是人们必备技能之一。如上图所示:买家支付给第三方平台(例如支付宝,paypal等),卖家收到买家已经付款的通知,将货物发出,待买家确定已收货后,第三方平台再将货款转给卖家,即完成一笔交易。

《可能是史上最有趣的区块链科普》
《可能是史上最有趣的区块链科普》

但大家是否考虑过这样的情况:万一哪一天这个第三方平台卷钱跑路了呢?或者这个第三方平台信息发生错误了呢?例如明明买家付了300元货款,卖家那却显示其只支付了200元货款。由此可见,日益高度中心化的交易方式使得当中心化机构一旦出现问题,就会带来巨大的损失。

中心化机构通常具有一定的规模,信誉,亦或者是由国家背书(比如银行),我们相信他们,从而均经过他们来进行交易。但他们真的不会出错吗?每年都会出现某人卡上飞来一笔横财,或者某人卡上忽然少了一大笔钱的新闻。银行系统每年也要花巨大成本来进行交易信息的纠错。这样的中心化运作模式不仅费时费力,而且用户还要承担钱货两空的风险。

区块链的诞生

《可能是史上最有趣的区块链科普》
《可能是史上最有趣的区块链科普》

我们设想一下,现在有一个巨大的广播,小编的青蛙“张狗”在广播口说:麻麻!我带着明信片回来了!!(≖‿≖)✧。这个消息一传十,十传百,于是全世界的人都知道:“张狗”带明信片回来了!!有了这个非常厉害的广播后,每次小编的青蛙有新的动态,就能直接向所有人传达。

《可能是史上最有趣的区块链科普》
《可能是史上最有趣的区块链科普》

例如:它今天在咖啡店赊了500元。这时候所有人都知道,小张她蛙儿子在外边欠账了500元。同时,咖啡店也要确认下,对的,它不是欠我300元,也不是600元,是500元。大家知道:诶,的确有这样的事情发生,“张狗”广播的没问题。

但是,这个广播每天都会发无数的信息,大家根本记不住,所以要拿个小本子记录下来。我们以人之初性本善来假设,大部分人都是很诚实的听到什么记录什么。我们可以知道,当大家消息不互通情况下,诚实记录是最好的选择。那些与大部分人不同的小本子(一些坏人编造的假信息),就会被驱逐出这个系统!那么最后留在这个系统里面的,就都是诚实的小本子了。而且,即使一个人的小本子倒下了,系统中还有千千万万个小本子坚挺着,诚实地记录着过往发生的一切。

上述说的这些情景,和接下来要介绍的区块链,有异曲同工之妙。

区块链相关概念

区块链

区块链本质上就是分布式的账本。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。

分布式账本

我们现在基本上的交易模式,都是中心化的账本模式,基本上由银行掌握着。而我们上述情景中,每个人都拥有一个账本,这就相当于区块链的分布式的公共账本。在这个分布式网络上,每个节点都有账本的完整备份。如果有坏人想篡改账本上的记录,他必须改动每个节点储存的账本备份,这就令篡改行为难以实现。

动态的点对点网络

上述情景中,当每个人手里都拥有小本子以后,每个人都可以互相发生交易并自行记账(不需要银行等中心化机构参与)。区块链弱化了中央服务器的概念。同时,区块链也是一个动态的网络,不断有新节点加入和原区块链网络中节点的退出。新节点的不断加入为系统引入新的资源。相当于,参与这个系统人越多,这个系统更具分散性,权威性,更实用和普及。

挖矿(黑人问号脸???

在接触区块链的时候,一定会接触到一个词“挖矿”。你脑中第一个浮现的场景一定是这样的:

《可能是史上最有趣的区块链科普》
《可能是史上最有趣的区块链科普》

在区块链中经常提到的挖矿其实指的就是记账权。接着上面的场景,有人会说,凭什么广播说什么大家就一定会在小本本里面记下来呢?纸和笔墨不要钱?所以,为了激励大家帮我记账和告诉其他人,我就给第一个记下信息的人一些奖励。第一个人记录下这笔交易的获取奖励后,就要告诉其他人,我已经记录好了,你们就别记了。同时,他要传话给其他人,为了表明他是第一个记录的(或者说先于其他人记录的),他就会在我说的话前面加上自己的编号,再传话给下一个人。

分叉问题

小编知道,这个时候有人要问了:那万一,小陈和小张分别在北京和上海,几乎同时喊了一句:我记好了!那天津的朋友们会认为小陈是第一个记下的人,而杭州的朋友们肯定觉得小张才是第一。然后南方北方的朋友因为距离的关系,开始分别在小张和小陈后面跟着继续记录了。这样本来应该只有一条的链开始分叉了。

《可能是史上最有趣的区块链科普》
《可能是史上最有趣的区块链科普》

这样子,我们就不能保证每个人的小本子上信息都一样,那么去中心化的设想就破灭了。如何解决这个问题呢?我们就设定,每个人都要用左手写字,且要写字的时间至少要半个小时。这样由于每个人熟练度不一样,有些人一直是左撇子,自然就更快记账。那么自然每个人之间会有一定的时间差。第一个写完的人高喊:我记完了。其他的人就会停笔,转而去记录某某他记完账了。这里的熟练程度,就是在区块链中的算力。

如何保证数据安全

小刘某天中了彩票,五百万。她要和相关机构联系,所以要发送个人信息。小刘很害怕(那个时候她还没看过我们这个公众号),她心里想:怎么办,这样子我喊一句,所有人都会知道我手上有五百万,可我就只想让对方知道好给我打钱。其实,在区块链中,信息的传递是按照公钥加私钥的方式进行的。公钥相当于邮箱地址,所有的人都能看到,并且与你通信。私钥相当于邮箱密码,只有拥有私钥的人才能查看邮箱中的信息。

《可能是史上最有趣的区块链科普》
《可能是史上最有趣的区块链科普》

小刘用博彩机构的公钥对个人信息进行加密。网络中除了博彩机构以外的其他用户接收到这个信息看到的只是一段密文。只有博彩机构可以使用自己的私钥对密文进行解密。

有读者觉得小张她写这篇推送有点不错,想给她打赏,看到了小张的公钥,但是他们会担心,这个公钥到底是不是小张的。区块链有个神器——数字签名,有了数字签名就可以用于验证信息发送者的身份。

《可能是史上最有趣的区块链科普》
《可能是史上最有趣的区块链科普》

小张会使用私钥对文件签名并发送给读者A,读者A使用小张公开的公钥对文件进行签名验证,如果验证成功,则该文件一定是使用小张的私钥加密的。由于私钥只是小张一个人所有,所以读者A能确定文件的发送者就是小张本人。

如果觉得小编讲的有趣的话,欢迎关注我们的公众号:猫眼财经聚焦。

http://weixin.qq.com/r/MS1aQtvEpYbarZ8h93gj (二维码自动识别)

我们或许不是最老牌的财经自媒体,但我们想成为最专业,最敏锐,最温情的财经读物,捕捉最前沿、最新的财经资讯,为读者进行全面生动的解读。希望各位读者能跟随我们从入门小白成长为高阶玩家,我们也希望和各位共同成长。


推荐阅读
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 周鸿祎火力全开
    “在这个IoT时代,只是孤立地搞大数据,孤立地搞云,或谈AI,或做一个智能硬件,我觉得都是不完备的,必须将这几项技术综合运用起来,才是一个真正的IoT时代,也是IoT真正的春天。” ... [详细]
  • php实现文件下载代码一例,
    php教程|php手册php,实现,文件下载,代码,一例,php,实现,文件下载,代码,一例,我们,需要,用到,header,函数,来,发送,php教程-php手册php实现文件下 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
author-avatar
mobiledu2502915773
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有