执行模型具体说明怎么使用一系列字节代码指令和一个小的环境数据元组去改变这个系统状态。这些是通过以太坊虚拟机 (Ethereum Virtual Machine - EVM), 这个虚拟状态机来实现的。...
精通比特币(36):随机性在签名中的重要性
在签名算法中重用相同的k值会导致私钥的暴露! 如果在两个不同的交易中,在签名算法中使用相同的值k,则私钥可以被计算并暴露给世界! 重用k值的最常见原因是未正确初始化的随机数...
精通比特币(66):Merkle树和简单支付验证(SPV)
SPV节点不保存所有交易也不会下载整个区块,仅仅保存区块头。它们使用认证路径或者Merkle路径来验证交易存在于区块中,而不必下载区块中所有交易。 例如,一个SPV节点想知道它钱包中某个...
区块链相关概念
1、区块链 区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。 交易:对...
精通比特币(3):比特币的诞生
2008年,署名Satoshi Nakamoto发表了一篇题为“Bitcoin:A Peer-to-Peer Electronic Cash System”的论文——关键的创新是使用分布式计算系统(称...
精通比特币(26):钱包技术细节
助记码词汇(BIP-39) 助记码词汇是英文单词序列代表(编码)用作种子对应所确定性钱包的随机数。单词的序列足以重新创建种子,并且从种子那里重新创造钱包以及所有私钥。在首次创建钱包时,带有助记码的,运...
Go入门(4):标准库
第八章学习笔记 Go标准库是一组核心包,用来扩展和增强语言的能力。这些包为语言增加了大量不同的类型。开发人员可以直接使用这些类型,而不用再写自己的包或者去下载其他人发布的第三方包。由于这些包和语言绑在...
精通比特币(33):比特币中使用的数字签名简介
维基百科对 “数字签名 ”的定义: 数字签名是用于证明数字消息或文档的真实性的数学方案。 有效的数字签名给了一个容易接受的理由去相信:1)该消息是由已知的发送者(身份认证性)创建的; 2)发送方不能否...
CFO区块链学习笔记(9):Homestead学习笔记1
以太坊是什么 区块链技术是比特币的技术基础。区块链是一个分布式计算架构,每一个网络节点都执行并记录相同的交易信息,并把结果打包到块(block)中。同一时间只有一个块可以被添加,每一个块都包含通过前一...
精通比特币(31):比特币交易脚本和脚本语言
比特币交易脚本语言,称为脚本,是一种类似Forth的逆波兰表达式的基于堆栈的执行语言。 当一笔比特币交易被验证时,每一个输入值中的解锁脚本与其对应的锁定脚本同时 (互不干扰地)执行,以确...