zoukankan      html  css  js  c++  java
  • 区块链

    区块链最大的作用是解决了闻名已久的拜占庭将军问题。什么是拜占庭将军问题呢?话说在东罗马帝国时期,拜占庭城邦非常富庶,它的周围有十个城邦,都希望攻占拜占庭。但拜占庭的防御非常强大,只有十个邻居的一半以上同时进攻,才能攻破它。这十个城邦之间也互相觊觎对方的财富。如果少于一半的城邦攻打拜占庭,这次攻打就会失败,且被拜占庭击败后,失败的城邦就会被其他城邦吞并。十个城邦之间约定攻击时间的唯一途径是通过信使来传递信息,但信使也有可能叛变传递虚假信息。因此,这个城邦网络中的各方互不信任,但他们要想攻占拜占庭,又必须达成共识,同时发动进攻。数学家设计出了一种方案来解决这个困境:城邦的将军们在接到其他将军的信息后,盖上自己的印章再转给除向自己发信息之外的其他城邦,这样的信息连环周转可以让将军们在不找出叛徒(找叛徒成本最高且效率最低)的情况下达成共识。

    区块链技术的内涵可概括为:在缺少可信任的中央节点和可信任的通道的情况下,分布在网络中的各个节点应如何达成共识。

    感觉区块链技术很高深,是吧?确实是这样的,因为里面涉及非常复杂的技术问题,比如非对称密钥,时间戳,P2P,Hash算法等等。不是搞数学的根本看不懂。不过,从结果来看就是:任何人只能查看自己的东西(因为私钥只有自己知道),数据无法篡改(因为数据全部是环环相扣,你只修改一部分数据没有任何用,但数据是分布式存储,因此你不可能修改大部分的数据)。

    https://baijia.baidu.com/s?old_id=610298

    https://www.zhihu.com/question/31112808

    每个节点的数据会同步到最新数据,且承认经过共识的最新数据;
    基于少数服从多数的原则,整体节点维护的数据本身客观反映了交换历史。

    区块链的每个节点的数据都能存在哪里?

    回答一:

    现在完整的比特币的链100多G,能存在哪?当然是所有矿工那了!

    回答二:

    作为链中的节点,存在两种节点模式,全量和部分。

    全量方式保存了所有链条中的数据,这个数据量会非常大且不断增长,往往由中继节点采用这种方式。

    部分方式只保存区块头信息,只要联到网中,就可以通过p2p的方式按图索骥的找到中继节点,从而搜索到所需信息

    回答三:

    理论上是每个人需要同步所有的区块链数据,当然实际过程中会考虑设计“轻区块链”应用,普通用户只需要同步很少的区块数量就可以。

    每次交易需要向全网发布交易信息,类似广播的原理,每个计算机都在随时向其它计算机发起同步数据信息,只要比其它计算机的数据较旧就自动同步

  • 相关阅读:
    1 Quartz开始
    1 WCF 一个基础理论 以及如何实现一个简单wcf服务
    计时器timer的使用
    获取当前电脑的cpu使用率、内存使用率
    在asp.net core中使用cookie认证
    在.net core项目中想使用类似iis上面虚拟目录的功能
    有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段JS程序提取URL中的各个GET参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中,如{a:’1′, b:’2′, c:”, d:’xxx’, e:undefined}。
    输出今天的日期,以YYYY-MM-DD的方式,比如今天是2014年9月26日,则输出2014-09-26
    window.onload 和document ready的区别
    call和apply的区别
  • 原文地址:https://www.cnblogs.com/SuMeng/p/7834682.html
Copyright © 2011-2022 走看看