- 比特币的概念
- 数字签名技术
- 工作量证明
- UTXO 集
- 散列算法
- 区块链
- 比特币交易
- 比特币网络
2009 年比特币横空出世,从此一项称为“区块链”的技术进入了公众的视野。截止至 2021 年初整个比特币的市值已突破 1 万亿美元。从一个技术宅的角度出发,我们往往诧异于短短的几千行程序代码如何能创造如此之大的影响。但当我们打开比特币的白皮书想一探究竟时,却发现自己如坠云里雾里不知所云。本课程将从零开始,一行代码一行代码,一个概念一个概念,手把手的教你实现一个类似于比特币系统的加密货币系统。完成本课程后,你将对比特币的实现原理及核心概念有更加深入的理解。
本课程将分 8 个实验,由浅入深的介绍比特币中的核心概念;在介绍完比特币的每个核心主题后,我们都会通过 Python 实现一个相应版本的区块链程序,从而确保我们是真的理解了相关概念。
本课程的核心可以说是实现了 8 个版本的区块链程序,每个版本的区块链程序实现都是基于前一版本的区块链程序实现,从而确保了我们学习的连贯性。
本课程 8 个版本的区块链程序大纲如下:
newdao 高级工程师 行业知名智能终端制造商 共发布过 8 门课程
查看老师的所有课程 >
最后一步.明白了在网络中是如何传输的.对于这个课程,我真是学习到了很多.老师真棒!!!
区块链缓存原来是这个样子,解放了我对固有方式的理解
学习到区块链中的加密方式和验签的方式
在编写的代码上加上交易模型,只有有了交易代码才有意义
介绍了区块链的持久化和工作证明,很有启发
自己动手编写了区块链的基础版本,对区块链的原理有了了解
学习到了,非对称加密的特点,很实用
本实验我们将从分析比特币网络中的节点角色和比特币网络协议开始,然后定义我们自己的比特币协议及节点角色,最后实现一个多节点协作的比特币网络程序。
本实验将根据实际比特币实现中的一些优化方案来对我们目前实现的区块链版本进行一些优化改进。我们会先介绍比特币中 UTXO 集的概念及使用场景,然后实现一个具备 UTXO 集缓存功能的区块链版本。
本实验先介绍数字签名技术如何解决比特币交易中的身份认证问题,接着介绍比特币地址的生成机制,及其相关的编码算法,最终实现了一个具备地址认证机制的区块链版本。
本实验将首先介绍比特币中使用的未花费输出模型,以及与之相关的一些基本概念,如交易输入、交易输出、交易的结构和铸币交易等,然后实现一个具备交易模型的区块链,实现比特币的发行、支付和余额查询等功能。
本实现将对我们现有的区块链程序版本进行两个方面的改进:1.实现区块链的持久化功能,2.为区块链添加命令行接口。区块链的持久化功能基于 Python 内置的 pickle 模块实现;区块链的命令行接口则基于 Python 内置的 argparse 模块而实现。
本实验从区块链的概念入手,通过分析区块与区块链的结构和工作量证明的原理,来了解区块链的工作原理;并通过实现两个版本的区块链程序来使我们从代码层面上真正的了解区块链的本质。
本节学习了单向散列函数、公钥加密及数字签名,并在 Python3 环境下进行了实战演练,这为我们进一步了解比特币提供了数学模型。
初步学习了比特币的有关背景知识,为进一步学习打好了基础。