区块链笔记(二)核心技术

目录

 

定义及原理

区块链工作过程(以比特币为例)

分类

关键问题与挑战:


定义及原理

狭义上:区块链是一种以区块为基本单位的链式数据结构,利用数字摘要对之前的交易进行检验,在分布式记账场景下可实现防篡改、高扩展性。

广义上:代指基于区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、P2P通信技术、智能合约等。

原理:如果把区块链比做一个状态机,每次交易(一次对账本的操作)带来一次状态的改变;生成的区块就是对一段时间内发生的交易带来的状态改变的共识;区块按照发生顺序串联而成链,是整个账本状态变化的日志记录。

 

区块链工作过程(以比特币为例)

  1. 用户通过比特币客户端发起一笔交易,消息广播到比特币网络中等待确认。
  2. 网络中的节点将收到的等待确认的交易请求打包在一起,添加上前一个区块头部的hash值等信息,组成一个区块结构,然后寻找一个满足一定计算难度的nonce串。
  3. 一旦找到符合条件的nonce串,该区块在就“合法”了,变成了候选区块,也就是会被其他节点承认,该节点将该区块广播到网络中。
  4. 其他节点收到候选区块后进行验证,验证通过后就将该区块添加到本地区块链上,如果网络中大部分节点都接受了该区块,区块中的交易就得到了确认。

细节:

  • 计算满足条件的nonce串的过程成为“挖矿”,该计算过程无已知的启发式算法来帮助寻找,故只能通过逐个的蛮力计算来寻找,尝试的次数越多,算出的概率越大,这种基于算力的共识机制称为工作量证明机制(Proof of Work)。
  • 系统通过对hash值寻找难度的动态调整,使得网络中产生一个合法区块的平均时间在10分钟左右。
  • 由于比特币网络中大部分节点都是正常工作的,只承认所看到的最长链结构,因此,最长的链很大概率上会成为最终合法的链,因此比特币可以抵抗少量节点的恶意操作;而如果大多数节点联合作恶,一方面所需的算力还不如直接用来挖矿来得实在,另一方面,破坏比特币系统会使得整个系统的信用下降,比特币贬值,如同搬起石头砸自己的脚。
  • 更细致的过程分析以后会有...

分类

根据参与者不同:

  • 公有链(Public|Permissionless chain):任何人可使用和维护,参与者多为匿名,信息完全公开。
  • 私有链(Private chain):由集中管理者进行管理限制,只有内部少数人可以使用,信息不公开。
  • 联盟链(Consortium|Permissioned chain):由若干组织一起合作维护一条区块链,具有一定的权限才能够访问和使用,相关信息会得到保护。

根据目的和使用场景不同:

  • 以数字货币为目的的货币链
  • 以记录产权为目的的产权链
  • 以众筹为目的的众筹链
  • 不限定特定场景和用途的通用链

关键问题与挑战:

  • 隐私保护
  • 分布式共识
  • 交易性能
  • 扩展性
  • 安全防护
  • 数据库和存储系统
  • 互操作和运营治理

猜你喜欢

转载自blog.csdn.net/baidu_36004106/article/details/112672306