• 区块链扫盲


    一、区块链的本质

    区块链是什么?一句话,它是一种特殊的分布式数据库,它与若干个相连的区块组成,每个区块可以存储自己的信息,最早一个区块大小为1M,存储2000条记录,现在(2017年开始)扩展到了8M,即可以存储8*2000条数据,一般的,每个区块建立的时间长达10分钟,为什么呢?它的设计者中本聪有很多综合的考虑,这个大家可以去探索!

    首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。
    其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

    二、区块链的最大特点

    • 没有管理员,没有主次,大家都平等
    • 不会被某人某组织控制

    区块的组成

    区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。

    • 区块头(Head):记录当前区块的特征值
      • 生成时间
      • 实际数据(即区块体)的哈希
      • 上一个区块的哈希
      • ...
    • 区块体(Body):实际数据

    哈希算法

    所谓"哈希"就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 哈希长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的哈希一定是不同的。
    举例来说,字符串123的哈希是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),转成二进制就是256位,而且只有123能得到这个哈希。(理论上,其他字符串也有可能得到这个哈希,但是概率极低,可以近似认为不可能发生。)

    一般地,我们的区块建立后是不可以修改的

    采矿

    由于必须保证节点之间的同步,所以新区块的添加速度不能太快。试想一下,你刚刚同步了一个区块,准备基于它生成下一个区块,但这时别的节点又有新区块生成,你不得不放弃做了一半的计算,再次去同步。因为每个区块的后面,只能跟着一个区块,你永远只能在最新区块的后面,生成下一个区块。所以,你别无选择,一听到信号,就必须立刻同步。

    所以,区块链的发明者中本聪(这是假名,真实身份至今未知)故意让添加新区块,变得很困难。他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。

    这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就是说,只有通过极其大量的计算,才能得到当前区块的有效哈希,从而把新区块添加到区块链。由于计算量太大,所以快不起来。

    这个过程就叫做采矿(mining),因为计算有效哈希的难度,好比在全世界的沙子里面,找到一粒符合条件的沙子。计算哈希的机器就叫做矿机,操作矿机的人就叫做矿工。

    本讲先说到这里,主要大家要知道什么是区块链,区块的组成,什么采矿,为什么叫它采矿!

  • 相关阅读:
    个人笔记 给hover 伪类 恢复默认值
    vue 正则判断
    音乐播放器封装
    jq封装插件,简单dome
    功能齐全轮播
    vue 前端判断输入框不能输入0 空格。特殊符号。
    jq 下拉框
    IPC : 进程间通信方式
    内存
    const char* str 与char str[10]
  • 原文地址:https://www.cnblogs.com/lori/p/9318095.html
Copyright © 2020-2023  润新知