主页 > imtoken官网下载 > 区块链是如何实现的? (初步研究)

区块链是如何实现的? (初步研究)

imtoken官网下载 2023-03-02 06:08:21

前言

随着比特币的跌宕起伏,区块链技术越来越受到关注。 区块链和比特币是当下和人工智能一样热门的领域。 人们开始寻找区块链技术的用途,也有很多尝试。 但是对于区块链的价值,众说纷纭,尤其是一些媒体大肆吹嘘或者刻意贬低,给大家带来了很多困惑。 其实作为技术人员,你只需要了解它的底层实现原理和运行机制,相信你会对它的应用场景和发展前景有自己的看法。

区块链和比特币

首先比特币采用的共识机制是pos,我们要明确区块链和比特币的区别和联系。 区块链可以理解为一种具有特征的数据存储结构或协议,可以解决一系列安全、稳定等问题; 而比特币是一种使用区块链技术实现的数字货币系统。 比特币也是目前唯一成熟的区块链应用,这也是两者容易混淆的原因之一。 Peer Electronic Cash System) 由中本聪于 2008 年发布。

区块链是一种新型的去中心化协议,可以安全地存储比特币交易或其他数据,信息不可伪造和篡改,智能合约可以自动执行,无需中心化组织的任何审计。 交易可以是比特币等数字货币,也可以是债权、股权、版权等数字资产。 区块链技术解决了拜占庭将军问题,大大降低了实体经济的信任成本和记账成本,重新定义了互联网时代。 产权制度。

中本聪提出了这个创造性的想法,实现了比特币系统。 在越来越多支持者的参与下,比特币系统在2017年稳定运行并迎来爆发式发展,一枚比特币的价格一度突破2万美元大关。 越来越多的技术人员、投资人、金融从业者开始关注区块链技术,并试图拓展其应用领域,以体现其特性和价值。 目前,区块链技术在金融领域持续深耕,在其他领域也开始了不错的尝试,比如游戏、安全等。

以下几个方面一一讨论分析:

块的基本结构

块的结构并不复杂,它包含一些字段。 总的来说,块的结构类似于双向链表中的节点。 大家可以直观的感受到比特币系统中第505156个区块的头部信息。

比特币的共识机制_比特币采用的共识机制是pos_量子链pos共识机制

比特币采用的共识机制是pos_比特币的共识机制_量子链pos共识机制

其中相当一部分字段可以从字面理解,比较重要的字段一一列举。

正确维护这些关键字段是区块链实现的基础,也是区块链去中心化、解决双重支出和拜占庭一般问题的基本架构。 对于关键数据结构,需要补充规则和算法才能运行。 弄清楚了整个过程之后,再回头看一下区块结构,就一目了然了。

量子链pos共识机制_比特币采用的共识机制是pos_比特币的共识机制

从结构观察可以得出结论:

权力下放和点对点网络

去中心化是区块链的核心思想,这也是与其他分布式产品的最大区别。 去中心化确保公平和安全。 点对点网络是去中心化框架下的互联网。 与现实社会相比,今天的社会制度是中心化的。 国家的中心是政府,金融体系的中心是中央银行。 如果政府腐败,央行作弊,整个社会就没有公平可言,所有的数据都无法信任。 或许去中心化也是人类社会制度发展的最终目标。 只要有电脑,就可以加入点对点网络,成为节点。 每个节点都可以拥有整个区块链的信息(目前达到数百GB),并且不断更新和同步。 每个块写入都会广播到整个网络。 点对点网络中的每一点都有相同的权利和义务,而且都是平等的。 以CPU为算力单元,每个点都可以参与投票、计算和打包数据,也有同步区块信息的权利。

比特币采用的共识机制是pos_比特币的共识机制_量子链pos共识机制

数据不变性

在block的基本结构中,总结出block的内容一旦写入,就不能再修改了。 原因很容易理解。 首先通过Hash=SHA256(区块头)得到一个区块,所以每个区块的Hash都是唯一的。 并且区块头包含Merkle Root字段,而区块体中的交易数据存储在Merkle树的叶子节点中,因此Merkle Root可以看作是区块体中所有交易数据的唯一签名。 基于以上事实,交易数据的修改和区块元信息的修改都会导致区块的Hash字段发生变化。 由于除了第一个和最后一个块之外的所有节点都有 Previous Block, Next Block(s ) 字段,将引起连锁反应。 修改一个区块数据的代价是将区块链中所有区块的Hash、Previous Block、Next Block(s)字段修改为对应的值。 如果不同时拥有全网一半以上的算力,是不可能做到这一点的。 因此可以说,区块数据一旦写入区块链,就永久写入,无法修改。 这也确保了数据的安全性和可信性。

比特币的共识机制_量子链pos共识机制_比特币采用的共识机制是pos

共识机制

共识机制是区块链最重要的特征。 共识是指对区块数据的认可,也可以看作是投票。 只有超过半数的点对点网络认为区块数据真实可靠,才能达成共识。 目前主要的共识机制有几种:工作量证明(PoW)、权益证明(PoS)、委托权益证明(DPOS)和拜占庭共识算法(PBFT)。 其中,工作量证明是比特币采用的机制。 比特币的工作量证明称为“挖矿”。

由于每个节点都要同步最新的区块链数据,出块速度不能太快,否则大部分节点都来不及同步。 中本聪为此设计了难度系数调整机制。 区块结构中维护了Nonce和Difficulty两个字段,分别代表计算次数和难度系数。 区块生成的设计速度是每10分钟生成一个。 这个速度可能会加快。 如果区块生成速度大于设计速度,则下一个区块的难度系数会增加。 因此,可以保证出块时间间隔在10分钟左右。 因此,随着时间的推移,比特币挖矿将变得越来越难。

如果同时将两个区块添加到区块链,区块链就会分叉。 哪条分支长度先达到6的作为主干,确认交易,丢弃另一条分支(选择大多数节点的共识)。 因此,确认一笔交易大约需要1个小时。

量子链pos共识机制_比特币的共识机制_比特币采用的共识机制是pos

双花和拜占庭将军问题

双花是指在两笔不同的交易中花费相同的资产。 比如节点A一共有1个比特币,节点A几乎同时提交了两笔交易:支付1个比特币给节点B,支付1个比特币给节点C。支付1个比特币。 这两个交易在交易被记录之前可能是合法的,不同的节点可能会将它们记录在区块中。 如果同时产生两个区块,则根据工作量证明的共识机制进行选择。 区块链还可以在不通过第三方的情况下解决双花问题。

拜占庭帝国要打击强大的敌人,于是派出10支军队包围敌人。 这个敌人虽然比不上拜占庭帝国,但也足以抵挡5支拜占庭正规军的同时进攻。 不知为何,这10支大军无法集中在一起单点突围,必须在各自包围的状态下同时进攻。 他们任何一支军队单打独斗都没有胜算,除非至少有6支军队同时进攻夺取敌国。 他们分散在敌国各地,依靠信号兵相互沟通,协商攻击意图和攻击时间。 困扰这些将领的问题是,他们不确定其中是否有内奸,而内奸可能会擅自改变进攻的意图或时机。 在这种状态下,拜占庭将军能否找到一种分布式协议,让他们远程协商,从而赢得战斗? 这就是著名的拜占庭将军问题。

区块链中拜占庭一般问题的描述应该是如何在不知道具体诚实节点的情况下达成共识,利用区块链中主流的共识机制(工作量证明(PoW)、权益证明(PoS)、委托证明(Delegated Proof of Stake(DPOS)和拜占庭共识算法(PBFT))可以解决拜占庭将军问题。

隐私保护

由于在区块链中,所有的节点都是由全网唯一的SHA256签名来表示的,这个签名是不可逆的,所以即使签名在全网广播,也无法获取到某个节点的信息。 基于这一点,节点相当于在所有交易中都是匿名的,很好地保护了用户的隐私。 但这也是编写勒索软件的黑客常用的支付赎金的方法。

概括

基于以上对区块链的理解,可以得出区块链技术是去中心化的,区块的结构特点可以很好的保证节点间数据的安全性和公平性,也可以利用共识机制来解决类似的问题作为双花和拜占庭将军比特币采用的共识机制是pos,比特币的发展也体现了对区块链价值的认可。 然而,为了实现这些特性,付出了大量的时间和空间成本:每个节点需要实时同步整个区块链信息(目前已经达到数百GB); 每个区块的容量是有限的; 一个区块产生,一个交易每小时只能确认一次。 目前交易处理速度还远远不够。

迄今为止,区块链的应用场景非常有限,以目前技术水平的成熟尝试还仅限于金融货币领域。 判断区块链能否应用于某个领域,只需要判断三点:不需要管理中心,不需要实时数据,付出的成本小于收益。 现在看来,虽然区块链带来的变化不足以与人工智能相提并论,但区块链的思想非常值得研究和借鉴。

从技术角度来看,任何新技术都不是凭空产生的,必须在现有技术的基础上进行改进和创新。 区块链也不例外。 如果对分布式计算(分布式事务、Paxos算法等)和密码学(对称加密、非对称加密、数字签名等)稍有了解,学习区块链就会非常容易,区块链和Git的实现也有一些相似之处(例如,两者都使用 Merkle 树)。