欢迎光临
我们一直在努力

区块链基本概念-区块

从数字货币场景带入,深入理解区块链,0开始学习区块链。

我们习惯于银行、平台等中心机构来记录交易。 但如果不再依赖它们,还能安全地交换价值吗? 区块链给出了答案。 它用数学与规则,构建了一本全球共享的“数字记事本”。 这本记事本的基本单元,是“块”。 理解区块链,不妨从理解“块”开始。

文章目录

  • 一、什么是区块?
  • 二、区块里记录了什么?
    • 1.区块需要存什么?
    • 2.区块可靠性如何保证?
      • 安全加固策略:
      • 优化后的数据结构
  • 总结

一、什么是区块?

“块”可以理解为一个数据容器,它用来记录一段时间内发生的交易或操作信息。

区块链的区块提供了去中心化、不可篡改的“通用记账能力”。但要用于具体场景(如数字货币、食品安全),必须设计专门的协议来定义数据格式、验证规则、参与权限和安全机制。正是这些协议,让自由的区块变得稳定、安全、专业,从而实现真正的价值落地。

二、区块里记录了什么?

1.区块需要存什么?

基于去中心化账本的设计理念:不存结果,只存过程。 通过过程复现结果,过程可信,结果自现。 因此,一个区块的核心任务是:打包一批交易记录。 为此我们初步设计一个协议如下:

  • 块结构
字段类型说明
id 字符串 块的唯一标识(ID)
timestamp 时间戳 区块生成的时间
transactions 集合 交易记录列表
  • 交易记录结构
字段类型说明
id 字符串 交易的唯一标识(ID)
sender 字符串 发送方地址
recipient 字符串 接收方地址
trans_amount 数字 交易金额

示例:A 转给 B 1 BTC,表示一条交易记录。

2.区块可靠性如何保证?

我们知道了区块用来存什么,从协议结构来看,这些设计能够保证块的完整性,但是在传输过程中肯能被篡改。怎么保证其安全,我们就需要对其进行约束。

原始结构存在安全隐患:

  • 数据可能被篡改
  • 身份可能被伪造
  • 交易集合可能被替换

为此,我们引入密码学机制,逐步加固。

安全加固策略:

  • 防身份伪造:使用“地址”代替明文身份(基于公钥密码学)
  • 防交易伪造:每笔交易由发送方签名
  • 防交易集合篡改:为所有交易生成“摘要”(Merkle 根)
  • 防块元信息篡改:块ID由块内关键信息计算得出,确保完整性
  • 优化后的数据结构

    • 块结构(优化版)
    字段类型说明
    id 字符串 块的唯一标识,由块内关键元信息生成任何修改都会导致ID变化,暴露篡改行为
    timestamp 时间戳 区块生成的近似时间,用于记录时序
    merkle_root 字符串 所有交易的Merkle根作为交易集合的“数字指纹”,确保完整性
    transactions 集合 交易记录列表交易按 id 排序后参与 Merkle 根计算
    • 交易记录结构(优化版)
    字段类型说明
    id 字符串 交易的唯一标识,由交易内容生成确保每笔交易可被唯一追踪
    sender 字符串 发送方地址(基于公钥的标识)
    recipient 字符串 接收方地址
    trans_amount 数字 交易金额
    signature 字符串 发送方对交易内容的数字签名用于验证交易合法性,防止伪造

    总结

    “块”是区块链的基本数据单元,它像一个密封的信封,记录了一组交易。

    为了确保信封内的内容真实可信,我们:

  • 为每笔交易签名:确保“谁发起,谁负责”,防止伪造;
  • 为所有交易生成 Merkle 根:确保“交易集合完整”,防止增删改;
  • 让块ID依赖元信息:确保“块本身不可篡改”,防止张冠李戴。
  • 这三重机制共同作用,构建了一个自验证、防篡改、可追溯的“安全数据单元”。

    一个块安全了,明显会有很多块存在,这些块怎么保证增、删、改的安全?期待下回分解


    *** 下一步:一个块安全了,多个块如何协同?***

    单个块的安全只是起点。 当多个块存在时,如何保证:

    • 块的增、删安全?
    • 顺序不会被颠倒?

    这需要引入“链”。

    敬请期待下回解读

    赞(0)
    未经允许不得转载:171主机测评 » 区块链基本概念-区块
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址