区块链技术原理是怎样的?

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Gendan5/article/details/97136255

区块链是对等网络环境下通过透明可信的规则构建不可伪造、防篡改和可追踪的区块链结构数据来实现和管理事务处理的一种模式。
区块链技术原理的来源可以概括为一个数学问题:拜占庭一般问题拜占庭一般问题延伸到互联网生活,其内涵可以概括如下:在互联网的背景下,当人们需要与陌生的对手交换价值观时,如何才能避免被恶意破坏者欺骗和迷惑而做出错误的决定?将拜占庭一般问题进一步扩展到技术领域,其内涵可以概括为:在缺乏可信中心节点和可信通道的情况下,网络中分布的所有节点应该如何达成共识区块链技术解决了众所周知的拜占庭式的普遍问题——它提供了一种无需信任单个节点就能创建共识网络的方法。
区块链技术原理是怎样的?
什么是区块链?
“区块链”技术最初是一种特殊的数据库技术,由笔名中本聪为比特币http://www.gendan5.com/digitalcurrency/btc.html(一种数字现金)设计。它是基于密码学中的椭圆曲线数字签名算法来实现分布式P2P系统设计的。但是区块链的角色不仅限于比特币。现在,当人们使用“区块链”这个词时,有时它指的是数据结构,有时它指的是数据库,有时它指的是数据库技术,但不管它有什么样的含义,它都与比特币没有必然的联系。

从数据的角度来看:区块链是一种分布式数据库(或称分布式共享分类账),其中“分布式”不仅体现在数据的分布式存储中,还体现在数据的分布式记录中(即由系统参与者共同维护)。简而言之,区块链可以实现全局数据信息的分布式记录(可以由系统参与者集体记录,而不是由中央组织集中记录)和分布式存储(可以存储在参与记录数据的所有节点中,而不是集中存储在中央组织节点中)。

从效果的角度来看,区块链可以生成一组时序的、防篡改的和可信的数据库。这组数据库是非集中式存储,数据安全性可以得到有效保证。
区块链技术原理是怎样的?

区块链的核心技术
一、区块+链
区块结构有两个非常重要的特征:首先,记录在每个块上的事务都是在前一个块形成之后和块创建之前发生的价值交换活动,这确保了数据库的完整性其次,在大多数情况下,一旦一个新的块在完成后被添加到区块链的末端,该块的数据记录就不能再被改变或删除。这个特性确保了数据库的严格性,也就是说,它不能被篡改。
“区块链”的结构为我们提供了数据库的完整历史。从第一块到新生成的块,系统的所有历史数据都存储在区块链。区块链为我们提供了数据库中每个数据的搜索功能。区块链的每一笔交易数据都可以通过“区块链”的结构追溯到其来源,并逐一核实。区块链=时间戳,这是区块链数据库的最大创新。区块链数据库允许整个网络的记录器在每个数据块上打上时间戳进行记账,表明该信息是在此时写入的,从而形成一个不能被篡改或伪造的数据库。

二、分布式结构
根据系统确定的开源和分散协议,区块链构建了一个分布式结构系统,通过分布式传输将价值交换的信息传输到整个网络,通过分布式记账确定信息数据的内容,时间戳后生成块数据,然后通过分布式传输传输到各个节点,实现分布式存储。
1.在如何使所有节点都能参与记录的问题上,区块链的方法是构造一套协议机制,使整个网络中的每个节点在参与记录时都能验证其他节点记录结果的正确性。只有当整个网络的大多数节点(甚至所有节点)同时认为记录是正确的,或者所有参与记录的节点一致通过比较结果时,记录的真实性才能被整个网络所识别,并且记录的数据才能被写入块中。
2.至于如何存储“区块链”组严格的数据库,区块链的方法是构建一个分布式网络系统,使数据库中的所有数据实时更新,并存储在参与记录的所有网络节点中。这样,即使一些节点被黑客破坏或攻击,整个数据库的数据记录和信息更新也不会受到影响。

三、非对称加密算法
什么是不对称加密?简而言之,它允许我们在“加密”和“解密”过程中分别使用两个密码。这两个密码具有不对称特征:(1)加密中使用的密码(在区块链称为“公钥”)对整个网络都是可见的,每个人都可以用自己的公钥加密一条信息(信息的真实性);(2)解密密码(在区块链称为“私钥”)只有信息所有人知道,只有拥有相应私钥的人才能解密加密信息(信息安全)。
从信任的角度来看,区块链实际上是用数学方法解决信任问题的产物过去,人们可能依靠熟人社会中的“老乡”、党群中的“同志”和传统互联网交易平台中的“支付宝”来解决信任问题。然而,在区块链技术中,所有规则都是预先以算法程序的形式表达的。人们不需要知道交易对手是“绅士”还是“恶棍”,也不需要求助于中央第三方机构来认可交易。相反,他们只需要信任数学算法来建立相互信任。在区块链技术的背后,该算法本质上是为人们创造信用并达成共识。

四、脚本
脚本可以理解为可编程的智能契约如果区块链技术仅用于适应特定的交易,则无需嵌入脚本,系统可以直接定义完成价值交换活动所需的条件。然而,在分散的环境中,所有协议都需要事先达成一致,因此脚本的引入是不可或缺的。借助脚本,区块链技术将为系统提供处理一些不可预见的交易模式的机会,确保该技术在未来应用中不会过时,并提高该技术的实用性。

如果我们假设数据库是一本账簿,那么读写数据库可以被视为簿记行为。区块链技术的原则是在一段时间内找到记账最快、最好的人。此人将保留账户,然后将账户簿的这一页信息发送给整个系统中的其他人。这相当于更改数据库中的所有记录,并将它们发送到整个网络中的每一个其他节点,因此区块链技术也被称为分布式账簿。

展开阅读全文

没有更多推荐了,返回首页