区块链是什么

1:什么是区块链

从数据结构上来看,区块链就是包含信息的区块,后一个区块包含前一个区块的哈希值,一个区块与一个区块相继接续,形成的链状结构就叫区块链。

从技术面来看,区块链是分布式存储,点对点传输,加密算法,共识机制(主要是解决分布式一致性的问题)的集合体,也有叫分布式账本,去中心化分布式数据库,通常都是说区块链技术。

2:   区块链的发展史

区块链最早的应用项目是比特币,区块链的核心技术分布式系统和密码学,1997年亚当·贝克(Adam Back)创建了“Hashcash”匿名交易系统,1998年,戴伟(Wei Dai)发布了B-Money提案,2004年,哈尔·芬尼(Hal Finney)借鉴亚当·贝克的 Hashcash 原则,创造了可重复使用的工作量证明(Proof of Work)。( Leslie Lamport 在 1982 年提出的拜占庭将军问题)

2008年11月1日,一个自称中本聪(Satoshi Nakamoto)的人在P2P foundation网站上发布了比特币白皮书《比特币:一种点对点的电子现金系统》阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,2009年1月3日第一个序号为0的创世区块诞生。几天后2009年1月9日出现序号为1的区块,并与序号为0的创世区块相连接形成了链,标志着区块链的诞生。

区块链1.0(货币)==》 区块链2.0(智能合约)==〉 区块链3.0(dapps)

比特币 ==》以太坊  ==》柚子

3:   基本原理

区块链通常由3个以上的服务器节点构成,节点的作用就是出块,按下面的结构,每个块有且只有一个父区块的hash,出块后通过广播同步数据给其他节点

链的结构:

 

每个节点都在出块,怎么保证出的块是有效的就是由共识算法计算得出,出块后需要广播同步给其他节点,这存在网络问题,为了解决网络问题引入了p2p网络技术一定程度上提高了网络交互的速度,但还是会出现网络问题,所以通常是保留最长链,每个区块出块都会在原来的链的基础上新增一个块,然后广播出去,可能中间有一个块某个节点没有接收到,同时它也出了个块就会临时保留两条链,等待其他节点同步数据后发现自己的链少了一个块比别人的链更短就会丢弃,以更长的链为准,但是问题来了,丢块了啊,这怎么整,我设置一个出块时间,较长的出块时间比如3s,10s,这样可以接收到更多的节点同步过来的数据,可以知道自己是否丢块了,设置一个合适的出块时间就比较重要了。

共识算法是解决一致性问题的,假设其中的某个节点作恶(伪造请求),怎么确保这个伪造的请求不被记录,目前比较常用的是以下五种公司算法:

pow:工作量证明(比特币,以太坊)

通俗来说就是算力,通过计算一个合理的hash值来确定是可用的

pos:权益证明(以太坊未来将转换成pos)

投票,某个节点有很多票,这个节点出块的概率会比票数更少的更大,票数可以是根据持币的数量和时间来计算

dpos:委托权益证明(柚子)

委托投票,你可以把票委托给别人进行代投,和pos不一样的是, 成为节点之后各节点之间不是竞争关系了,出块是轮询出块。但有很多的候选节点,如果轮到了这个节点出块但是没有出块投票人可以选择退票选择别的候选节点去把节点替换掉

pbft:拜占廷容错(Hyperledger Fabric)

少数服从多数策略,但是其中可能有内奸,内奸在某些场景下会影响结果,比如,某个节点出了个块,需要广播出去其他节点确认这个块可不可以入链,然后其他节点需要将自己的决定告诉除自己外的所有节点,其他节点就收到了除自己外其他人对这个块的决定,然后执行少数服从多数策略,在把自己的决定告诉出块节点。

这个算法不合适用在公有链上,容易被攻击,只要满足1/3的恶意节点就有可能写入恶意数据

raft:一致性共识算法

主从同步,节点会有三个角色,跟随者,候选者,领导者,首先会先选举一个领导者出来,由领导者接收请求处理,然后把请求处理同步给其他节点,然后在提交处理,提交处理之后才算是上链了

核心点在于:领导者的选举和数据同步(日志复制)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值