区块链学习<1>

区块链学习<一> 核心技术概览


定义与原理

区块链最早出现应用在比特币项目中,作为比特币背后的分布式记账平台。

  • transaction:一次对账本的操作,导致账本状态的改变;
  • block:记录着一段时间内交易状态和结果;
  • chain:由block按照发生顺序连接而成,相当于账本的日志记录;


假设存在一个分布式的记账本,这个账本只允许添加,不允许删除。而这个账本的底层数据结构是由一个线性链表组成的,其中每个元素即block。后续block的加入要加入前一个block的信息,并必须得到共识机制来选择。

任何结点都可以提一个区块。


特点

基于区块链的分布式账本应具备以下特点:

  • 维护一条不断增长的链,只能添加,禁止删除;
  • 去中心化,避免集中控制,达成共识过程采用分布式的做法;
  • 基于密码学的特性来避免交易被破坏;


分布式共识

其实这个。。。我也不大懂,大概意思就是怎样确保某个transaction能在分布式网络中得到一致的、同步的执行结果,而且这个执行结果被多方确认,同时这个执行结果是一旦确定就无法被推翻的。

目前学术界和工业界大概确定了两类算法思想:

  • 基于概率的算法;
  • 确定性算法;

性能

区块链衡量性能的指标主要以transactions per secondtps为主,区块链系统不能通过单纯增加结点来进行扩展,很大程度上取决于单个节点的处理能力,因为当节点数过多时,可能会因为一致性的达成过程所需时间过长而降低全网的性能。