什么是区块链?

从字面上看:区块链是由一个个记录着各种信息的小区块链接起来组成的一个链条,类似于我们将一块块砖头叠起来,而且叠起来后是没办法拆掉的,每个砖头上面还写着各种信息,包括:谁叠的,什么时候叠的,砖头用了什么材质等等,这些信息你也没办法修改。

从计算机上看:区块链是一种比较特殊的分布式数据库。分布式数据库就是将数据信息单独放在每台计算机,且存储的信息的一致的,如果有一两台计算机坏掉了,信息也不会丢失,你还可以在其他计算机上查看到。

区块链是一种分布式的,所以它是没有中心点的,信息存储在所有加入到区块链网络的节点当中,节点的数据是同步的。节点可以是一台服务器,笔记本电脑,手机等。

你要知道的是这些节点的存储的数据都是一模一样。

区块链特性

去中心化:因为它是分布式存储的,所以不存在中心点,也可以说各个节点都是中心点,生活中应用就是不需要第三方系统了(银行、支付宝、房产中介等都属于第三方)。

开放性:区块链的系统数据是公开透明的,每个人都可以参与进来,比如租房子,你可以知道这个房子以前的出租信息,有没出现过问题,当然这里头的一些个人私有信息是加密的。

自治性:区块链采用基于协商一致的规范和协议(比如一套公开透明的算法),然后各个节点就按照这个规范来操作,这样就是所有的东西都有机器完成,就没有人情成分。 使得对"人"的信任改成了对机器的信任,任何人为的干预不起作用。

信息不可篡改:如果信息存储到区块链中就被永久保存,是没办法去改变,至于 51% 攻击,基本不可能实现。

匿名性:区块链上面没有个人的信息,因为这些都是加密的,是一堆数字字母组成的字符串,这样就不会出现你的各种身份证信息、电话号码被倒卖的现象。

区块结构

区块包含两个部分:

1、区块头(Head):记录当前区块的元信息

2、区块体(Body):实际数据

包含数据如下图所示:

区块链如何工作

我们以转账为例:

目前我们转账都是中心化的,银行是一个中心化账本,例如 A 账号里有 400 块钱,B 账号里有 100 块钱。

当 A 要转 100 块钱给 B 时,A 要通过银行提交转账申请,银行验证通过后,就从 A 账号上扣除 100 块,B 账号增加 100 块。

计算后 A 账号扣除 100 后余额为300元,B 账号加上 100 后余额为 200 元。

区块链上转账的步骤则是:A 要转账给 B 100 块钱,A 就会在网络上把要转账的这个信息告诉大家,大家会去查看 A 的账户上是否有足够的钱去完成这个转账,如果验证通过后,大家就把这个信息都记录到自己的电脑上区块链中,且每个人记入的信息都是同步一致的,这样 A 就顺利将 100 块钱转移到了 B 的账户上。可以看到这中间并没有银行啥事。

相关问题

区块链与比特币关系?

比特币2009年被中本聪提出,然后参考了比特币的实现提炼出了区块链的技术。

如果说比特币是面条,那么区块链就是面粉,后面大家发现面粉除了能做面条还可以做馒头跟包子。

为啥我要帮你存储区块信息?

无利不起早,简单说就是你帮我存储信息,我给你相应的报酬。

区块链需要了解的关键技术点?

通过 Hash 与 非对称加密来保障数据无法被篡改:

Hash:y = hash(x),对 x 进行哈希运算得出 y,可以隐藏原始信息 x,因为你没办法通过 y 来算出 x,从而做到匿名性。

非对称加密:公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。

共识算法:保障节点与节点之间的数据一致性。

有没一两句话能说明白区块链的?

有的。

麻将作为中国传统的区块链项目,四个矿工一组,先碰撞出13个数字正确哈希值的矿工可以获得记账权并得到奖励。

相关文章

python入门区块链技术_区块链入门教程相关推荐

  1. 分享实录|区块链技术与智能合约入门(开发实例)

    2019独角兽企业重金招聘Python工程师标准>>> 1 什么是区块链 1.1白话讲解区块链 现在区块链特别火,可能大家都听说过区块链,听说过比特币,那到底什么是区块链? 前几天和 ...

  2. python适合开发区块链吗_区块链入门开发语言选择 python适合开发区块链吗

    区块链用什么需要开发?在哪可以了解? 从现在各个公有链的使用情况来看,来一代的都是参考Bitcoin,使用C 开发,而新一代的区块链技术使用的语言则是Go,Python,C#和JavaScript.以 ...

  3. 区块链技术:智能合约入门

    什么是智能合约 一个智能合约是一套以数字形式定义的承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议.一个合约由一组代码(合约的函数)和数据(合约的状态)组成,并且运行在以太坊虚拟 ...

  4. 【区块链技术】区块链入门详解①

    文章目录 区块链的起源 交易 比特币 :数字货币 比特币运行的底层技术:区块链 区块链发展 共识机制 性能扩展 跨链交互 区块链如何运行 1,交易 2,区块 3,区块链 账户体系: 公匙和私匙 挖矿: ...

  5. 区块链编程语言_区块链开发中使用的最受欢迎的编程语言

    区块链编程语言 by Michael Draper 通过迈克尔·德雷珀(Michael Draper) We're currently in the midst of a new burgeoning ...

  6. 区块链浏览器_区块链FBI——如何用区块链浏览器追踪链上数据

    日前,人民数字捐赠溯源平台日前已经上线.该平台是由人民日报数字传播(上海)有限公司发起的非营利公益性平台.平台上可实时查询捐赠的进度与记录,所有流程都将采用区块链技术存证,不可篡改不可伪造,从而保证全 ...

  7. android区块链 钱包_区块链钱包Cashbox 开发工程师聊一聊开源

    今天与大家聊一聊软件开源.事情的起因是一次闲谈的时候,市场部的同事表示:不做软件开发的人不能够理解为什么要把软件源代码公开出去.当时的我很惊讶,因为就像他们不理解为什么要开源一样,我也不理解他们为什么 ...

  8. Java 与 区块链技术_java区块链技术有哪些主要的特点和应用

    java区块链技术有哪些主要的特点是什么,人们对于区块链技术比较熟悉,但是却并不知道它到底有哪一些概念,java区块链技术有哪些人有接触过呢?有很多人都会觉得区块链技术就好像是我们最初所认识的互联网一 ...

  9. 区块链编程_区块链编程的10个最佳工具包

    区块链编程 区块链世界中的许多精力和兴奋都集中在加密货币,其暴涨的估值以及令人震惊的崩溃上. 大多数企业界都静静地待在场上,弹出一些玉米,然后定居下来欣赏表演. 但是,随着公司开始将脚趾伸向动荡的水域 ...

最新文章

  1. java字符串的知识总结
  2. 云计算的服务模型 SaaS PaaS IaaS
  3. 元数据驱动设计 —— 为动态移动应用创建Web API
  4. 如何使用json开发web_如何通过使用JSON Web令牌简化应用程序的身份验证
  5. Zookeeper的客户端Curator基本使用
  6. STM32H7时钟树RCC分析--- CubeMx配置(三)
  7. ftp如何在服务器上打开文件,ftp在服务器上打开文件
  8. AD17 保存PCB文件时提示失败
  9. 软件销售公司交什么税
  10. pt-archiver详解
  11. CTSC2016APIO2016爆零记
  12. android 圆形图片,(Android)处理图片成圆形
  13. 关于标志信息ZF、OF、SF、CF的理解
  14. android 手机存储大小设置,如何让手机内存变大?内存不足解决方法【详解】
  15. 荣耀Magic 3Pro 充电架构分析
  16. 输出数字矩阵并把最后变为PUM
  17. windows下,C++中调用命令行并且获取命令行的输出
  18. 嵌入式存储封装技术SiP、SOC、MCP、PoP的区别
  19. Android okhttp3设置代理(http/https)
  20. 细节--Java必须先创建文件夹再创建文件

热门文章

  1. .net集合类的研究--链表—ListDictionary,LinkedListT
  2. 130道ASP.NET面试题
  3. 浅析php-fpm静态和动态执行方式的比较
  4. MySQL安装sql追踪器phpgjx
  5. Bootstrap的lia
  6. 反思读别人代码的思路
  7. 禁止mysql+root,禁止MySQL root远程访问
  8. linux下的定时任务处理
  9. jquery中获取元素的几种方式小结
  10. linux要不要home分区,有必要建/home/boot分区吗