EMO's Blog

Thinking will not overcome fear but action will.

PoS共识协议

算法介绍

共识算法 EMO’s Blog Proof of Stake 尽管一部分人认为PoW带来的资源消耗是在保障区块链安全上具有重大意义的,但是更多的人则力求寻找一种更加绿色高效的共识机制,于是Proof of Stake便被提出了。倡导利用代币的质押方式解决公链中松散的身份认证带来的女巫问题。解决女巫问题的核心便是将区块链中的权利与账户之间的关联性弱化。PoW中利用算力构建的竞...

PBFT共识协议

算法介绍

共识算法 EMO’s Blog Byzantine Problem 拜占庭问题的具体描述我就不详细说了。 拜占庭节点的行为方式 不发送消息,等同于一个Failure Node。 发送虚假消息,或者说给不同的节点发送不同的消息。 拜占庭节点能伪造消息吗? 不能,通过签名算法,我们能够防止消息在传递的过程中不会被修改,任何节点...

分布式系统中的基本定理以及关联

FLP, Async/Sync, CAP, BASE, ACID and Eventual Consistency

分布式系统理论 EMO’s Blog 同步与异步的含义 同步系统的条件 系统中各个节点的时钟误差存在上限。 存在一个超时机制,超出时间限制的消息传递视为是失败的。 各个节点处理消息的时间是一定的。 满足以上条件的同步系统可以轻易的判断节点是宕机了还是消息传输丢失了。 什么是异步系统 首先不满足同步条件的异步系统意味着,系统中的各个节点存在较大的时钟差...

Raft共识协议

简单的算法流程介绍

共识算法 EMO’s Blog 介绍 Raft是常用的一致性算法,在分布式系统中,能够很好的解决非拜占庭共识问题。在一个大小为2N+1的非拜占庭分布式网络中,即所有节点都诚实的进行通信,Raft算法能够容忍N个节点故障。以下链接有Raft介绍的动画,应该能帮助更好的了解 (http://www.kailing.pub/raft/index.html) 流程 上面的动...

Bitcoin中的交易

双花攻击与UTXO

比特币笔记 EMO’s Blog 双花攻击 介绍 双花攻击是数字货币中比较常见的需要解决的问题。因为基于签名的数字货币很难被伪造,但是却很容易被复制。比如央行发布了一款数字货币,每一个货币都是用央行拥有的私钥去进行签名的。这样所有拥有这个货币的用户都可以很用的使用央行的公钥去验证货币的真伪,所以这样的一个数字货币是基本上不可能被伪造的。但是,如果我们只是复制呢?这样一个数...

Bitcoin中的共识协议

Proof of Work

比特币笔记 EMO’s Blog 共识算法讨论 在分布式系统中,共识算法被广泛的应用。而共识算法追求的则是实现分布式系统中所有的正确节点对某一个合约达到共识。而区块链中的共识问题就是需要所有的正确节点都认可一条主链并在上面开展工作。 常规的如Paxos和Raft共识机制,在私有的分布式系统或者说中心化的分布式系统中,能够很好的防范Faulty problem (指节点断网...

Bitcoin中的数据结构

Hash链与Merkel Tree

比特币笔记 EMO’s Blog 基础结构 比特币是基于区块链的去中心化数字货币。区块链本质上就是一条通过hash指针连接起来的hash链。链上的每一个节点就是一个区块,第一个产生的区块被称为genesis block(创世区块),每个区块由两部分组成 Block header Block body Block header中主要保存一些小的字段信息 { ...

Bitcoin中的加密

Hash加密与非对称加密

比特币笔记 EMO’s Blog 比特币中主要使用了两种加密技术 Hash加密 非对称密钥 这两种加密技术在比特币中扮演了不可或缺的重要作用。 Hash加密 Hash加密被普遍应用于文本对比上,它在区块链中维护了区块链的不可篡改性以及扮演着区块链的指针。 比特币对于Hash算法有三种需求 Collision Resistance (冲突容忍性/h...

Casper Blockchain

Explore Consensus Algorithm - Casper

EMO’s Blog The github of this project is here Casper in Blockchain Abstract We want to introduce consensus algorithm to a public blockchain application. The tolerance of fail...

Twitter Analysis Project Design

Briefly Introduce for COMP90024-Assignment 2

This blog is writed to simply introduce the assignment 2 project of COMP90024. This project was implemented by members in group 55 EMO’s Blog The github of this project is here COMP90...

{ % if page.mermaid % } { % endif % }