您的位置:首页 > 其它

区块链学习名词详解-Part1

2019-05-23 13:35 19 查看

名词详解-Part1

区块链中的账本

不同的区块链系统拥有的账本数量也不同,但大部分都只有一个唯一账本。
账本的发展过程大致可分为三个阶段:

  • 1)单式记账:账本由一个人或组织负责,具有高度的中心化;
  • 2)复式记账:账本由多个人或组织负责,现代企业的的会计准则既是建立在复式记账之上,复式记账的多方之间通过对账的方式保证账本的唯一性和安全性。
  • 3)区块链分布式账本:区块链是一种集体记录方式,区块链中的每一个区块就相当于账本的一页,获取记账权实质上就是在链上新增新的一页账本并获得其激励。分布式账本有下列优点:
    1.人人都有权记录,并且相互之间确认以保障账本的可靠性–共识机制。
    2.人人都无法篡改记录–密码学签名。
    3.人人都有副本,即使部分账本损坏,也不影响整个链的整体上数据–分布式存储。

SHA56数学问题

SHA256是一种哈希算法,属于SHA-2算法的一个分支,由NSA美国国安局提出。(Secure Hash Algorithm,安全哈希算法)
哈希算法又称散列算法,既是将通过哈稀函数将消息或数据压缩成一段摘要,使得数据量变小,对于任意长的数据,SHA256函数将生成一个256bit即32字节长的消息摘要,通常用一个64位长的字符串来表示。
在比特币系统中,采用POW共识算法时,在进行随机散列运算时,工作量证明机制引入了对某一特定值的扫描工作,以SHA256为例,随机散列需以一个或多个0开始,随着0数目的上升,找到这个解或者说找到这个散列所需要的工作量就会呈指数级上升,但对这个结果的检验只需要一次散列计算。
比特币系统的区块中有一个成为随机数Nonce的值,该值要使得该区块的随机散列值出现了所需数量的0。个人理解为矿工通过不断地计算得出一个随机数,该随机数进过SHA256算法后得到的散列值要保证有要求个数的0。

女巫攻击 Sybil Attack

女巫攻击是针对P2P对等网络的一种攻击形式,攻击者利用一个节点向网络中广播多个ID来充当多个节点,以此来争取更多的网络控制权,一旦正常用用户的请求进过这些节点,攻击者便可以干扰查询、返回错误结果、甚至拒绝回复。
POW算法通过算力证明来构建新的节点(区块),因此女巫攻击中广播的Sybil节点由于没有算力证明,在共识算法下无法得到其他节点的确认,也就没有了效果。

拜占庭将军问题

拜占庭将军问题并没有历史考据,它是计算机科学家提出的一个网络信任问题。
其描述如下:拜占庭帝国有n只部队准备同时进攻另一强大的国家A,这n支部队都无法单独击破A的防御,只有当m(n>m>n/2)支部队同时进攻A时,A的防御才可被击破。为达到这一目标,拜占庭帝国决定将n支部队分散布置于A国周边,此时的问题就是:n支部队已经分开了,每支部队的将军在决策时不能像以前一样围在一起开会,而只能通过信使传递消息。那么,如果在约定好的时间,有几个将军因为胆怯并没有发起进攻,或者他们害怕其他将军没有按时发起进攻而按兵不动,再或者有几个将军因为叛变而发送了错误的信息(我们将上述事件均称为叛变)。如果这几个事件发生,便会导致整个作战计划的失败。
我们将这个事件类比于区块链中:

  • n支部队 = n个节点
  • 进攻A国 = 挖掘新区块
  • 传递消息 = 节点间通信
  • 将军叛变 = 节点广播虚假信息

为解决这一问题,比特币系统采用POW共识算法,各节点针对同一目标(挖取新区块)努力,只有付出一定的工作量才能得到新区块的记账权并得到相应的比特币奖励,挖取到新区块的节点必须要向全网广播它的工作成果(这个结果很难得到,但很容易被验证),只有多数节点经过验证并承认这一结果,新的区块才能够追加到区块链上。如果有恶意节点向全网广播错误的结果,由于该结果很容易被验证是错误的,因此它的计算结果无法得到承认,也就不能追加新的区块。
再将上述区块链(采用POW算法的比特币系统)模型类比于拜占庭将军问题:各位将军在传递消息时要加上自己的签名,这个签名就相当于区块链中的工作量,其他接收到消息的将军将自己的消息和签名连接在收到的消息后面,并传递给其他将军(例如一条消息:“同意,将军a签名,同意,将军c签名”),同时加上发送这条消息的时间(时间戳),类似于广播,这样以来:

  • 1)叛变将军难以传递假信息或者不敢传递假消息。如果叛徒想要以其他将军的名义传递消息,由于他无法得知其他将军的签名(私钥),这个行为难以实现;如果叛徒传递了假消息,比如他传递了“明日午时进攻”的消息,但他自己却没有发起进攻,由于其他将军有叛徒所传递消息的备份,便可以轻易识别出叛徒是谁。
  • 2)防止了一个将军同时发出多条不同的信息,或者同一时间有几个将军同时发送消息(此时多为转发消息)。由于工作量的存在,第一种情况不可能发生;由于时间戳的存在,第二种情况也很难发生,倘若第二种情况真的发生了,这条链便会出现分叉(实际上为软分叉),但最终短链会被抛弃,将军们会更加认可更多人确认的长链。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: