架构
区块链(内核)
API/客户端/服务端
数学/密码学
网络传输
数据存储
区块链 - 又称之为内核部分,涉及特有解决方案,算法、数据结构、共识机制等;
API/客户端/服务端 - 以软件本身及钱包为代表;
数学/密码学 - 核心部分依赖于哪些算法,以及对应的数据结构;
网络传输 - P2P 网络,多年成熟技术,如何保护隐私,如何更高效;
数据存储 - 多以 Key-Value 方式存储,如何设计数据结构,更高效的存储,更高效的读取。
核心数据结构
链 -> 区块 -> 交易 -> 输入、输出、签名、智能合约
钱包 -> 账户、交易输出数据/密钥镜像
难点
区块链的验证:完全验证、快速验证
区块链的安全:密码学
区块的产生:创世区块、普通区块
区块的验证
交易的产生:Coinbase、普通交易
交易的验证
交易签名
如何实现“转账”:发送方、接收方、系统
转账的理论基础:计算机工程学、数学/密码学
如何进行数据存储:DB
被存储数据的安全:密码学
高效的数据检索、验证:计算机工程学-数据结构、数学-树、DB
数据的传输:P2P
被传输数据的安全:密码学
数据的传输安全:隐私特性
网络管理:与外部网络的通信、网络模块的自我管理、与系统其它模块的协作
数学、密码学:随机数,公钥、私钥,加密、签名、验证,椭圆曲线、散列哈希
API:软件、钱包,客户端、服务端
其它:孤儿块、共识机制(PoW 算法)、交易池、软/硬分叉、难度调整、发行曲线、区块大小、奖励、手续费