Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions task_list/task_20180726/TrueChain分析解读--十二指环
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
[CSDN博客地址](https://blog.csdn.net/wtdask/article/details/83014377)

## 前言

[TrueChain中文官网](https://www.truechain.pro/zh)

TrueChain,中文名又译为初链
![在这里插入图片描述](https://img-blog.csdn.net/20181011152716870?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d0ZGFzaw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

## 什么是区块链?

- 是一种**分布式资料库**
- 最初是广泛使用在**比特币[Bitcoin]**
- 维护一份连续不断的**交易记录档案**
- 每一笔资料被称为一个**区块[block]**
- 每一个区块可以包含**一笔以上的交易**
- 每个区块都会与另一个区块**产生连接[Linking]**
- 每个区块都会包含**上个区块的hash值**
- 所有被连接在一起的区块被称为**链[chain]**
- 区块链就是**由多个区块组成的链**

## 区块链如何运作?

- 产生区块的过程会经过`复杂的密码学运算[cryptography]`
- 复杂的密码学运算可`杜绝记录篡改与修订`
- 每个区块在成功产生之后`是无法修改的`
- 产生区块的过程又称为`挖矿[Mining]`
- 负责产生区块的人又被称为`旷工[Miner]`
- 负责产生区块的机器又称为`挖矿机`
- 每一笔资料都可以通过连接找出`所有可靠的历史资料[溯源性]`
- 由于是分布式数据库,所以`具有去[中心化]特性`
- [去中心化]意味着`资料会分布到多个节点`
- 所有的节点会共同维护`整个分布式数据库`
- 共同维护整份资料库意味着`没人可以说自己的区块才是合法有效的区块`
- 共同维护整份资料库意味着`多数人验证后过的区块才是合法有效的区块`
- 共同维护整份资料库意味着`超过50%的节点验证过的区块才是合法有效的区块`
- 每个节点`必须存储所有区块[但有新的设计可让节点仅存储部分区块]`
- 每一个节点都可以`协助验证区块的有效性`
- 任何一笔资料被篡改`都将破坏区块的完整性`
- 任何一笔资料被篡改的几率`微乎及微`
- 区块链的写作包含两种物件类型`[交易]与[区块]`
- 解说情景:`数字货币`
- 交易物件就是`转账过程的完整内容`
- [区块物件]包含`一系列交易的集合`
- [区块]之间[连接起来]就是一本`账簿[Ledger]`
- 基本原理就是让`所有人共同维护一个账簿[Ledger]`
- 这份共同维护的账簿`必须由大伙共同认证[每个区块都必须有超过50%的节点认证过]`

## 什么是TrueChain初链?

TrueChain是使用区块链为基础技术,在以太坊的基础上,开发团队臆在打造一条实现快速,无中断,安全可拓展的基础公链,使用PBFT-fPoW混合共识无权区块链。

## 免费使用

TrueChain承诺:无论是现在的测试网还是未来上线的主网,初链将一直保持向所有用户免费开放的准则。初链始终认为,无需许可链是面向所有用户的基础设施,而非牟利工具。为每位用户提供更贴合需求、使用便捷、低成本的无需许可链开发工具不只能为未来初链寻找合适盈利来源开拓空间,更有助于整个无需许可链开发乃至区块链行业的长足发展。(来源:[TrueChain白皮书](https://www.truechain.pro/whitepaper-zh.pdf))

## 技术

### 初链的技术架构:

- 底层服务:包含P2P 网络、LevelDB 数据库、密码学算法、分片优化;
- 核心层: 包含区块链模块、TRUE 模块、共识算法模块;
- API 接口层,包括 TVM 虚拟机、gRPC 通讯协议;
- 智能合约层。

![在这里插入图片描述](https://img-blog.csdn.net/20181011161034203?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d0ZGFzaw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

### 科普

#### PBFT:
拜占庭容错,能够容纳将近1/3的错误节点误差。
其思想渊源来自拜占庭将军问题,是一种解决分布式系统容错问题的通用方案。PBFT算法的核心理论是n>=3f+1,n是系统中的总节点数,f是允许出现故障的节点数。换句话说,如果这个系统允许出现f个故障,那么这个系统必须包括n个节点,才能解决故障。

#### PoW:
Prove Of Work,简单理解就是一份证明,用来确认你做过一定量的工作。

#### 混合共识机制:
为实现安全性与性能之间的平衡,采用的一种协调方法,PoW 与 PBFT 相结合的混合公式机制。保留 PBFT 快速高效达成共识的特性的同时,将 PBFT 节点的选举、监督权交给 PoW 节点,同时快速的验证 PBFT 给出的交易记录集合,从而保证了整个网络的安全性。PBFT 的通信复杂度决定了参与决策的节点只能保持在极有限的范围内。而利用 PoW 可以接纳无限节点的特性与之结合可以弥补这一弱势。

#### fPoW:
初链将Fruitchain技术整合到原来混合共识底层的PoW技术,由原来的PoW变成了fPoW。在区块链原本使用的PoW技术中,会出现下列几个问题:

1. 联合挖矿(矿池):个人挖矿难道高,大家各自奉献一部分计算能力挖矿,挖到后根据贡献比例均分报酬,---影响公平
2. 自私挖矿者攻击(Selfish Mining Attack - 即25%攻击):所谓的“区块链”,不但要有“区块”,还要有链,也就是不但要”挖矿“,还要”接矿“。系统就会自动选择相信较长的矿链。当坏人挖到矿,故意不把矿接到原来的矿链上,而是通过这个矿,继续往下挖,试图挖到更长的链。诚实的挖矿者,挖到矿接到原本的矿链上,此时坏人将较长的矿链接到原本的框链上去,使诚实的挖框者努力白费。
3. 交易费不稳定:矿共会先将高的交易费的资料收入block中,但是每笔交易的交易费用都不一样,一致交易费不稳定。

那么fPoW如何解决上面的问题呢?
1.能抵制联合挖矿
水果(Fruits)比区块(Blocks)挖矿难度低, 普通挖矿,个人平均两年才能挖到一个矿,但水果却一天可以挖到两个,这样矿工形成的矿池的动力就变小了,从而抵制了联合挖矿,使得PoW更加公平。
2.能抵制自私挖矿
水果在被写入区块前都不稳定,而且存在一定的保质期,算法规定包含最多水果的块为主链,所以矿工挖矿需要尽快将水果收到区块里,而不能默不作声地等着浪费别人的算力,从而抵制了自私挖矿; 而矿工将水果收入会先得到挖矿奖励,再将一定奖励分发给包涵进区块的水果。
3.乱序挖矿:fPoW协议使得水果的挖矿顺序可以为任意顺序,即可以并行挖矿,在Sharding中非常有用。

#### 分片优化:
初链思想是将区块链世界观分割成不同的“片”,在每个不同的“片”区域内,都有不同的PBFT委员会处理,把串行处理变成并行处理,从而实现性能的大幅度的提升。

## 初链社区自治共建共有经济体
ps:首先名字看起来非常霸气,哈哈
建立在互相协作互相制约基础上的社区自治架构。

### 拜占庭委员会负责日常管理运营

#### 开发者委员会
负责全球开发者招募,TRUE 技术路线演进研发,评审代码质量,并基于
每位开发者的贡献度进行激励等;
#### 市场媒体委员会
负责制定 True媒体宣传战略,并且招募全球各地媒体加入对 True 进行宣传,并制定相关激励政策对贡献媒体进行激励;
#### Token 社区委员会
负责制定社区扩展及维护战略,并制定相关激励方案为社区做出贡献的 True 用户。

### DAO 委员会负责监督:
去中心化组织,代表最广泛的社区持币者的利益。该组织行使选举权、监督权、重大提案表决权,所有持币用户自动成为 DAO 委员会成员。

[GitHub开源地址](https://github.com/truechain)