
golang区块链的构建
文章平均质量分 92
分为简易区块链(BTC模式)的构建,web3链的实战两部分
Hock2024
这个作者很懒,什么都没留下…
展开
-
简易区块链的实现
因为后续的区块的哈希值依赖于前一个区块的哈希值,因此如果前一个区块的数据被篡改,那么它的哈希值也会发生变化,从而导致整个区块链的哈希值序列被破坏。具体来说,当你创建一个新的区块时,你会将前一个区块的哈希值作为当前区块的前一个哈希值存储在当前区块中。每个区块的哈希值都是由该区块的数据和前一个区块的哈希值计算得出的,因此每个区块的哈希值都依赖于前一个区块的哈希值。//因此,通过遍历区块链中的每个区块,你可以逐个检查每个区块的前一个区块的哈希值是否与前一个区块的实际哈希值匹配,从而验证区块链的完整性。原创 2024-03-27 14:49:23 · 1733 阅读 · 0 评论 -
简易区块链的搭建(3)——交易
我们先来介绍传统的金融模式,你有10元存款,想转给我3元,银行会怎么操作?很显然,他会将你的账户减3元,将我的账户加3元。这种交易模式记录的是 交易结果而UTXO账户模型记录的是 交易过程 下面是简单的例子:初始状态:你的账户有10元,由一个未花费交易输出(UTXO)组成,价值为10元。转账3元给我:你想要向我转账3元。这个过程会创建一笔新的交易,包含一个输入和一个输出。输入:指向之前未花费的10元交易输出,消费掉这个UTXO。输出:一个新的UTXO,价值为7元,指向我的地址。交易记录。原创 2024-04-04 21:08:22 · 2974 阅读 · 3 评论 -
简易区块链的搭建(2)——工作量证明
/ 将区块的时间戳(Timestamp)、前一个区块的哈希值(PrevHash)、给定的 nonce、挖矿目标值(Target)、以及区块数据(Data)连接成字节返回。//区块头中,Target字段表示了当前区块的目标哈希值,矿工需要通过不断调整Nonce值来寻找满足条件的哈希值,从而完成区块的挖掘工作。//在PoW算法中,矿工需要不断尝试不同的Nonce值,使得区块的哈希值小于或等于Target,以此来满足网络的难度要求。我们要求,通过反复枚举nonce,生成一个小于target的数字。原创 2024-03-30 16:56:52 · 1034 阅读 · 2 评论