区块链基础知识

记录IOST在清华大学的区块链基础知识讲座

2018-08-17 IOST 清华大学FIT楼讲座记录

什么是区块链

将交易账本分散至若干互不信任的节点,通过统一的规则达成数据一致,可以容忍部分恶意节点,实现账本数据的可靠与不可篡改。

安全性假设:恶意方不控制大于50%的算力

区块链是一种手段,而不是目的。其目的是达成信任(在安全性假设下数据是可信的)

区块链依赖于去中心化、P2P网络,但后者不等同于前者。其数据与规则公开透明,但数据可以加密。

签名 : 非对称加密

公钥+私钥;使用其中任意一个对数据进行加密,需要另一个进行解密。

需要签名时可以使用私钥加密,接受者可以通过公钥验证数据可信。

比特币

基本运行步骤

  • 收集交易信息(记账节点收集)
  • 记账节点生成区块,广播至其他节点
  • 其他节点验证区块
  • 达成一致

节点

  • 共识节点: 参与记账
  • 普通节点: 不参与记账,但参与网路

节点的数量并不能证明去中心化的程度

账本模型

UTXO: 包含数量、拥有者签名、唯一ID(可以理解为纸币)

交易销毁若干UTXO,产生等额UTXO输出(总额等额,类似于找零)

优点

  • 可扩展
  • 可并行验证

以太坊

智能合约

区块链=>去中心化计算机,其存储和计算的内容都是可信的 记账=> 合约(脚本) 打包交易=>执行合约

节点也会执行脚本验证合约(虚拟机上执行)

账本模型

Account/Balance 模型(UTXO 无状态且过于复杂)

用数据库保存数据,节点维护数据库的快照

为什么需要区块链

传统达成信任:

  • 用户与组织之间 :公信机构
  • 不信任组织之间 ;审计、证明

关注点

链上

  • 区块链 硬件
  • 智能合约 操作系统

链下

  • 链下扩容协议
  • 其他应用协议

生态

Dapp

性能指标

  • 吞吐率
  • 延迟
  • 虚拟机性能
  • 决定上限,能支持怎样的应用

可靠性指标

  • 去中心化
  • 安全性
  • 决定应用类型,适合怎样的应用

瓶颈

  • 网络
  • 计算
  • 存储
发表于 2018-08-17
JS
Arrow Up