(本文大部分内容来源于此链接的文章,我对部分内容做了一些改动,方便自己日后复习,若有侵权,请联系我,我会将此文删除,谢谢)


区块链是一种新型的去中心化协议,能安全地存储比特币交易或其他数据,内部的数据几乎不可伪造或篡改,维护区块链无需任何中心化机构的审核。区块链解决了拜占庭将军问题,大大降低了现实经济的信任成本与会计成本。


1 什么是区块链

区块链是由节点参与维护的分布式数据库系统,特点是难以更改,难以伪造。完整比特币的副本中,记录了其代币(token)的每一笔交易。

区块链是一串使用密码学方法产生的区块组成的,任一个区块都包含了上一个区块的哈希值,从创世区块连接到当前区块,形成一条链。每个区块都确保按时间顺序在上一个区块之后产生。这些特征使得双花问题非常困难。

节点始终将最长的链视为正确链,并持续工作和延长它。若有两个节点同时广播不同版本的新区块,那么其他节点在接收到该区块的时间上将存在先后差别。这时,各个节点将在率先收到的区块的基础上进行工作,也保留另外一条链,以防后者变为最长链。这种僵局的打破要等到下一个工作量证明被发现,而其中的一条链被证实为是较长的一条,那么在另一支分支链上工作的节点将转换到较长的链上工作。

比特币钱包的功能依赖于对区块的确认,一次有效检验称为一次确认,通常一次交易要获得数个确认才能进行。轻量级比特币钱包的客户端在本地只需存储与用户可支配交易相关的数据,并不会存储完整的区块链。


2 区块链的核心优势

区块链体系结构的核心优势包括:

  • 区块链中的任意节点都可以创建交易,在经过一段时间的确认之后,就可以合理的确认交易是否有效。区块链可有效地防止双花问题的发生。
  • 试图重写或修改交易记录的成本极高
  • 区块链实现了两种记录:交易以及区块。交易是被存储在区块链上的实际数据;区块是记录确认某些交易是在何时、以何种顺序成为区块链数据库的一部分;交易是由参与者在正常过程中使用系统创建的(在加密数字货币,一笔交易是由XX将代币发送给XX时创建的),区块是旷工在挖矿时创建的。

3 区块链工作原理

3.1 什么是区块

交易数据存储在区块中,被永久记录在区块链上。可把区块链比作账本,每一个区块比作账本的一页,数据难以篡改,难以伪造,难以移除。

3.2 区块结构

字段 描述 大小
区块大小 用字节表示的该字段之后的区块大小 4字节
区块头 组成区块头的几个字段 80字节
交易计数器 交易的数量 1-9(可变整数)字节
交易 记录在区块里的交易信息 可变的

3.3 区块头

区块头由三组区块元数据组成:1.引用父区块哈希值的数据,这组元数据用于将该区块与前一区块相连接;2.难度、时间戳和nonce,这组数据与挖矿有关;3.Merkle树根,Merkle树是一种用来有效地总结区块中所有交易的数据结构。

3.4 区块头结构

字段 描述 大小
版本 版本号,用于跟踪软件或协议的更新 4字节
父区块哈希值 引用父区块的哈希值 32字节
Merkle根 区块中交易的Merkle树根的哈希值 32字节
时间戳 该区块产生的近似时间(精确到秒的Unix时间戳) 4字节
难度目标 该区块工作量证明算法的难度目标 4字节
Nonce 用于工作量证明算法的计数器 4字节

3.5 创世区块

比特币的首个区块创建于2009年,这个区块被称为创世区块。从任意区块回溯,都可以回溯到创世区块。

创世区块的哈希值为:000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f


4 区块链分叉

诚实矿工只创建最长有效链上的最新区块,这里的最长是指区块链的累计计算难度,而不是区块数目。当包括在链中的所有区块以及交易都有效,且是从创世区块开始的链,才是被承认的有效区块链。

区块链中的任一个区块到达创世块的路径只有一条。但是在区块链中会有分叉的情况出现:当有两个矿工挖出的区块的时间差只有几秒时,经常会创建出一个分叉区块。这时,每个节点会各自在最先接收到的那个区块之后继续创建新的区块。短链(无效链)中的区块没什么用。当比特币客户端切换至另外一条更长的区块链时,短链中的所有交易都将被重新添加到序列交易池中。短链中的区块奖励不会呈现在最长的区块链。

短链中的区块被称为孤儿块。


5 区块链的其他概念

5.1 公有链

公有链是指全世界任何人都能读取、发送交易且能得到有效确认的区块链。公有链的安全由工作量证明机制或权益证明机制等方式负责维护。是完全去中心化的区块链。

特点:

  • 中立、开放、去中心化
  • 不可更改、不可撤销

5.2 联盟链

联盟链是指其共识过程收到预选节点控制的区块链。如,由15个金融机构组成一个共同体,每个机构都运行一个节点,且为了使每个区块生效需要获得其中10个机构的确认。是部分去中心化的区块链。

5.3 私有链

私有链是指写入权限仅在一个组织手里的区块链。读取权限要么对外开放,要么被任意程度地进行了限制。相关的应用包括数据库管理、审计等。通常,公共的可读性并非必须。是中心化的区块链。

特点:

  • 规则易于修改
  • 交易成本低(交易只需几个受信节点验证即可)
  • 读取权限受限

(本文大部分内容来源于此链接的文章,我对部分内容做了一些改动,方便自己日后复习,若有侵权,请联系我,我会将此文删除,谢谢)

【巴比特:区块链是什么】笔记相关推荐

  1. 世界经济论坛区块链报告阅读笔记

    文章目录 世界经济论坛区块链报告阅读笔记 DLT应用落地需要什么 报告案例:Global Payments 报告案例:P&C Claims Processing 世界经济论坛区块链报告阅读笔记 ...

  2. 区块链安全入门笔记(二) | 慢雾科普

    虽然有着越来越多的人参与到区块链的行业之中,然而由于很多人之前并没有接触过区块链,也没有相关的安全知识,安全意识薄弱,这就很容易让攻击者们有空可钻.面对区块链的众多安全问题,慢雾特推出区块链安全入门笔 ...

  3. Py区块链源码笔记 (1)挖矿

    昨晚听大佬小课堂,给我普及一晚上区块链相关各种知识,深深感觉到自己宛如一个智障,我不配说自己是学计算机的啊-- 膜拜之余,转载大佬的文章,像大佬学习! 文章出处:Py区块链源码笔记 (1)挖矿 也欢迎 ...

  4. 区块链技术指南笔记(三):区块链运作的核心技术

    前言 在学习区块链的时候,有很多知识点,作为读者的我们不能第一时间去消化它(也没必要第一遍就弄懂),某些方面的设计思想看的也是一知半解.我遇到这种情况,一般会将书多看几遍,再去寻找各个知识点之间的关系 ...

  5. 区块链白皮书阅读笔记

    文章目录 2018年中国区块链产业白皮书阅读笔记 腾讯TrustSQL白皮书阅读笔记 多中心体系 降低运营成本,提升协同效率 未来发展趋势 TrustSQL架构 底层平台 平台产品服务层 2018年中 ...

  6. 读《区块链革命》笔记与思考——金融服务领域将如何实现变革?

    本文发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 我一直憧憬着区块链技术是如何改变世界,首先从哪开始崛起.当我们在想象着未 ...

  7. 肖臻老师区块链公开课笔记

    前段时间,区块链大火,出现了很多种基于区块链技术的政务应用.之前通过零散的网页信息和讲座,自我感觉理解了block chain原理,当看到各种区块链技术广泛应用时,自己以技术理解,反而对之不屑.当然, ...

  8. 【区块链技术工坊47期】众享比特:区块链医疗方案和分布式认证系统

    1. 活动基本信息 1)题目: [区块链技术工坊47期]区块链医疗方案和分布式认证介绍 2)议题: 北京众享比特科技有限公司成立于2014年,是国内最早从事区块链底层平台和应用案例开发的技术服务公司. ...

  9. 区块链技术指南笔记(二):区块链技术

    区块链技术基本概念 区块链提供了一种去中心化的.无需信任积累的信用建立范式,目前已经引起金融行业.科研机构.政府部门和投资公司的高度重视与广泛关注.区块链技术通过建立一个共同维护且不可被篡改的数据库来 ...

  10. 区块链技术指南笔记(一):区块链基本概念

    比特币 比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络.比特币是一种P2P形式的数字货币.点对点的传输意味着它是一个去中心化的支 ...

最新文章

  1. Alphabet量子公司横空出世!Sandbox将与谷歌、DeepMind成姊妹
  2. 计算机意外地重新启动或遇到错误。windows安装无法继续。若要安装windows 请单击 确定 重新启动计算机...
  3. 关于坐标系的那些事儿!(转)
  4. h5压缩图片上传 php_一键压缩,图片上传大小不得超过200K?
  5. linux怎么使用cal命令,Linux cal命令
  6. 多线程编程学习笔记——任务并行库(二)
  7. 基类指针和子类指针相互赋值
  8. (23)css3文字阴影text-shadow
  9. API接口的安全设计验证:ticket,签名,时间戳
  10. C#多线程学习笔记(三)
  11. 数学建模——层次分析法(Matlab)【评价类问题】
  12. css+div透明参数设置
  13. IDEA 社区版 常用插件列表
  14. android 画布清屏,html5清空画布方法(三种)
  15. WINDOWS 耳机 有驱动 没声音
  16. 调用微信扫一扫接口/利用微信JS-SDK调用微信扫一扫功能
  17. 阿里员工调侃:花名考拉的妹子离职去了网易考拉,现在又回来了
  18. 如何实现大屏数字滚动效果
  19. Android 最完美的取色盘ColorPickView
  20. 基于python+django框架+Mysql数据库的跳蚤市场二手物品交易系统设计与实现

热门文章

  1. python爬取芒果TV《乘风破浪的姐姐》弹幕数据(已完成)
  2. 鸿蒙系统(HarmonyOS)--第一章
  3. k8s常见故障排查一点通
  4. 全球CORS网 部分站点数据下载链接
  5. 开发一个发送手机短信的计算机软件
  6. 如何看笔记本电脑配置?
  7. 爬取东方财富股吧评论
  8. canvas绘制太极图
  9. 电脑键盘部分按键失灵的解决方法
  10. Fabric学习笔记(六) - chaincode开发模式