作为初学者,给部门运营的同学“科普”了区块链,上网找了一些资料,准备了一下,希望以浅显的话语讲述这个“高大上”的技术词汇,逐步去解剖一些技术细节,期间有些是他人的看法见解。
今天跟大家分享区块链的一些技术,可能说的不好,不要见怪,我尽量从故事的角度出发,以普遍发生在我们日常生活中的问题来阐述相关的技术细节,让我们明白技术、工具这些仅是一种手段,辅助我们解决问题,也可以让我们将来在业务面前回归到原本的出发点,寻找到解决他的关键所在处。整个分享大致占一个小时左右,前面信任的起源、拜占庭将军故事将会占到70%左右的时间,理解了这些普遍的问题,下面的区块链和比特币、区块链的场景和应用就很快了能贯通了,后者多半是概念性的东西,大家看看文字即可。
说起信任,大家可能会想到就是一个承若,当然茫茫人海中的一个眼神,你也可能把他/她作为一辈子的信任的依据,这是感性存在的东西。如何把感性存在留下了呢,老祖宗告诉我们记录是最好的方式。
目前世界上发现最早的图形文字记录
账本这里说的可能不是财务上的账册,它仅是从记录的角度出发,说明我们记录的这件事情。上面的图案,是世界上发展最早的图形文字记录,它发现于美索不达米亚,是苏美尔人最早记录的文字,大致意思是在37个月内收到29086个单位的大麦由库辛签收。
老一辈留给我们最早的文字并非是某一个藏宝图,或者是某一篇政治概要,估计这些最早的时候都不是必须,交易记录的才是最早促使文字的产生,而且通过这种方式流传到我们现在。从这个记录来分析有时间、物品、数量、人物,这些最基本的信息也就跟我们现在的某淘宝记录无差别。
原始的账本记录可能仅是适用小面积,比如你部落是贝壳为准,他的部落是以牛为基准的,那账本记录的物品的量化单位就模糊了。这时候货币作为了他重要的历史地位出场,作为一般等价物、物与物的交互媒介,货币有着价值和流通的两大属性,从历史的发展来看货币普遍都是体积小、价值大、便于携带、久藏不坏、质地均匀、容易分割等优点,从归类来说,主要是从实物到金属到信用货币,信用货币还包括了纸币、电子货币、数字货币。
至此我们讲述了信任的发展,通过账本的记录,货币的流通,给信任提供了工具和手段;接着我们来看看信任在战争其他场景下如何通过技术的手段来解决,并且如何把这种技术手段给冠上让我们今天在这里听我吹水的“区块链”大名。
拜占庭将军故事是这样的,在很久很久以前,拜占庭是东罗马帝国的首都。那个时候罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信使传递消息。在打仗的时候,拜占庭军队内所有将军必需达成一致的共识,才能更好地赢得胜利。但是,在军队内有可能存有叛徒,扰乱将军们的决定。
1)信任建立
从上面看,我们的目标是要解决A、B、C、D、E、F……军队统一战略策略攻打另个国家。
我们先拿A、B军队来说,如下:
A、B军队需要可靠的沟通,首先我们得建设A、B两者之间的道路(蓝色线条),是可行,也就是计算机要求两点之间的通信,信道至少是可靠的,信息的传递才可以进行传输。在计算里面对于两点的可靠传输使用p2p技术,这种在我们日常中非常常见。例如,张三、李四有一天在路上碰面,
张三问李四说,“吃饭了吗?”
李四回答说,“吃饭了,你听到了吗?”
张三回答说,“听到了”。
计算机怎么去形象的描述这个问题呢:
这个就是我们经常说的三次握手,可以有效保证信息在点对点传输的可靠性。
从上面得知至少每两个将军的沟通还是可以建立的,我们来看那到底需要多少真正将军,此才能统一去打战。基准是少数服从多少,我们先从三个A、B、C出发,假设A是叛徒(扰乱军心,怂恿不打战,而又不易给发现),B收到A去打战决定,C收到A不打战的决定,根据消息的传递,那么B也会收到C的不打战的决定,C也收到B打战的决定,这样B、C就处在于一个矛盾的局面,一半是打战一半是不打战,信任就建立不起来,如下:
我们研究4个人的情况A、B、C、D,假设A是叛徒(扰乱军心,怂恿不打战,而又不易给发现),B收到A去打战决定,C收到A不打战的决定,D收到A打战的决定,根据消息的传递,那么B也会收到C的不打战和收到D打战的决定,C也收到B打战的和D打战的决定,D也会收到B打战和C不打战的决定,这样B、C、D由于有三分之二的统一,就可以建立信任,攻打另一个城池,如下:
我们可以继续推到5、6至无数个军队,然后用数据归纳认证,即可得出m≥3n+1(m为将军个数,n为叛徒个数)也就是满足这个将军数量大于等于3倍叛徒数量的时候,信任即可建立。
2)工作证明
在上面我们通过理论知道了在满足m≥3n+1(m为将军个数,n为叛徒个数)信任可以成立,但是作为区块链最神秘的部分,他提出了为什么这些将军有资格去做通信呢,相当于需要排除一些弱小的将军提高打战的胜利可能性,在中本聪的设计里面,提出了工作证明的手段,可以这么来理解,让一个将军成为一个合格的将军,他需要经历九九八十一难才能取得一个合格牌照,然后持证上岗。
区块链里面通过了SHA256算法,不断的计算一个满足原本设定的值,这个计算还是有概率并且难度会逐层加大(挖矿越晚后面的难度越大),我们可以假设,对于2^256这样的数字有多庞大,相当于1.15792*10^77,而宇宙的天体数量也就是7*10^22,这个过程会消耗很多资源,通过算法内置的。
3)传输
从上面理论的信任已经建立并且相关的将军也获得足够的证明能力,如何保证相互之间的信息传输呢?有没有给别人截获、或者怎么证明个信息就是你要表达的呢。
区块链使用了非对称加密,可以使得上面的问题变得可能,非对称加密就是通信的双方拥有两把钥匙,一把是公钥,一把是私钥;非对称加密有两个场景的作用:
①加密
例如A跟B沟通,A只要把要传输的内容用B的公钥加密,然后传输给B,B收到之后用自己的私钥解密,即可获得A传输的内容,这个过程除了B,所有人都不能查看A传输的内容,保证传输过程的加密性;
②签名
签名的过程用在较多的场景,比如上面的加密通信,B获得内容之后,怎么证明这个内容就是A发送的呢?再例如我们日常生活中签的很多文件、协议、合同,为什么每一次都需要我们署名签署呢?其实就是有一个不可抵赖的证明。这个过程技术的解释如下:
A跟B通信,A把要跟B传输的明文内容块(这里一般都有做hash处理)用自己的私钥加密,然后把明文内容块和加密后的加密字符串给B,B拿到这两个内容之后,先用A的公钥对加密的字符串进行解密形成另一个字符串,然后把这个字符串跟A的明文内容块进行比较,相等的则证明这个是A发送过来的。
在传输的过程中,区块链除了使用上面的非对称密钥加密手段,还有较多的方法,这里再介绍一种叫做零知识证明,为什么需要使用零知识证明呢,在比特币网络中,用户需要将交易明文广播给所有矿工,由他们来校验交易的合法性。但是有些情况下,基于隐私的考虑,又不想把交易的具体内容公布出来。这就形成了一对矛盾,验证一个事情是否正确,但又不能向验证者提供验证事情的相关内容。
有这样相关的例子来解释说明,A要向B证明有钥匙能开门,A假如拿着钥匙当着B的面,打开门的锁,这个就不是零知识证明,因为期间A泄露了钥匙本身;B假如知道门里面的小屋内有一幅画,A自己拿着钥匙打开,然后拿到画给B看,B可以知道A有这个门的钥匙,这个就不会泄露钥匙的信息;再例如你丢了一个钱包,警察叔叔捡到钱包之后,你说出钱包里面的某一张银行卡的后四位,也可以证明这个钱包就是你的,而不是警察问你说这个钱包是不是你的,你说是,他/她也可以说是,道理是一样的。
对于这个技术的使用场景,我们在发表的论文、设计稿,都有可能存在给copy的可能,如何证明相关的内容就是对应的作者呢,就需要使用上面的技术。
4)时间戳
针对上面所建立的信任逻辑有效、假如所有将军都证明了自己有资格去传输信息,那么谁先呢?在这里,中本聪用了时间戳的技术,每个将军在证明的同时自己有能力这件事上加上了时间戳,第一个的人就拥有本轮的发送消息的权利,对应到区块链上就是第一个完成有效计算的矿工的区块是有效的。这样也就让我们后续的查看都是顺序的,都是可以追溯哪个时间段,都做了什么事情。
5)奖励
对于上面的将军,我第一个发送和最后一个发送有什么区别呢,要激励所有的人去干这件事,需要有一个驱动的东西,这个东西就是比特币奖励,其实比特币作为区块链技术可以说是两条腿的事情,一条腿是工作的本身,一条腿是作为你工作的报酬,相互激励促进;
一个分布式帐本,一种通过去中心化、去信任的方式集体维护的一个可靠数据库的技术方案。
通过上面拜占庭将军故事,可以有以下问题点对应的区块链特点解答
区块链的本质是由分布式数据存储、点对点传输、共识机制、加密算法、智能合约等技术组合而构成的技术体系。这些技术以新的方式组合在一起,可以完成防篡改的数据存储、可追溯的数据查看、可信任的点对点传输,可解决许久以来的信任构建难题。在技术上的分层如下:
区块链的本质是一套技术体系,核心价值是解决信任问题
1)可去中心化:分布式数据库让数据存储实现去中心化、共识机制让管理实现去中心化
3)可信任的点对点传输:P2P网络满足了去中心化形式下的点对点传输方式;智能合约通过可编程的代码,让被触发的合约自动执行,从而构建信任机制。
区块链可以构建一个去中心化(或弱中心化)的共识生态。由数据的防篡改、可追溯查看的存储方式以及可信任的传输机制,实现了价值的存储与量化流通。这里指广义上的价值定义,如数据、版权、投票权等都属于价值范畴。区块链技术体系的核心意义在于实现了价值的可信流通。
2009年1月4日中本聪在位于芬兰赫尔辛基的一个小型服务器上创建了比特币第一个区块——“创世区块”,新版本的比特币系统将它设定为0号区块,而旧版本的比特币系统将它设定为1号区块。并挖出了50个比特币,比特币诞生。从此比特币开始了他的疯狂之路。
2010年5月22日,美国一名程序员用一万个比特币购买了两个披萨,当时一枚比特币价值仅为0.003美分
2011年7月,当时世界第三大比特币交易所Bitomat宣布,他们丢失了wallet.dat文件的访问权限,也就是说他们丢失了代客户持有的17 000枚比特币
2013年8月19日,德国报道,德国政府认可了比特币的法律和税收地位,成为全球第一个正式认可比特币合法身份的国家。
2013年11月29日比特币价格首都超过黄金
2014年12月11日 微软接受比特币支付
2015年12月16日 比特币证券发行
2017年9月25号 跨链交易完成 比特币与莱特币实现跨链原子交易
2017年11月比特币价格升至四位数后的五年后,比特币价格火箭升空再升至五位数,之后一路继续上涨至20000美元。
区块链没有那么神秘,生活处处都是区块链
1)打麻将,136块,4个人就是矿工,13个块组合胡牌(哈希)之后获得奖励
2)茫茫人海中你两的相遇,70亿块中的两块相遇,各种曲折,花费的种种流水,后面得到结婚证书,奖励baby
问题:
1)商品生产到消费的链条不透明;
2)发送质量、安全问题难以回溯和追责;
3)供应链存在篡改和伪造的风险;
区块链的作用:
1)实现多方共同记录溯源信息,让消费者可对商品实现溯源查询和验真
2)保证了溯源信息是经过各个业务参与方共同确认的,具备不可篡改性
3)交易历史记录均可被审计,满足政策和监管的要求
4)区块链结合作为商品形态的防伪的底层数字化支持,可形成一套完善的溯源方案。
问题:
1)上游供应商、下游经销商,企业的信用无法实现传递;
2)信息难以共享、交易协作效率较为低下;
3)票价、合同等结算慢;
区块链的作用:
1)企业的应收应付可以在供应商、经销商、金融机构间流转;
2)企业的信用可以共享信息,解决快速融资的问题;
3)对于企业商业隐私和信息安全,可以通过授权或者多方在场进行查看;
4)企业债券、资金清算可以通过智能合约进行解决,加速企业的业务运作和资金流转效率;
问题:
1)资金流向不透明
区块链的作用:
1)资金流向透明,不可篡改;
2)提高捐赠人信心、公益机构的公信力,使得慈善事业朝着良性的方向发展;
问题:
1)中心化问题
区块链的作用:
1)去中心化,无中心信任背书;
2)展示保险资金的流向,增加松散群体之间的信任;
3)提升互助计划的透明度,增加会议的信任度;
1)关于区块链发展:短期是底层技术,中期是应用场景,长期是改造社会。
2)关于区块链参与各方:币圈看到流量,链圈看到共识,玄学圈看到革命。
3)关于区块链怎么改造社会:短期是通证和激励,中期是货币和经济,长期是社会。
4)关于应用落地:前期是比特币和炒币工具,短期是公链,中期是轻应用,长期是去中介化场景。
5)关于炒币:长期看人口,中期看供求,短期看监管。
6)关于区块链本质:一边是技术,一边是通证,一边是社区,链币社区不分家。
7)关于技术模型:短期看共识机制,中期看操作系统,长期看DAPP生态。
8)关于通证模型:短期看发币上市,中期看总量机制,长期看生态使用,终极看通证经济体的参与各方利益平衡。
9)关于社区治理:短期是自发自理,中期是社区政治,长期是代码法治。
10)关于通证社区经济体:以前是公司制,现在有非盈利组织,以后是通证社区,终极是人的自由联合。