目录

1.def

2.smart contract

3.Consensus mechanism

4.blockchain fork


比特币诞生的几年后,人们开始意识到区块链技术本身的潜力,慢慢走出了自己的发展路线。 通常区块链被定义为一种去中心化的分布式账本技术,最初用来记录信息,使记录具备不可篡改性,随着以太坊的出现,还可以以去中心化的方式运行程序(智能合约),确保程序的运行不被干预、篡改,使区块链成为一个公共的计算平台。

1.def

区块链是一种区块通过 Hash 方式形成的链式结构,因为链的环环相扣,任何一个区块上的修改,都会破坏链结构

区块:区块链中的数据存储单元,由参与网络的节点独立生成,每一个区块中存储了一组交易信息,这些交易信息的哈希数据为作为默克尔树节点存储,每个区块同时存储前一个区块的哈希信息,因此区块就通过哈希信息链接起来,形成区块链

2.smart contract

以太坊中创新的引入smart contract,它是区块链可执行的代码,用户可以根据自己的业务需要上传自己的代码到以太坊上,由以太坊的节点来进行执行

在以太坊提出之前,比特币这样的加密货币的交易脚本可实现的功能非常有限,以太坊对此进行了改进,它让交易发生的同时可以执行一段代码。让交易本身具备了逻辑执行能力(并且是图灵完备的),让我们可以在链上完成任意复杂的运算。如有的交易要分期付款,或者多方参与的借贷。像保险合同的执行也是有事前约定的条件,这些合约条件的执行使用智能合约可以轻松实现。

“samrt”强调不受干预的可自动执行;

“contract”取材自现实中的合约,是想强调链上的程序可以按协议规则执行,就像法律条款一样

3.Consensus mechanism

区块链是一个分布式网络,网络中的节点都是独立运行,因此需要有一个公共规则来知道节点的运行,即共识机制。常见的共识机制有:工作量证明(POW)、权益证明(POS)、权威证明(POA)

1)Proof-of-Work POW

POW 要求节点进行大量的计算(查找最优解)来证明其贡献,首先解决计算问题的节点获得报酬,这个过程也称为“挖矿”。

advantage:the most security;reliable

disadvantage:消耗大量计算能力和电能,从而带来了较高的物理成本

算力攻击:当一个节点的算力占全网算力的51%以上时,将获得记账权的绝对优势,可以更快地生成区块,某种程度上拥有了修改区块链数据的权利,从而对链发起攻击,最典型是双花攻击

攻击者在实施攻击前,会进行隐身挖矿(如下图橙色链),出块不进行广播, 攻击者矿工在橙色链上修改他自己的交易,当橙色链比主链更长了,攻击者矿工便会立即向全网广播这条橙色链,而其他的矿工发现了这条橙色链后,按照协议,他们必须丢掉原本的主链,替换成这条橙色链,就完成了一次双花攻击。随着比特币网络算力越来越大,这种攻击可能性也就越来越小。

2)Proof of Stake POS

节点(验证者)此时争夺记账权依靠的不是算力而是权益(占比),权益通常通过质押数字货币计算而来。

PoS同样需要计算哈希值,当拥有的权益越多,满足Hash目标的机会越大,获得记账权的机会越大。同时质押的货币也作为抵押品防止作恶,如果节点有恶意行为,其抵押品可以被罚没(Slashing)。

目前,各个不同的区块链有自己不同的实现方式,如引入持币时间来计算权益、引入委托质押(DPOS )用更少的共识成本换取更大的吞吐量 (TPS)、或使用投票方式,如BTF 类算法多区块投票

advantage:不需要消耗大量能量,POS 出块时间稳定,有根号的“快速最终性”, 通常吞吐量(TPS每秒链上交易 ) 表现都更加优异。

disadvantage:不够成熟;质押货币需要当前的验证者确认,这相当于需要获得网络认可,当网络被恶意大的验证者控制时(其拥有超51% 的权益), 它可以对某些交易进行审查,阻碍新参与者进入,从而对网络产生永久性的损害。

3)Proof-of-authority POA

基于声誉(reputation)的共识算法,选出中央权威来统一状态。 所有的交易,节点间不用相互同步,而是统一发送到权威节点(可能多个),由它来验证交易。在验证并签署交易之后,普通节点都从权威节点同步数据,主要用于联盟内共识。

ad&disad: 性能非常好,但过于中心化,对权威节点的攻击,将造成网络瘫痪

【注】:区块链不能三角化,即去中心化(Decentralization)、可扩展性(Scalability)、安全性(Security),三者不可兼得,三者只能得其二。

4.blockchain fork

当区块链需要升级加入新功能,或是升级解决出现的漏洞,通常会表现为链的分叉。

1)硬分叉

区块链是分布式系统,每次升级,需要所有的节点客户端软件共同升级,有时一些节点因为利益或理念的不一致,拒绝升级到新的客户端,此时网络中将出现两个版本的客户端,运行新软件的节点就会用新的协议去构建新的区块,原有的客户端节点会继续用旧的协议来继续构建区块,各节点不认可对方的区块,此时就是会分叉出两条完全不同的链,这种情况是硬分叉。

2)软分叉

软分叉向后兼容,没有更新的节点仍然会认可新版本生成的区块,当升级后的区块链将无法识别尚未更新的节点的区块。

文章内容参考:Decert.me

Overview of Blockchain区块链概述相关推荐

  1. blockchain 区块链200行代码:在JavaScript实现的一个简单的例子

    blockchain 区块链200行代码:在JavaScript实现的一个简单的例子 了解blockchain的概念很简单(区块链,交易链块):它是分布式的(即不是放置在同一台机器上,不同的网络设备上 ...

  2. BlockChain: 区块链入门课程 -- 区块链适用于移动性 分享和收费案例

    BlockChain: 区块链入门课程 -- 区块链适用于移动性 分享和收费案例 分享和收费 在第四周和上周,我们将通过位于德国的充电站网络Share&Charge案例了解区块链技术在能源领域 ...

  3. 区块链技术 ——区块链概述

    今天讲点基础的,讲一讲区块链的基础知识.在这个项目横生的乱象中,有时候最基础的一些知识,反而会让我们更加清晰的看到一些项目的本质. 区块链技术是一种综合应用了分布式数据存储,如何购买比特币?点对点传输 ...

  4. Bitcoin比特币与BlockChain区块链技术

    一.比特币的历史 比特币现在大火,一枚7000多人民币,遥想当年1万枚才买一张价值25美元的披萨优惠券,如果上天能给我回到当年的机会的话,我一定买买买!!! 比特币有很高的开采及投资价值,被我们中国人 ...

  5. 【转载】区块链-概述

    区块链(Blockchain)是比特币的底层技术和基础架构,本质上是一个去中心化的数据库. 区块链是分布式数据存储.点对点传输.共识机制.加密算法等计算机技术的新型应用模式.(共识机制是区块链系统中实 ...

  6. Blockchain区块链的通俗解释

    以交易为例,逐步理解blockchain 本文基本复制于简书(简书:"白羊Jerry"提到的英文原文是googleweb工程师写的,需要翻墙,请恕我才疏学浅,英文原文中关于不对称加 ...

  7. Blockchain区块链架构设计之四:Fabric多通道和下一代账本设计

    Hyperledger Fabric架构使用具有保证的发布-订阅模式消息传递通道(如Kafka中的主题分区)将共识服务与交易日志(账本)分离. 共识服务由称为Orderers的网络节点提供,并且账本由 ...

  8. BlockChain区块链+IoT物联网的技术结合

    我们对自动化.人工智能(AI)和物联网(IoT)等技术感到兴奋,但现实是,数十亿笔交易发生在仍然没有很好集成的系统之间. 如果您的组织在使用人工智能,那么您可能只是在使用它优化客户服务.或者你只是将物 ...

  9. BlockChain:区块链入门课程 -- 区块链应用于能源 POWER LEDGER案例

    BlockChain:区块链入门课程-- 区块链应用于能源 POWER LEDGER案例 Power Ledger:如何启用区块链 概述能源部门的现状,将区块链作为关键推动因素之一. 3.1 欢迎来到 ...

最新文章

  1. Python 之 Pandas (二)选择数据
  2. 人工智能对医疗行业影响的专题研究:基本结论
  3. c++socket模型之我见
  4. Java BigDecimal floatValue()方法与示例
  5. 腾讯面试官这样问我二叉树,我刚好都会 | 原力计划
  6. 控制图的绘制步骤_实战!脚手架排布图绘制步骤和技巧讲解!图文展示
  7. java登录清除cookies_退出登录方法,清除相关的cookies和session
  8. Java复习小游戏——“登仙长阶“【已收工】
  9. 千人千面系统,这样搞比较靠谱【干货】
  10. APICloud教程
  11. 2022-2023上学期 奖状的清单
  12. 电子邮票出售面临着两大困境
  13. C++ —— 宏对于简化类接口的奇技淫巧
  14. linux管理web项目目录结构图,WEB项目管理完整.doc
  15. AD19——实验室焊接QFP、PQFP、LQFP、TQFP封装芯片方法(更新)
  16. c语言程序设计臧,臧学莲
  17. 部分iphone机型无法实现css的animation动画效果(无效, 失效)
  18. 如何检查CPU温度?
  19. sqlserver 求平均数,中位数,众数
  20. (附源码)计算机毕业设计SSM基于web的医院门诊管理系统

热门文章

  1. 如何修改HOST文件 映射
  2. Pgpool-II安装部署
  3. 温度传感器DS1820
  4. 清华大学文件服务器,清华大学云存储Corsair应用实践
  5. Ubuntu 系统 日常操作小技巧一_字体, 文件大小、查询,僵尸进程,搜狗乱码,mount remount,清空磁盘
  6. 科普NGK公链生态板块旗下的BGV、SPC、NGK、USDN四大币种
  7. matlab中求绝对值的函数图像,ex的图像(绝对值的函数图像口诀)
  8. maple-example简单操作示例
  9. Oauth2.0介绍
  10. 手把手教你分析电路之电动车防盗器喇叭驱动