-
Notifications
You must be signed in to change notification settings - Fork 10
23.再看区块链
obeTvR9XDbUwquA6JPQhmbgaCCaiFa2rvf edited this page Nov 10, 2019
·
2 revisions
直接给出我的答案:区块链是一种可校验的链式数据结构,可用于构建只增不改不删多副本的逻辑数据库。
- 只增:可以向数据库里写入一条条记录(区块),每个区块都有序号(sequence),每个区块都引用前一区块的散列值(pre_hash)
- 不改:当第n+1个区块被写入时,前n个区块都不能被修改,如果如果第n个区块被修改,第n+1个区块所引用的第n个区块的散列值就变了,第n+1个区块就失效了
- 不删:同理,如果第n个区块缺失,则n之后的区块都无法被证明是有效的区块
- 多副本:区块可以被单独的、分散的存储在不同的设备上
- 逻辑数据库:依据校验规则,区块在逻辑上是一个新块指向旧块、新块传承旧块的数据链
比特币(BTC)就是利用区块链这种只增不改不删多副本的逻辑数据库的特性,分布式的存储到大量的记账节点中,使得任一节点都无法修改、删除账本中的历史数据,保障了账本不可篡改、不可伪造。
比特币还用到共识技术,实现全网区块链数据的一致同步。
比特币为什么需要共识技术?
比特币的账本(区块链)是一个多签名区块链。
每一个区块的签名通常是不相同,同时会有多个账号生成第n条消息,要保证链的一致性,全网账号需要对选择那个区块入链达成共识。
从新区块的形成方式,区块链可以分为多签名区块链和单签名区块链
多签名区块链的入链方式来看,有可进一步分为特权链和平权链
- 特权链是指只有特定账号可以生成或者参与决定新入链的区块,也就是许可链、联盟链等。
-
平权链是指任何账号都可以生成新区块,那个区块最终入链由对所有账号公平的共识机制决定。
单签名区块链简称为单链,由于单链上所有的区块都是使用一个密钥签名,因此新区块只需要序号和前区块散列值正确就可以入链。
单链有什么应用场景?
单链与个体说话具有相同的特性,每个个体都是按照时间的先后顺序说出一句句、一段段话,而且每个个体是可以被区分的,每个个体所说的话串起来就构成了一条单链。
通过对单链区块的字段设计,可以在网络空间模拟个体发布公告、互相聊天这两类业务。