查看原文
其他

如何清晰的理解区块链?

傅一平 与数据同行 2021-10-15

点击上方蓝字关注公众号

请您点击“与数据同行”以“关注”,关于数据的实践与思考,每周一我在这里等你!

作者:傅一平 当前就职于浙江移动 ,如果您有志于从事大数据,可以关注微信公众号“大数据梦工场(ID:ZMCCBD)”,浙江移动大数据中心正在招贤纳才中。


现在比特币提的多了,区块链作为一种新技术也开始有所应用,感觉大多书本写得不好,不太容易理解,或者不达要害,因此做了这个学习笔记,希望你能认真的看完,这篇笔记在道和术上达成了一定的平衡,理解了它,应该就知道比特币大致是怎么回事了。


这是很久以前写的一篇东西,这次为了冲击一个关注的数字,因此放出来算是完成自己的一个心愿吧。


1、区块链的本质诉求

互联网上的贸易,几乎都借助可信赖的第三方机构来处理电子支付信息,这类系统仍然内生性地受制于“基于信用的模式”。


区块链技术是构建比特币区块链网络与交易信息加密传输的基础技术,它基于密码学而不基于信用,使得任何达成一致的双方直接支付,从而不需要第三方中介的参与。


2、区块链的起源

拜占庭帝国派10支军队进攻一敌人,这个敌人可抵御5支军队的同时袭击,这10支军队不能集合单点突破,需要分开同时攻击,问题是多个将军相互不信任(存在叛徒),这种状态下要保证进攻一致,需要某种分布式协议进行远程协调。如果每个将军向其它九个将军派出一名信使,总计90次传输,每个将军会收到9条信息,可能每一封都附着不同的进攻时间。此外,部分叛徒会故意答应超过一个的攻击时间,所以他们将重新广播超过一条的信息链,这个系统变成不可靠信息和攻击时间矛盾的混合体。

这个故事之后,数学家设计了一套算法,让将军们在接到上一位将军的信息后,加上自己的独有签名再转给其它的将军,这样的信息模块就形成了区块链。

这个问题延伸到互联网,抽象化,就是:在缺少可信任中央节点和可信任通道情况下,分布在网络中的各节点应任何达成共识。

这引出了区块链的目的:用于验证其信息的有效性(防伪)。

3、区块链的定义

区块链中的区块指的是信息块,这个信息块内含有一个特殊的信息就是时间戳。含有时间戳的信息块彼此互联,形成的信息块链条被称为“区块链”。

一是数据结构,拜占庭问题中的信件只是记录一个接一个的将军的签名,而区块链里记账的信息会复杂的多,每个区块里记录了上一个区块、时间戳、从上个区块到这个区块之间发生的所有交易记录。

二是博弈机制,用来解决链式结构万一遇到分叉怎么办,比如某个叛乱的将军故意写错了时间,很自然的办法就是,收到签名时间一致的信件多的为准,除非有5个及以上将军都叛乱,否则就不会有问题。

三是非对称加密技术,用来解决陌生人之间的信任问题,比如拜占庭的信使给的信件中的将军签名,显然不能被伪造,要鉴定为真迹才作数,类似于网银的U盾,凡是用U盾接入区块链的,就可以进行交易,别人能识别你的身份,但是无法伪装成你,这样就解决了信任体系的问题。

区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。

从数据的角度看,区块链是一种几乎不可能被更改的分布式数据库,这里的“分布式”不仅体现为数据的分布式存储,也体现为数据的分布式记录,即由系统参与者共同维护。

4、区块链的特征

去中心化:网络没有中心化的物理节点和管理机构,网络功能的维护依赖网络中所有具有维护功能的节点完成,各个节点的地位是平等的,一个节点甚至几个节点的损坏不会影响整个系统的运作,网络具备很强的健壮性。

去中介信任:网络节点间数据传输是匿名的而且节点之间不需要互相信任,整个系统通过公开透明数学算法运行,节点彼此数据公开,彼此信任,没有办法欺骗其他节点。

数据库可靠:系统中每个节点都能获得一份完整“账本”(数据库的拷贝),除非能够同时控制整个系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,也无法影响其他节点上的数据内容。

由于互联信息块之间彼此互为验证,如果要篡改某个信息块的数据,就要改变相连信息块的以及所有前序信息块的数据,这就意味着对整个区块链条上所有信息块的篡改,还必须在一个特定的时间内完成,这实际上是不可能完成的,谁也无法在短时间内改变世界,更何况在区块链中还应用了多种加密技术。

5、区块链构成

区块链是指听过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,过去主要应用在比特币(P2P形式的数字货币)上。区块链技术是全民参与记账的方式,即区块链-数据库/账本。


那么,无第三方机构的全民记账的区块链有什么好处?

首先,没有一本中央大账本,所以无法摧毁,每个节点都仅仅是系统的一部分,每个节点权利相等,都有着一样的账本,摧毁部分节点对系统一点都没影响。

其次,无法作弊,因为除非你能控制系统内大多数人的电脑进行修改,否则系统会参考多数人的意见来决定什么才是真实结果,结果会发现修改自己的账本完全没有意义。

最后,由于不存在中心化的中介结构,所有的东西都通过预先设定的程序自动运行,不仅能降低成本,也能提高效率。每个人都有相同的账本,能确保账本记录过程公开透明。

区块链最重要的是解决了中介信用问题,过去,两个互不认识和信任的人要达成协作是很难的,必须依靠第三方,通过区块链技术,比特币是人类第一次实现在没有任何中介机构参与下,完成双方可以互信的转账行为,这是区块链的重大突破。

6、比特币

区块链技术是比特币的底层技术,把比特币技术抽象提取出来,称之为区块链技术,或者分布式账本技术,所以从某个角度看,比特币可以看成是区块链的一个应用,而区块链更类似于TCP/IP这样的底层技术,以后会扩展到越来越多的行业中。

区块链主要优势是无需中介参与、过程高效透明且成本很低、数据高度安全,如金融行业由于单点故障和系统性风险,需要层层审计来控制风险,但造成高昂的内部成本,区块链技术能够通过防篡改和高透明的方式让整个金融系统极大的降低成本。

  • 比特币的机制

比特币的交易机制是十分钟产生一个区块,意思就是每隔十分钟计算机就打包全网交易进入一个区块,而矿工就是在打包游戏中争夺区块链记账权的人,谁能最快狠准解开SHA256这个数据命题的值,谁就赢得了这个十分钟区块的打包记账权。而这十分钟里的每一笔交易,都会被盖上一个timestamp时间戳,当然了,矿工工作不是白辛苦的,一旦赢得了打包权,谁就将获得25个比特币作为奖励。

  • 比特币的信用系统建立的过程


(1)每一笔交易为了让全网承认有效,需广播给每个节点(矿工)

(2)每个矿工节点要正确无误的给这十分钟的每笔交易盖上时间戳并记入那个区块

(3)每个矿工节点要通过解SHA256难题去竞争这个十分钟区块的合法记账权,并争取得到25个比特币的奖励(头四年是每十分钟五十个比特币,每四年递减一半)

(4)如果一个矿工节点解开了这十分钟的SHA256难题,ta将向全网公布ta这十分钟区块记录的所有盖时间戳交易,并由全网其它矿工节点核对

(5)全网其它矿工节点核对该区块记账权,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块单链,也就是比特币支付系统的总账-区块链


一般来说,每一笔交易,必须经过六次区块确认,也就是六个十分钟记账,才能最终在区块链上被承认合法交易。


所以所谓比特币,就是这样一个账单系统:它包含所有者用私钥进行电子签名并支付给下一个所有者,然后由全网的矿工盖时间戳记账,形成区块链。


  • 交易实现区块链形成的步骤




  • SHA256 Hash算法原理


一种求Hash值的加密算法,将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值),其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成0)将得到一个千差万别的结果,且结果无法事先预知。正向计算(由数据计算其对应的Hash)十分容易。逆向计算(熟称破解,即由Hash值计算出其对应的数据)极其困难,在当前科技条件下被视作不可能。


  • 比特币节点网络




任何机器都可以运行一个完整的比特币节点,一个完整的比特币节点包括如下功能

(1)钱包,允许用户在区块链网络上进行交易

(2)完整区块链,记录了所有交易历史,通过特殊的结构保证历史交易的安全性,并且用来验证新交易的合法性

(3)矿工,通过记录交易及解密数学题来生成新区块,如果成功可以赚取奖励

(4)路由功能,把其它节点传送过来的交易数据等信息再传送给更多的节点


  • 比特币交易过程








  • 比特币的区块结构:





  • 比特币的端到端的一个支付案例

假如波比是在线卖商家,决定开始接受比特币作为收款方式,爱丽丝,是买家,拥有比特币,并且要从波比那儿购买商品。

(1)钱包和地址



何谓地址:可以简单的认为地址就是银行账号,但是运行机制又有些不同,比特币用户可以随意创建任意多个地址,事实上,我们鼓励大家为一个新的交易单独创建新地址,这样一来就没有谁知道哪个地址是属于爱丽丝的,她的匿名性得到了保障。

(2)提交一个支付




(3)验证交易(矿工出场了)



  • 首先,Garym、Garth及Gienn都是一个节点,并参与挖矿

  • 他们的电脑将过去10分钟的所有交易记录都打包

  • 利用hash(比如前面提的SHA265)方法,矿工的电脑基于前一次区块链的hash+10分钟交易包+一个随机数,计算新的hash值,这个新计算的hash值的要求是前X位为0(网络给出),比如000000000000。。。

  • 矿工并不知道应该取哪个随机数计算出的hash能满足要求,因此,只能自己随意选择随机数来硬算

  • 一旦某个矿工选择的随机数使得新hash满足要求,就可以进行广播,一旦获得全网认可,就获得了这10分钟交易的记账权(波比和爱丽丝的交易也就正式被全网承认了),同时生成一个区块,并获得比特币的奖励。比如这个例子中是Gary获得了奖励。

(4)交易验证

随着时间的流逝,爱丽丝发给波比的交易会被埋葬到其它最近交易的下面,因为只要有人修改了细节,就必须重新做一遍Gary所做的事情,而且必须重做所有前面矿工做的事情,这几乎是不可能。


由此就完成了一个支付过程,可见它涉及前面提过的大量技术和算法支撑。

7、区块链的应用领域

比特币可以看作是与区块链同时产生的区块链的第一个实际应用,除了虚拟货币,区块链技术可以应用到许多的行业和领域。


就到这里,没有比这更清晰的解释了,希望笔者的学习笔记于你有用。

历史精选文章
  • 报表系统的雄心? 阅读量:1891

  • 大数据需要什么样的合作伙伴? 阅读量:1703

  • 为什么数据挖掘很难成功? 阅读量:2171

  • 不忘初心,大数据不是IT的狂欢! 阅读量:2160

  • 我如何完成一本企业数据字典的编写! 阅读量:2580

  • BI自助取数是怎么炼成的? 阅读量:1835

  • 为什么BI取数这么难?阅读量:11500

  • 为什么数据管理工作很难成功?阅读量:1900

  • 为什么传统BI没前途?阅读量:4093

  • 大数据,为什么不是传统BI的简单升级?阅读量:3400

  • 数据分析师的自我修养  阅读量:1483

  • 唯有数据创新,运营商才能实现大数据变现的突破?阅读量:1236

  • 中国移动进军大数据征信,一个具有旅程碑意义的事件 阅读量:2380

  • 为什么有些人用3年的时间获得了你12年的数据分析经验?阅读量:1874

  • 数学中的“罗辑思维” 阅读量:1090

  • 数据说谎的艺术  阅读量:2234

  • 看上去很美,谈谈阿里云的大数据平台【数加】  阅读量:1281

  • DPI大数据之战:运营商的艰难抉择 阅读量:2342

还有很多...


长按订阅二维码关注(微信号:ysjtx_fyp)  




: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存