连载一 伪代码解读区块链
0x5279
February 9th, 2022

本文是供稿于BanklessCN OG项目的专栏文章,此专栏目标是通过研发视角,以尽可能简单的伪代码来描述整个加密行业的所有基础知识。

区块

区块链就是逻辑上一个个区块链在一起的一种存储结构。区块用伪代码是这样表达的:

区块=「
    序号,
    工作证明加密串,
    时间,
    交易列表=「
       发方,收方,金额
    」
    上一个区块的算法地址(很长的加密算法串)
」

如何把一个区块和另一个链在一起呢?每个新来的块,都要对上一个块内容进行计算,这个计算后确定的内容就作为新区块中 “上一个区块的算法地址”,任何人拿上一个区块的内容,都能算出来这个相同的地址(hash)。于是这样就在逻辑中把所有的数据串成一串了。

工作证明加密串,挖矿的过程也就在计算这个串,谁先算出来并提交了,这个工作就是谁的,奖励就是谁拿。至于谁可以挖,挖出来怎么算,就构成了不同的式作量证明算法。

点对点

点对点也就是以前大家下载电影用的p2p网络协议,这相对于中心化服务器的机制,保障了所有的数据都没有集中的保存和计算点,当然也存在可能用海量的矿场做到占大多数。

转账

转账过程主要是做到新建交易,这个过程其实只需要添加几个关键属性:

    交易=「
       发方,收方,金额
    」

这个构建完成后,就可以放到当前区块的交易列表中,向网络中发送交易内容。此时整个网络就出现了等待计算的区块了。

挖矿

挖矿的过程本质上是完成区块的打包入链:

循环计算新 工作量证明串 直到:
    证明串满足网络定义的要求后,进行交易打包生成新的区块。
    计算上一区块的算法地址,写到新区块里,完成链接。

整个过程矿工一般都会得到不同机制的奖励。

【下期预告】ETH和BTC的技术区别

本文的专业版本:

英文原文作者是dvf:

Arweave TX
NZ1S90AWutWhyLbAeHrMudQC3rGBhb067rRPtk0BcfQ
Ethereum Address
0x5279f207AFC82CCF5847a98014D266cAE6016536
Content Digest
Wedl9meci7bDqSgOrXYEfuy83fsNKV46HU25A3ohCb8