1 区块链(blockchain)的定义、起源与特点


1.1 区块链的定义

百度百科:是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
维基百科:用分布式数据库识别、传播和记载信息的智能化对等网络, 也称为价值互联网。
巴比特:由节点参与的分布式数据库系统,它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger)。


1.2 区块链的起源:拜占庭将军问题


拜占庭将军问题也被称为“拜占庭容错”、“拜占庭将军问题”。

拜占庭将军问题是Leslie Lamport(2013年的图灵讲得住)用来为描述分布式系统一致性问题(Distributed Consensus)在论文中抽象出来一个著名的例子。

拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。敌人的守军也很强大,足以抵御5支常规拜占庭军队的同时袭击。由于地形和补给的原因,这10支军队在分开的包围状态下同时攻击。除非有至少6支军队(一半以上)同时袭击才能攻下敌国。他们分散在敌国的四周,依靠通信兵骑马传递信息,来协商进攻意向及进攻时间。困扰这些将军的问题是,他们不确定他们当中是否有叛徒被敌军收买,叛徒可能扰乱进攻计划。而这些将军们也是不完全互相信任的,不会统一聚会商讨共识,只会派使者传递消息。在这种状态下,拜占庭将军们如何才能保证有多于6支军队在同一时间一起发起进攻,从而赢取战斗?

拜占庭将军问题中并不去考虑通信兵是否会被截获或无法传达信息等问题,即消息传递的信道绝无问题,消息不会在传输中失真。Lamport已经证明了如果传递消息的通道不可靠(通信兵被劫持或者收买传输错误消息),那么各个节点会互相猜疑消息的可靠性而无法判断消息的真伪,从而无法达成一致性共识。

在拜占庭问题里,各军队最重要的事情是:所有平等且互不信任的将军如何能过达成一致共识去攻打敌军。

拜占庭问题的解决办法:

(1)用口头信息传达
    缺点:
    1)口头协议并不会告知消息的上一个消息来源是哪个将军,也就是消息不可追根溯源,出现信息不一致也很难找到叛徒在哪。
    2)每个将军都需要跟其他将军发送消息,这样的验证效率很低,随着节点的数量递增,整个网络的通信次数会指数上涨,使得达成共识的效率进一步下降。

(2)用书面协议
    缺点:
    1)物理距离导致信息传输延迟。
    2)可信的签名体系难以实现,签名造假没法避免。
    3)签名的信息记录保存难以摆脱中心化机构。

(3)中本聪(比特币创造者)的解决方案:blockchain+pow

利用互联网的存在,降低信心流通的时间成本。每个将军配一台电脑,解决了“书面协议”中骑马通讯造成的时间延迟问题。

中本聪要求一段时间只有一个节点可以传播信息。加入工作量证明,谁第一个完成工作,谁可以传播信息,解决了同时发起消息,造成系统混乱,行动不一致问题。

在拜占庭系统里,加入了工作量证明,发消息的前提条件就是看谁最聪明,谁就有资格第一个发起消息。

中本聪设计的比特币系统采用了工作量机制叫哈希碰撞,在一个交易块找到一个随机数,计算机只能用穷举法来找到这个随机数,一群算力相同的计算机,谁先找到答案全靠运气,在这个世界上,只有随机才是真正的公平,而实现最好的办法就是使用数学。

根据的经济学分析工作量证明其实相当于提高了做叛徒(发布虚假区块)的成本,在工作量证明下,只有第一个完成证明的节点才能广播区块,竞争难度非常大,需要很高的算力,如果不成功其算力就白白的耗费了(算力是需要成本的),如果有这样的算力作为诚实的节点,同样也可以获得很大的收益(这就是矿工所作的工作),这也实际就不会有做叛徒的动机,整个系统也因此而更稳定。

将军们那又凭什么要一起做工作量证明呢?中本聪也完全可以设置一个奖励机制,比特币的奖励机制是每打包一个块,目前是奖励12.5个比特币,当然,拜占庭将军问题的奖励机制可以是瓜分拜占庭获得的利益。

如果有出现背叛怎么办?在这个分布式网络里:
    1)每个将军都有一份实时与其他将军同步的消息账本。
    2)账本里有每个将军的签名都是可以验证身份的。
    3)如果有哪些消息不一致,可以知道消息不一致的是哪些将军。
    4)尽管有消息不一致的,只要超过半数同意进攻,少数服从多数,共识达成。
基于互联网的区块链技术,它克服了口头协议与书面协议的种种缺点,使用消息加密技术、以及公平的工作量证明机制,创建了一组所有将军都认可的协议,这套协议的出现,拜占庭将军问题也就完美的得到了解决。

对于拜占庭问题的详解,网上有很多帖子,感兴趣的童鞋可以自行百度,在此不做赘述。


So,人与人之间的信任,得交给区块链:

1.3 区块链的特点:
(1)去中心化
区块链存储数据时使用的是对等网络技术,使用分布式核算和存储,不存在中心化的硬件或管理机构。所有节点的权利和义务都相等,因此任一节点停止工作都会不影响系统整体的运作。

(2)集体维护
系统是开放的,除了交易各方的私有信息被加密外,系统是由其中所有具有维护功能的节点共同维护的,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。

(3)信息不可篡改
一旦信息经过验证并添加至区块链,就会永久的存储起来。生成一套按照时间先后顺序记录的、不可篡改的、可信任的数据库,从而可以限制相关不法行为。因此区块链的数据稳定性和可靠性极高。

(4)无须信任系统
由于节点之间的交换遵循固定的算法,参与人不需要对任何人信任,随着参与节点增加,系统的安全性反而增加。因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
 

注:本帖内容素材均为从互联网上获取整理

转载于:https://my.oschina.net/u/3949254/blog/1931350

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值