互联网的贸易,几乎都需要借助可资信赖的第三方信用机构来处理电子支付信息。这类系统仍然内生性地受制于“基于信用的模式”。
区块链技术是构建比特币区块链网络与交易信息和加密传输的基础技术。它基于密码学原理而不基于信用,使得任何达成一致的双方直接支付,从而不需要第三方中介的参与。

区块链起源

区块链技术起源于2008年中本聪《比特币:一种点对点电子现金系统》,区块链诞生自中本聪的比特币。

拜占庭将军问题

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

  • 解决思路
    拜占庭将军故事的最后,数学家设计了一套算法,让将军们在接到上一位将军的信息之后,加上自己的签名再转给自己之外的其他将军,这样的信息模块就形成了区块链

区块链引言

  • 拜占庭将军问题延伸至互联网生活,即:在互联网大背景下,当需要与不熟悉的对手进行价值交换活动时,人们如何才能防止不会被其中的恶意破坏欺骗、迷惑从而错误决策。
  • 再把该问题抽象化,理解为:在缺少可信任中央节点和可信任通道情况下,分布在网络中的各节点应如何达成共识。
  • 这一对拜占庭将军问题的解决方案,可以推广到任何核心问题是在分布式网络上缺乏信任的领域。

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

什么是区块链

区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。


在一个40人以上的微信群里组局聚餐,如何统计人数?一种方式是大家纷纷发言,有个人来统计;另一种方式是大家接龙,每个人在上一个人的发言后面累加一个号并加上自己的名字,最后就能记录全部的报名人员和人数–》区块链。

微信组局 在区块链里的概念
接龙发帖 链式数据结构(1)
规则:每个人发帖 = 上一个帖子内容 + 下一个编号 + 自己的名字 共识机制,根据严格的规则和公开的协议形成
规则定下来后,大家自发登记 去中心化,没有任何单一用户能够控制它
在微信群里记录登记情况 点对点对等网络
只要联网就能得知最新进展 博弈机制(2)
为了形成40个人的报名记录,至少要有40人发40篇帖子才够,群友手机里都存档 分布式(多点备份)、高冗余
每篇帖子大家都看得见,更新的记录是否数字错了,人重复了,每个人都可以检查 共享账薄
群里的人大家都认识,各有各的名字/代号 通过非对称加密技术保证陌生人可信(3)

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

  • 一是数据结构,接龙发帖只记录“上一贴加1”这个简单计算,而区块链里记账的信息会复杂的多,每一个区块记录了上一个区块、时间戳、从上一个区块到这个区块之间发生的所有交易记录。
  • 二是博弈机制,用来解决链式结构万一遇到分叉了怎么办?在微信组局的情景里,如果有两人同时发帖、或者有人因为网络延迟导致没有在最新的帖子后面跟帖导致重号怎么办?很自然的办法就是,哪个跟帖跟的多,以哪个为准;出现重复的人乖乖到较多的哪个跟帖后面写上自己的跟帖。区块链里也基本一样,以一定时间为限,哪条分叉较长就以哪个为准进行记录,较短的分叉上记录的交易作废,推迟到下一个时间段里记的账里。
  • 三是非对称加密技术,用来解决陌生人之间的信任问题。这是跟微信组局最大的不同,微信的认证帮助用户做了过滤,群里的都是熟人/可信的人。在区块链里利用哈希、PKI公钥体系为每个人制作了一个唯一密码生成的唯一地址,功能类似于国内网银用的“U盾”,凡是用这个”U盾”接入区块链的,就可以进行交易,别人能识别你的身份,但是无法伪装成你。这样解决了信任体系的问题。

    定义

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

    从数据的角度来看

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

    从技术的角度来看

    区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。

    特征

    开放,共识

    任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许后的一份完整的数据库拷贝。节点间基于一同共识机制,通过竞争计算共同维护整个区块链。任一节点失效,其他节点仍能正常工作。

    去中心,去信任

    区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。

    交易透明,双方匿名

    区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每一笔交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是匿名的。

    不可篡改,可追溯

    单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。

    分类

    公有链

    无官方组织及管理机构,无中心服务器,参与的节点按照系统规则自由接入网络、不受控制,节点间基于共识机制开展工作。

    私有链

    建立在某个企业内部,系统的运作规则根据企业要求进行设定,修改甚至是读取权限仅限于少数节点,同时仍然保留着区块链的真实性和部分去中心化的特性。

    联盟链

    由若干机构联合发起,介于公有链和私有链之间,兼具部分去中心化的特性。