花木兰

  • 首页

  • 归档

P2P网络--Kademlia协议

发表于 2018-06-12 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

Kademlia:一种基于异或指标的P2P信息系统

概述

Kademlia是一种点对点分布式哈希表(DHT),它在容易出错的环境中也具有可证明的一致性和性能。使用一种基于异或指标的拓扑结构来路由查询和定位节点,这简化了算法并有助于证明。该拓扑结构有一个特点:每次消息交换都能够传递或强化有效信息。系统利用这些信息进行并发的异步查询,可以容忍节点故障,并且故障不会导致用户超时。

阅读全文 »

共识算法-Raft共识算法

发表于 2018-06-01 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

Raft是什么

Raft是一种被设计为通俗易懂的共识算法。它在容错和性能方面等价于Paxos。不同之处在于它被分解为相对独立的子问题,并且它清楚解决了实际系统的各个所需部分。

阅读全文 »

自私挖矿

发表于 2018-05-28 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

背景

这是康奈尔大学的一篇论文《Majority is not Enough: Bitcoin Mining is Vulnerable》,分析了简单多数原则在比特币挖矿中比较脆弱,分析指出并不需要51%算力才能实施有效攻击,而只需要1/3的算力就能够进行作恶。

在ethereum代码中,在写入块和数据库的过程中,有避免这一漏洞的处理,参考了这篇论文,于是来详细看一看。

1
2
3
// core/blockchain.go

func (bc *BlockChain) WriteBlockWithState(block *types.Block, receipts []*types.Receipt, state *state.StateDB) (status WriteStatus, err error) {}
阅读全文 »

Ethereum转账流程剖析

发表于 2018-05-24 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

在js console中转账ETH

在我之前的文章《Ethereum初探》中,已经详述了在以太坊私链中转账的操作,可以在那里细细查看。

背后流程

Geth Console执行JS通用流程

在探讨sendTransaction转账流程之前,让我们先看下JS执行的通用流程。如下图所示。

阅读全文 »

Ethereum源码阅读笔记-accounts-3-创建账号背后的故事

发表于 2018-04-26 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

new一个账号

1
2
3
$ geth account new --datadir "./datadir1"
password: 12345678
Address: {26add576232dad627a9102015a7b11763e98f85b}
阅读全文 »

密码学基础知识

发表于 2018-04-20 | 更新于 2020-12-07 | 分类于 cryptography

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

Kerckhoffs原理

Kerckhoffs原理:即使除秘钥外的整个系统的一切都是公开的,这个密码体制也必须是安全的。尤其是即使攻击者知道系统的加密算法和解密算法,此系统也必须是安全的。

Auguste Kerckhoffs于1883年提出

阅读全文 »

Ethereum源码阅读笔记-accounts(2)-分层确定性钱包

发表于 2018-04-20 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

分层确定性钱包(HD Wallets)

在使用钱包,以及看以太坊代码时,都会碰到m/44'/60'/0'/0这样奇怪的字符串,以及派生路径(DerivationPath)这样的术语,决定搞个明白,随后发现这些奇怪的东西都与一个名词有关:分层确定性钱包

阅读全文 »

Ethereum源码阅读笔记-eth

发表于 2018-04-16 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

go-ethereum/eth

eth包实现了以太坊协议(Ethereum protocol)

Ethereum定义

在backend.go中,可以看到Ethereum结构体的定义,该对象实现了以太坊全节点服务。

阅读全文 »

Ethereum源码阅读笔记-whisper

发表于 2018-04-11 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

go-ethereum/whisper

先从whipserv6看起。

Whisper定义

Whisper代表了在以太坊网络中的一个隐秘(dark)通信接口,使用的是以太坊自有的P2P通信层。所谓dark,意思是没有可靠的方法可以来追踪数据包(见于Specs)

阅读全文 »

Ethereum源码阅读笔记-accounts

发表于 2018-04-09 | 更新于 2020-12-07 | 分类于 ethereum

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

go-ethereum/accounts

accounts包实现了高层的以太坊账号管理模块

首先看accounts.go中的Account结构体:Account结构体描述了一个以太坊账号,可以定位到一个指定地址上,这个地址由结构体中的Account.URL字段定义,Account.URL字段是可选的。结构体中的另一个字段Account.Address是必选的,该地址是由私钥衍生出来。

阅读全文 »

123…6

runningbar

分享即收获
51 日志
16 分类
© 2020 runningbar
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Muse v7.1.2