专栏首页一名叫大蕉的程序员区块链?黑人问号?NO.1

区块链?黑人问号?NO.1

# 区块链的大白话

我是小蕉。

从前的从前啊,有一个桃花屯,屯里住着一群跟小布小青这样的种田青年。屯里出现了这么一件事,每年的收成都是几千斤几千斤这样,每次出去卖一趟粮食,我了个乖乖,累死我娘的宝贝儿子了。这时候有个聪明的小蕉站出来了,说我们不如就用粮票来代表粮食,见票如见粮,这样大家都可以轻松点啦。商人一般都很奸诈的嘛,肯定会有贪小便宜的人,最后搞得你也不信我我也不信你,你的票可能是自己手抄的,你也不一定有这么多粮食。

区块链最根本的就是解决信任问题。

以前的解决方法就是,大家不是谁都不信谁嘛,那好啊,来搞个粮局,大家都来这里登记,不就一了百了了吗?

但是随着大家交易越来越大,问题就来了,粮局的成本越来越高,而且不同地区的不同粮局在结算的时候很慢,这就让大家很难受了,这怎么办呢?是吧?

这时候鸡贼的小蕉又出来了,那好咯,大家不是家里都有电脑吗?每个人都记一下账咯,规则就这样定。由系统来决定一个记账难度,大家都来竞争记账,记账完成的告诉大家一下,大家都来验证这位青年的记账是不是符合结果,如果符合,哎呀~那好,咱就按他的账本为准,大家都更新一下,接在账本的后一页。就像在一根绳子上打结一样,一次打一个结,一次打一个结,无论绳子有多长,总能找到绳子的第一个结。

竞争使用的一般是计算过程难,但验证过程简单的方式

具体这个竞争记账是怎么来实现呢?一般说有两种,一种叫智能公约,也就是大家按照既定的约定来进行记账。另外一种就是我们今天要讲的比特币的竞争记账方式,叫工作量证明。你说你算出来了,那我肯定是不信的,我一定要自己试试看。诶,你算出来的结果还真是符合前8位都是0呢,哎呀呀,好好好算你大功一支,奖励大公鸡一只。

这个过程的难度是怎么样呢,就是希望在针海里把针头上的原子数为某个数值的针找回来。这就麻烦了,要去找到这根针,只好慢慢捞了吖,而且规定捞过的针如果没用处就得丢掉,捞上来还要去鉴定一下是不是符合规定,除了一根一根捞没什么其他的办法了。但是证明这根针是不是符合规定,每个人只需要用自家的仪器看一看就可以了。

每一个字符串经过哈希算法能产生一个固定长度的随机串,而且不能反推出原来的字符串。

那如果整个屯的人都合作起来一起做假账,或者大部分人要做假账,也就是传说中的一张粮票取两次粮的事情,该怎么办呢?哎呀我天啊,这种屯还怎么发展下去,每个人都有自己的利益的,这种损人不利己的事情他们是不会做的,但是如果有一个大老板把他们全部贿赂了咋办?那只好抱佛祈祷这个屯里的村们了,在绝对的实力面前任何策略都没有任何的作用。

少年你还是对力量一无所知

好了,那如果有两户人都一起计算到符合条件的结果呢,咋办好?那就一起记咯,直到最长链出现,就抛弃短链,再把这些在主链上没有父块的孤儿块重新放回交易池,等待下一次记账把它们收养到最长链上。

出现分叉链会继续记账,但是最终会把短链边缘化

总得来说,区块链就是一项屯里的村民互相不信任,但是要高效记账的一项技术。只有屯里的几个人用,别的人想看都没得看,叫私有链。所有的人都可以随意用,叫公共链。只有少数几个人掌控大权,其他人只能是小喽啰,叫联盟链。链接多个区块链的技术,叫互联链。

从此,桃花屯的小青年商人们又愉快地生活了,他们经常想起那些天在夕阳下的奔跑,那是他们逝去的青春。

本文分享自微信公众号 - 一名叫大蕉的程序员(DaBananaTalk),作者:叫大蕉的程序员

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用区块链解决桃花屯的粮食问题No.49

    我是小蕉。 从前的从前啊,有一个桃花屯,屯里住着一群跟小布小青这样的种田青年。屯里出现了这么一件事,每年的收成都是几千斤几千斤这样,每次出去卖一趟粮食,我了个乖...

    大蕉
  • 简易但不简单的配置中心No.79

    嘛小伙伴们都问我我是怎么抽那么多时间来看书的,其实说难也不难说简单其实也不简单,就是提高效率和挤时间嘛。你要相信在一天中,每个时间都有它自己应该待的位置,做好工...

    大蕉
  • 社区发现有啥鸟用No.14

    当当当,同学们说要听算法,那今天就说说算法,关于社区发现的一系列算法。 最近一段时间工作上使用到了社区发现,虽然只是小小一部分。但是呢,工作量还是不小的,在网上...

    大蕉
  • 用区块链解决桃花屯的粮食问题No.49

    我是小蕉。 从前的从前啊,有一个桃花屯,屯里住着一群跟小布小青这样的种田青年。屯里出现了这么一件事,每年的收成都是几千斤几千斤这样,每次出去卖一趟粮食,我了个乖...

    大蕉
  • ALTERA FPGA开发板CYCLONE 10 AX1025/1006/1016开发板资料

    黑金 Cyclone 10 系列的高端 FPGA 开发平台(型号:AX1006/AX1016/AX1025)正式发布了, 3 个型号之间的差别就是 FPGA 所...

    碎碎思
  • 同创国芯窦祥峰演讲实录:VR的FPGA应用分析

    镁客网
  • 圆角矩形图片

    title: 2016-5-2 前言 从网络加载的图片是矩形的,而且大小不限,为了让图片显示为四个角显示为1/4圆这样的圆角矩形,有多种方法。 通过UI资源实现...

    用户1172465
  • 单细胞核测序在人类肾脏上的应用

    当你的才华还撑不起你的野心时,请潜下心来,脚踏实地,跟着我们慢慢进步。不知不觉在单细胞转录组领域做知识分析也快两年了,通过文献速递这个栏目很幸运聚集了一些小伙伴...

    生信技能树jimmy
  • 风靡全球的GANs:一文看尽这“混世魔王”的“三生三世”

    也许您已经了解到,当前的人工智能已经可以生成类似于人类的语音,或者生成难以与真实照片区分开的人物图像,甚至达到足以“以假乱真”(假作真时真亦假,无为有处有还无)...

    新智元
  • 链表

    链表定义:一种递归的数据结构, 它是在集合类的抽象数据,它或者为空, 或者是指向一个节点 (node) 的引用, 该结点含有一个泛型的元素和一个指向另一条链表的...

    用户2434869

扫码关注云+社区

领取腾讯云代金券