Advertisement

区块链是什么

阅读量:

区块链

区块链本质上是一个去中心化的分布式账本数据库。

区块链解决什么问题

区块链通过不可篡改的数据特性来解决信任问题,在加密技术的支持下确保数据一旦写入就不能被任意修改或复制。这使得数据来源可追溯并保证其真实性与完整性。由于系统设计限制只能由单一机构或个人负责维护账本记录以防止误操作造成的数据损失例如银行账户出现异常操作可能导致资金被退回这种情况虽然罕见但仍需加以防范以保障系统的稳定性和安全性

区块链构成

为了深入理解区块链的工作原理及其在解决信任问题中的应用,首先要明确区块链本质上是一个分布式数据库系统。其中的数据存储方式与传统数据库存在显著差异:数据格式是怎样的呢?它与传统的表结构相似吗?一般情况下,在特定的应用场景下才会设定相应的数据模型和结构定义。然而,在实际应用中我们并不强求这一点;但通过这种方式我们可以大致了解:一个完整的数据库实际上是由多个独立的链表构成的,它们像链表一样连接在一起形成一个整体网络。在这里我们暂不深入探讨具体的连接方式或技术细节;但可以确定的是:每个数据单元对应一个独立的链表结构。

在这里插入图片描述

结构相对简单,并非基于链表的数据库被提及为一种分布式数据库。然而,在我们的理解中,并非将数据分散存放在各个机器上而是每台机器都拥有同样的数据资料即每个用户都拥有该数据库因此这种架构也被视为分布式系统。那么第二个问题来了每位用户提供了一份数据任何用户都可以对其进行修改如何确保数据不可篡改呢?

共识算法:解决信任危机

我们学习了区块链的基本架构,并了解到每个参与者都维护一份数据副本。因此我们能够自由地更新数据以执行CRUD操作(即创建、读取、删除和更新)。然而要确保区块链的数据不可篡改其核心机制依赖共识算法。在此基础上我们需要明确:区块链系统仅支持CR(创建与读取)操作而不提供删除或更新功能。

问题:谁来编写

背景知识

共识算法是区块链技术发展最为基础的核心领域之一:众多公链项目致力于探索与改进共识算法机制。其核心目标在于实现网络中所有参与方对于新增区块的一致性认可:即确保所有节点能够达成一致地认可新增区块的内容。在传统的中心化系统中这一过程相对简单直接:只需等待权威机构发布指令即可;但在去中心化的区块链网络中:尤其是在存在恶意节点的情况下:这一过程变得异常复杂。因为为了防止恶意行为对系统安全造成的威胁:必须确保获得过半数节点的认可才能允许新区块进入网络。这个问题具有较高的难度:它对应于计算机科学中的拜占庭将军问题或拜占庭容错(BFT)理论框架:该理论指出:为了安全地达成一致至少需要三个复制副本才能容忍一定程度上的恶意行为。

为了防止被篡改的数据出现,
也会阻止新块链数据的添加,
正常的操作也会被阻止,
是否解决了这个问题呢?
这里使用的共识算法种类繁多,
我们以比特币为例进行说明。

比特币 共识算法:工作量证明

记录交易信息的过程类似于挖矿,在区块链上将这些交易数据存储至数据库后即可获得对应的比特币奖励。各个节点在争夺记账机会,并对这一过程进行了简化优化,并制定了相应的规则以确保系统的稳定运行。

  • 在时间段内仅能有一次记账完成 ,目前这个时间段是10分钟
    • 凭借解决密码学难题(即工作量证明)来竞争并赢得独特的记账权限
    • 其余节点仅进行计算结果的复制行为

这里主要是第二点要讲解,主要工作是做hash运算,我们把流程梳理一下:

  • 当前节点接收到一个交易记录
    • 记录所有交易信息后需将这些数据整合成一个数据包
    • 区块由两个主要部分组成:一是包含着上一周期区块头的信息如哈希值、时间戳等基础数据项的区块头
      • 区块头中的关键参数包括上一周期最后一个有效块的有效哈希值以及当前周期的目标哈希强度
      • 此外还有用于控制后续计算难度的关键参数如 nonce 值等
    • SHA256算法计算得到的有效哈希结果需要满足特定条件才能被接受
      • 比特币网络规定新区块的有效哈希必须具有特定特征即其二进制表示中开头连续若干位均为零
      • 这种特性使得新区块被接受的概率非常低只有约千分之一的可能性
      • 因此需要通过不断调节 nonce 值来寻找符合条件的有效哈希结果
    • 成功找到合适的 nonce 值后新区块即可被正式加入主链并通知所有参与者共同验证
      • 这一过程标志着记账者的成功完成并获得了相应的奖励权益
      • 接下来其他参与者也会按照同样的流程继续完成新区块的生成工作以确保整个区块链网络的安全性与稳定性

争夺比特币记账权时所涉及的哈希值是一个二进制数位长度为256位的数值。满足条件的哈希值即是指小于该区块难度目标的具体数值。该难度目标即为区块头中的设定值,其特征是前若干位均为零(后续各位数值大小虽有限制但此处仅讨论前零位的情况)。系统每隔2016个区块会自动调节一次难度标准:每增加一个零,则计算难度提高一倍。计算能力越强的节点单位时间能解算出符合要求的哈希值的机会越大奖励也越多。这种共识机制被称为工作量证明法

位于该系统中的个体,在 Bitcoin 的价值较高时会投入大量算力参与 earns(赚取)活动并从事积极的行为(good deeds)。这种情况下系统的运行状态会保持稳定。然而,在 Bitcoin 价值趋近于零时,则会有少数不良行为者试图通过破坏系统获得微利(minimal gain)。由于这些无益行为者的存在并不足以促使他们参与破坏活动(because they gain little),因此他们缺乏动力进行破坏行为(incentivized to act maliciously)。Bitcoin 系统通过奖励积极行为者(good actors)以比特币作为奖励,并通过让其参与数学竞赛来解决随机选择节点构建新区块的问题(incentivizing honest behavior through mathematical challenges)。总体而言,“assertive communication incurs costs”,即说真话有好处;而“lying incurs penalties”,即说假话要付出代价;因此Bitcoin 系统常受到批评(criticized by many),这也是区块链 2.0 和 3.0 方兴未艾的主要原因:有几个主要原因包括:

  • 比特币运行效率较低,在矿工们每隔10分钟平均能生成一个新的新区块的同时(记作挖矿),其交易信息需经过多步验证流程才能完成确认。
  • 该技术方案导致整个网络系统必须消耗大量电力资源(记作耗能高),而工作量证明机制(记作Proof of Work)则被用来确保网络的安全性。
  • 在比特币这种分布式共识架构下(记作分布式共识系统),其核心只能支持一种基础功能——即完成货币的转移操作(记作仅支持转账功能)。

所以新的区块链旨在提高比特币交易速度,并且针对Proof of Work问题也有解决方案。此外它还进一步拓展共识机制的应用场景并通过集成智能合约技术来提升功能。

应用

实体实现数字化,则可使实体交易转为区块链形式,在双方各自支付款项的同时完成货物交付

2、追溯源头
目前这个应用场景较多,都是各类记录物品流转,不可逆。

总结

共识算法是关键性的工作,在区块链技术的发展中发挥着基础作用。区块链技术的高效性和不可篡改性需要共识算法的支持。后续将深入探讨共识算法的相关知识。

参考文档

基础篇

全部评论 (0)

还没有任何评论哟~