bitcoinlitelite项目开发记录(1)

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

目的:

1. 阐述bitcoin的机制

2. 熟悉相关知识点

github地址:bitcoinlitelite



椭圆加密算法 crypto/key.go

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容