Loading...
守株阁学习区块链的基础资料 Back to Home

学习区块链的基础资料

Created2018-01-31|Updated2026-01-24
|Word Count:30|Reading Time:1mins|Post Views:

《猥琐发育成区块链开发者》
普林斯顿的《Bitcoin and Cryptocurrency Technologies》课程
《精通比特币(第二版)》

Author: magicliang
Link: https://magicliang.github.io/2018/01/31/%E5%AD%A6%E4%B9%A0%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%9F%BA%E7%A1%80%E8%B5%84%E6%96%99/
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
区块链Ethereum
Related Articles
cover
2018-08-29
以太坊深度研究合集(2017-2018 旧文整合)
本文整合了 2017 年 10 月到 2018 年 8 月间一系列以太坊学习与实战笔记,包括工作机制、Gas 系统、事务与消息调用、随机数问题、硬分叉、谢灵点应用、为什么以太坊不适合做联盟链,以及 CentOS 6.7 上 geth 私链搭建、web3 安装、solidity 智能合约部署等实战。三篇 2018-08-29 的"旧文一篇"已统一收录于第五至第七章,作者当时的"旧文回顾"语气一并保留。 一、概述 以太坊(Ethereum)是一台 transactional singleton machine with shared-state——事务性状态共享的单例机器。实际上就是逻辑上唯一,但物理上由多个节点维护的共识中的 world computer。这台机器的状态是由事务变迁驱动的: 以太坊的核心区别于比特币的设计点: 引入 EVM 与图灵完备的智能合约 账户模型而非 UTXO 用 Gas 系统作为算力定价与防滥用机制 默克尔帕特里夏树存储状态、事务和收据 “幽灵协议”(GHOST = Greedy Heaviest Observe...
cover
2018-08-29
使用 Truffle 来编译、安装智能合约(旧文一篇)
因为官定版本的 solidity 实在编译安装太费力了,放弃,改用 Truffle。 直接用 npm 安装: 1npm install -g truffle 创建新目录,初始化新目录: 123mkdir myprojectcd myprojecttruffle init 修改配置文件 truffle.js: 12345678910 module.exports = { networks: { development: { host: "localhost", port: 8545, network_id: "*", // Match any network id gas: 500000 } }}; 生成必须的智能合约源码和迁移脚本: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253...
cover
2018-03-08
重新学习 Solidity
以下内容还是从 Solidity 文档里摘出来的。 智能合约入门/介绍 第一个基本的例子 12345678910111213pragma solidity ^0.4.0;contract SimpleStorage { uint storedData; function set(uint x) public { storedData = x; } function get() public constant returns (uint) { return storedData; }} 一个 contract 可以被认为是一个类型。 默认的 unint 就是256位的。 storedData 可以被认为是 state variable,状态变量。在 Solidity 的概念里面,这个东西可以被认为是数据库里面的一个槽,可以被函数查询和修改。注意看它不是 public 的,所以没有合成方法。 访问状态变量不需要用 this前缀(在什么 scope 下都不需要吗?)。 ...
cover
2018-03-08
重放攻击问题
比特币靠不同的地址前缀可以规避重放攻击问题。 以太坊可以靠 EIP155 钱包来规避重放攻击问题。 何为重放攻击问题? 一个区块链有若干个测试网络。如果一套公私钥可以在不同的网络上通用,则可以恶意地把在测试网络中出现的 transaction 播放到主网上。如果在测试网络上有人从账户 A 转了一笔钱到账户 B,而账户 B 是一个傻瓜测试账户,私钥是由类似123456之类的种子生成的话。那么只要账户 A 在主网中的余额大于这笔钱,心怀恶意者就能把主网中 A 的钱财转走,从主网中的账户 B 里把钱取出来。即使心怀恶意者没有 B 的取款方法,也能让账户 A 蒙受资金损失。 所以不要跨网使用相同的公私钥对。
cover
2018-02-20
EOS 相关问题
石墨烯(graphene,读作gurafin,没有尾音 i)技术本身是由 cryptonomex 开发的一个库,目前已经有国内的开发者开始使用它来开发公有链相关的基础设施。BM-丹尼尔•拉里默(Dan Larimer)是 cryptonomex 的创始人。 EOS 声称自己具有以下几个优点: 不易分叉 高 TPS 可以平滑升级 EOS 的365天众筹模式可以让 EOS 团队负成本的操盘。EOS 总量是无限的,(据说)增发的部分只是给矿工创造价值。
cover
2018-01-27
比特币小细节
收款地址是公钥的hash。 区块结构: 数据项 描述 长度 Magic No 魔数 总是 0xD9B4BEF9 4 字节(定长) BlockSize 区块大小 到区块结束的字节长度 4字节(定长) BlockHeader 区块头 包含六个数据项 80字节(定长) Transaction Counter 交易计数器 正整数 VI=VarInt 1-9字节(变长) BlockHeader 区块头 包含六个数据项 80字节(定长) Transactions 交易 交易列表(非空) 由Transaction Counter 描述的长度(变长) 由此表可见,只有交易计数器和交易明细列表是变长的。 比特币使用 SHA256 算法,它的结果哈希值大小为 256 位。也就是说,只要输入超过2的256次方个数,就一定会发生碰撞,即使只有2的255次方个数,也有百分之九十九的几率发生碰撞(为什么?)。 当前(这一百年内),每个区块都至少包含一个 Transaction,它被称为生产交易,或者coinbase交易,用于给生成这个区块的矿工以奖励,它经常是区...
avatar
magicliang
关于技术以及人生
Articles
365
Tags
388
Categories
29
Github
Announcement
人生只是,守株待兔
Recent Posts
大语言模型为什么像人在说话和思考:语言能力、思考能力与可解释性边界
大语言模型为什么像人在说话和思考:语言能力、思考能力与可解释性边界2026-05-17
用 Skill 和 Agent 攻克老旧历史项目的学习与分析难题
用 Skill 和 Agent 攻克老旧历史项目的学习与分析难题2026-05-17
Spring AI 与 AgentScope 横评:Java 与 Python 两条智能体框架路线的分野(兼论 LangChain4j、Semantic Kernel、LangGraph、AutoGen、CrewAI)
Spring AI 与 AgentScope 横评:Java 与 Python 两条智能体框架路线的分野(兼论 LangChain4j、Semantic Kernel、LangGraph、AutoGen、CrewAI)2026-05-17
缓存系统设计全景——从原理到生产的完整指南
缓存系统设计全景——从原理到生产的完整指南2026-05-14
Multi-Agent 架构深度研究:从四种基础模式到「何时不该用多 Agent」的工程判断
Multi-Agent 架构深度研究:从四种基础模式到「何时不该用多 Agent」的工程判断2026-05-14
© 2017 - 2026 By magicliangFramework Hexo 8.1.1|Theme Butterfly 5.5.4