《区块链原理、设计与应用》

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SchopenhauerZhang/article/details/85468584

区块链

基本思想

诞生于比特币的设计思想中;
区块链技术是从比特币的诞生中提炼出来的;
区块链是记录比特币交易账目历史的数据结构。

基本原理

交易:账本操作,一次交易过程
区块:某个时间段内所有交易,最终状态或者结果
链:记录下的完整日志

面临的问题

主要是3个:

  • 隐私保护
  • 分布式共识
    状态变更在分布式网络中的一致结果
  • 交易性能
分布式系统面临的核心问题
  • 一致性问题
    分布式系统中的多个服务节点在一系列操作,并在约定的协议的保障下,他们对处理结果达成的某中程度的认同(包含失败和成功)。
    解决思路是:
    • 将可能引发不一致的并行操作进行串行化
      比如在点杀等高并发业务中,将商品存在第三方服务上,所有服务节点统一去这个服务中取。
    • 一致性要求
      可终止性,约同性,合法性(系统内)
  • ACID原则
    atomicity 原子性
    consistency 一致性
    isolation 隔离性
    durability 持久性
常用算法
Paxos算法

系统内角色有:proposer、acceptor、learner

Raft算法

系统内角色有:(基于选举的)leader、(候选) landidate 、follower

比特币的pow算法

核心思想是经济惩罚,如果想要左右最终结果;根据设计原则其所具有的计算能力必须超过系统中所有节点的一半(少数服从多数)。

系统常见指标

可靠性
平均故障间隔时间、平均修复时间

密码与安全技术

hash算法:md5、sha、scrypt
区分对称加密和非对称加密的主要根据是加解密的密钥是否相同

  • 对称加密
    des、aes算法
  • 非对称加密
    rsa算法
特殊的数据结构和设计

布隆过滤器
merkle树

超级账本项目–Hyperledger
  • 面向企业的分布式账本
  • 代码托管在Gerrit
  • 以及Fabric项目
ps

一致性和共识性的区别是:
一致性是系统对外呈现的状态,而共识性是系统内部各个服务节点间的约定。

未完待续

猜你喜欢

转载自blog.csdn.net/SchopenhauerZhang/article/details/85468584
今日推荐