区块链
区块链最大的作用是解决了闻名已久的拜占庭将军问题。什么是拜占庭将军问题呢?话说在东罗马帝国时期,拜占庭城邦非常富庶,它的周围有十个城邦,都希望攻占拜占庭。但拜占庭的防御非常强大,只有十个邻居的一半以上同时进攻,才能攻破它。这十个城邦之间也互相觊觎对方的财富。如果少于一半的城邦攻打拜占庭,这次攻打就会失败,且被拜占庭击败后,失败的城邦就会被其他城邦吞并。十个城邦之间约定攻击时间的唯一途径是通过信使来传递信息,但信使也有可能叛变传递虚假信息。因此,这个城邦网络中的各方互不信任,但他们要想攻占拜占庭,又必须达成共识,同时发动进攻。数学家设计出了一种方案来解决这个困境:城邦的将军们在接到其他将军的信息后,盖上自己的印章再转给除向自己发信息之外的其他城邦,这样的信息连环周转可以让将军们在不找出叛徒(找叛徒成本最高且效率最低)的情况下达成共识。
区块链技术的内涵可概括为:在缺少可信任的中央节点和可信任的通道的情况下,分布在网络中的各个节点应如何达成共识。
感觉区块链技术很高深,是吧?确实是这样的,因为里面涉及非常复杂的技术问题,比如非对称密钥,时间戳,P2P,Hash算法等等。不是搞数学的根本看不懂。不过,从结果来看就是:任何人只能查看自己的东西(因为私钥只有自己知道),数据无法篡改(因为数据全部是环环相扣,你只修改一部分数据没有任何用,但数据是分布式存储,因此你不可能修改大部分的数据)。
https://baijia.baidu.com/s?old_id=610298
https://www.zhihu.com/question/31112808
每个节点的数据会同步到最新数据,且承认经过共识的最新数据;
基于少数服从多数的原则,整体节点维护的数据本身客观反映了交换历史。
区块链的每个节点的数据都能存在哪里?
回答一:
现在完整的比特币的链100多G,能存在哪?当然是所有矿工那了!
回答二:
作为链中的节点,存在两种节点模式,全量和部分。
全量方式保存了所有链条中的数据,这个数据量会非常大且不断增长,往往由中继节点采用这种方式。
部分方式只保存区块头信息,只要联到网中,就可以通过p2p的方式按图索骥的找到中继节点,从而搜索到所需信息
回答三:
理论上是每个人需要同步所有的区块链数据,当然实际过程中会考虑设计“轻区块链”应用,普通用户只需要同步很少的区块数量就可以。
每次交易需要向全网发布交易信息,类似广播的原理,每个计算机都在随时向其它计算机发起同步数据信息,只要比其它计算机的数据较旧就自动同步