欢迎光临
我们一直在努力

【区块链】一笔交易从发起、上链、确认,发生了什么?(面试必备)

【区块链】一笔交易从发起、上链、确认,发生了什么?(面试必备)

作者:ZFJ_张福杰 博客:https://zfj1128.blog.csdn.net 日期:2025-04-22 关键词:区块链、交易、安全、智能合约、钱包

很多人用过区块链钱包,但如果你被问到:

👉🏻「一笔交易从点击发送,到真正不可篡改,中间到底发生了什么?」👈🏻

大多数人其实说不清🤔🤔🤔。

在这里,我就把这条链路彻底拆开讲清楚。

交易


一、起点:用户发起交易

假设你在钱包里点击“转账”,比如在 Ethereum 上给别人转 1 ETH。

这一刻,其实还没有任何链上行为发生,你只是做了一件事:

构造一笔交易数据(Transaction)

1、交易的本质是什么?

交易本质是一个结构化数据,大概包含:

  • from(发送地址)
  • to(接收地址)
  • value(金额)
  • gas / fee(手续费)
  • nonce(防重放计数器)
  • data(合约调用数据)

👉🏻 关键点:

区块链不认“你是谁”,只认“数据 + 签名”


二、核心步骤:签名

这一步是整个系统的安全核心,用来证明“是你发的”

1、为什么要签名?

区块链是一个去中心化网络,没有账号密码系统。

👉🏻 那怎么证明“这笔交易是你发的”?

答案是:用私钥签名

2、签名过程发生了什么?

以 ECDSA 为例(EVM链使用):

  • 对交易数据进行 hash(摘要)
  • 用私钥对 hash 进行签名
  • 生成 signature(签名)
  • 👉🏻 最终得到:

    交易数据 + 签名 = 可广播交易

    3、关键理解

    • 私钥 👉🏻 永远不出设备
    • 签名 👉🏻 可以公开验证

    👉🏻 重点:

    网络节点会用你的 👉公钥👈 验证签名是否正确


    三、广播交易(进入网络)

    签名完成后,钱包会把交易发送到节点(RPC节点)。

    1、发生了什么?

    a. 钱包调用节点接口(如 JSON-RPC) b. 节点接收交易 c. 节点做基础校验:

    • 签名是否合法
    • nonce 是否正确
    • 余额是否足够

    👉🏻 通过后:

    交易进入 mempool(交易池)

    2、什么是 mempool?

    👉🏻 mempool 就是:

    “还没上链的交易缓存区”

    所有节点都会维护一个自己的 mempool。


    四、打包上链(矿工 / 验证者)

    1、谁来决定交易是否上链?

    取决于链的机制:

    • Bitcoin 👉🏻 矿工(PoW)
    • Ethereum 👉🏻 验证者(PoS)

    2、打包过程

  • 从 mempool 挑选交易(优先手续费高的)
  • 按顺序执行交易
  • 打包成一个区块(Block)
  • 广播新区块到全网
  • 3、为什么要 gas / 手续费?

    本质是“资源竞价”:

    • 谁给的钱多,谁更快被打包
    • 防止垃圾交易攻击网络

    五、执行交易(真正的“状态改变”)

    很多人误以为“广播就完成了”,其实不是。

    👉🏻 只有被执行,才真正生效

    1、执行发生了什么?

    以 EVM 为例:

    • 扣除发送方余额
    • 增加接收方余额
    • 执行智能合约(如果有)

    2、可能失败吗?

    会的,比如:

    • Gas 不够
    • 合约执行失败
    • nonce 错误

    即使失败:

    • 交易仍然会上链
    • 手续费仍然会扣

    六、区块确认(Finality)

    交易被打包进区块后,还不算“绝对安全”。

    1、什么是确认数(Confirmations)?

    每多一个新区块,就多一次确认

    2、为什么需要确认?

    因为区块链可能发生:

    • 分叉(fork)
    • 重组(reorg)

    3、举例

    • 1 次确认:刚上链(可能被回滚)
    • 6 次确认(BTC常用):基本不可逆
    • 多次确认:最终确定(Finality)

    七、安全关键点总结(面试重点)

    如果你去面试相关的岗位,你可以用这几句话直接打面试官👇🏻

    1、身份认证

    👉🏻 通过签名(ECDSA / Ed25519)完成

    2、防重放攻击

    👉🏻 nonce / sequence 控制

    3、数据不可篡改

    👉🏻 区块 + 哈希链结构

    4、去中心化共识

    👉🏻 PoW / PoS 决定谁打包区块


    八、总结

    1、一笔交易的生命周期是:

    构造 → 签名 → 广播 → 进入交易缓冲区 mempool → 被打包 → 执行 → 确认 → 最终不可篡改

    2、区块链不是“转账系统”,而是:

    一个用密码学保证信任、用共识保证一致性的分布式状态机


    关于作者(ZFJ_张福杰)

    • 官网:https://zfjsafe.com
    • 博客:https://zfj1128.blog.csdn.net
    • Github:https://github.com/zfjsyqk
    • Gitee:https://gitee.com/zfj1128
    • 打赏:https://zfjsafe.com/paycode

    赞(0)
    未经允许不得转载:171主机测评 » 【区块链】一笔交易从发起、上链、确认,发生了什么?(面试必备)
    分享到: 更多 (0)

    评论 抢沙发

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