bitcoinlitelite项目开发记录(1)

该项目目标是实现一个最小的可运行版本的类似bitcoin的blockchain。

目的:

1. 阐述bitcoin的机制

2. 熟悉相关知识点

github地址:bitcoinlitelite

椭圆加密算法 crypto/key.go

贴上一篇介绍:椭圆加密算法

在blockchain中,该算法主要用于公钥和私钥。当各个节点接受到数据的时候,需要拿出该transaction的owner的公钥,对交易内容进行验证,验证成功则说明的的确确是该owner发起的交易。

所以目前程序里面的逻辑是:

1. 用户初始化的时候,分配给该用户一个公钥和私钥。bitcoin里面一个私钥对应着多个公钥,并且是base58编码,golang原生并不是(或者我没看到,谁给解答下),所以暂时就一个公钥一个私钥。后期会考虑用上 secp256k1 方案。

2. 用户签名的时候,用私钥签名,验证的时候,用的是公钥验证。因为不同的用户是不会拥有对方的私钥的。

    原文作者:糖酱桑
    原文地址: https://www.jianshu.com/p/7cb1a5f34b2d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞