中年|火龙果财经:什么是“链上”和“链下”
什么是“链上”和“链下”
本文插图
区块“链”的链 , 包含“数据链”和“节点链” 。 数据链指用链式结构组织区块数据 , 构成数据校验和追溯的链条;“节点链”指多个节点通过网络连接在一起 , 互相共享信息 , 其中的共识节点则联合执行共识算法 , 产生并确认区块 。
交易“上链”的简要过程如下:
1、记账者们收录交易 , 按链式数据结构打包成“区块” 。
2、共识算法驱动大家验证新区块里的交易 , 确保计算出一致的结果 。
3、数据被广播到所有节点 , 稳妥存储下来 , 每个节点都会存储一个完整的数据副本 。
交易一旦“上链” , 则意味着得到完整执行 , 达成了“分布式事务性” 。 简单地说 , 就像一段话经过集体核准后在公告板上公示于众 , 一字不错不少 , 永久可见且无法涂改 。
“上链”意味着“共识”和“存储” , 两者缺一不可 。 交易不经过共识 , 则不能保证一致性和正确性 , 无法被链上所有参与者接受;共识后的数据不被多方存储 , 意味着数据有可能丢失或被单方篡改 , 更谈不上冗余可用 。
除此之外 , 如果仅仅是调用接口查询一下 , 没有改变任何链上数据 , 也不需要进行共识确认 , 则不算“上链” 。
【中年|火龙果财经:什么是“链上”和“链下”】
或者 , 某个业务服务本身和区块链并不直接相关 , 或其业务流程无需参与共识 , 所生成的数据也不写入节点存储 , 那么这个业务服务称为“链下服务” , 无论它是否和区块链节点共同部署在一台服务器 , 甚至和节点进程编译在一起 。
当这个业务服务调用区块链的接口发送交易 , 且交易完成“共识”和“存储”后 , 才称为“上链”;如果这个交易没有按预期被打包处理 , 那么可以叫“上链失败” 。
事实上 , 几乎所有的区块链系统 , 尤其是和实体经济、现实世界结合的区块链应用 , 都需要链上链下协同 , 用“混合架构“来实现 , 系统本身就包含丰富的技术生态 。
*注1:交易(transaction)是区块链里的通用术语 , 泛指发往区块链 , 会改动链上数据和状态的一段指令和数据
*注2:本节描述的是简要的模型 , 在多层链、分片模型里 , 流程会更加复杂 , 事务划分更细 , 但“共识”和“存储”才叫上链的基本原则不变
交易之轻和“上链”之重
目前区块链底层平台逐步趋于成熟 , 性能和成本已经不是什么大问题 , 只是以下几个开销是因“分布式多方协作”而先天存在的:
共识开销:主流共识算法里 , PoW(工作量证明 , 也就是挖矿)消耗电力;PoS(权益证明)要抵押资产获得记账权;PBFT(联盟链常用的拜占庭容错算法)记账者要完成多次往返投票 , 流程步骤繁杂 。
计算开销:除了加解密、协议解析等计算之外 , 在支持智能合约的区块链上 , 为了验证合约的执行结果 , 所有节点都会无差别地执行合约代码 , 牵一发而动全身 。
网络开销:与节点数呈指数级比例 , 节点越多 , 网络传播次数越多 , 带宽和流量开销越大 , 如果数据包过大 , 就更雪上加霜 。
存储开销:和节点数成正比 , 所有的链上数据 , 都会写入所有节点的硬盘 , 在一个有100个节点的链上 , 就变成了100份副本 , 如果有1000个节点 , 那就是1000份 。
也许有人会说:“这就是‘信任’的成本 , 值得的!”我同意 。 只是理想无法脱离现实 , 毕竟硬件资源总是有限的 。
想象一下 , 如果每个交易都是一个复杂科学计算任务 , 那么每个节点CPU和内存会跑满;如果每个交易都包含一个大大的图片或视频 , 那么全网的带宽 , 以及各节点存储很快被塞爆;如果大家都敞开来滥用“链上”资源 , “公地悲剧”就不可避免 。
推荐阅读
- 中年|Carnot研发新型空气压缩机:噪音更低 寿命更长 成本更低
- 中年|中国-东盟区块链应用创新实验室揭牌
- 中年|交易所成黑钱胜地:“冻卡潮”背后的秘密
- 中年|波卡上线 现阶段是否值得投资?
- 中年|首台国产T3.20悬臂式掘进机在中信重工下线
- 中年|探索城市的“未来模样”,腾讯政务接下来这么干
- 中年|明年起禁用不可降解塑料购物袋、吸管!塑料袋发明者本来是为拯救地球
- AI财经社|谷歌云为何“放弃”中国市场?有人为它算了账,投入产出比太低
- BT财经|荒谬!中通快递竟然用假人充当安检员?穿戴整齐骗过监控
- AI财经社|发起反击战,华为对美国Verizon、思科和惠普发起侵权诉讼