转:Tendermint 简介
Tendermint 是分布式一致性软件。即使有1/3的机器叛变了, 也能保证其余机器上的数据一致。容忍机器以任意方式失败的能力, 包括变得恶意, 被称为拜占庭容错(BFT)。该理论被提出来数十年了,由于bitcoin和ethereum”区块链技术”的成功,才变得流行起来。区块链用点对点和加密认证技术组成了一个现代化BFT实例。Tendermint包含了两个主要的组件:区块链共识引擎和通用应用层接口。共识引擎叫Tendermint Core,确保每一台机器上的交易列表相同。应用层接口名字是ABCI,提供能为任何语言处理交易的接口。与其他区块链的解决方案(内置的状态机预先打包块)不同,如ethereum的基于世界状态树的键值对存储、bitcoin的脚本语言处理。开发人员可以在任何开发环境下用任何语言通过实现ABCI应用层来复制Tendermint状态机。
共识算法
Tendermint 是一个易于理解的,大部分模块采用异步通信的,拜占庭容错共识协议。该协议可用一个简单的状态机表示,如下图:
协议参加者称为验证节点;他们轮流打包出块并集体对该块打包。在每一个高度上只允许一个块commit。在一个块无法在该轮被提交的情况下,协议会移动到下一轮,并且新的验证节点会propose一个该高度的块。需要两轮投票才能commit一个块;这两轮投票我们称为“pre-vote“ 和 “pre-commit“。在每一轮投票中需要超过2/3的验证节点对同一个块pre-commit才能最后的块commit。
验
转:Tendermint 简介相关推荐
- tendermint+java_tendermint简介
1.1 tendermint简介 tendermint是一个开源的完整的区块链实现,可以用于公链或联盟链,其官方定位 是面向开发者的区块链共识引擎: 与其他区块链平台例如以太坊或者EOS相比,tend ...
- USDT PHP开发包OmniTool简介
2019独角兽企业重金招聘Python工程师标准>>> OmniTool开发包适用于为PHP应用快速增加对Omni Layer/USDT数字资产的支持能力,即支持使用自有Omni L ...
- etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...
- Docker学习(一)-----Docker简介与安装
一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...
- 【Spring】框架简介
[Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...
- TensorRT简介
TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...
- 谷粒商城学习笔记——第一期:项目简介
一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...
- 通俗易懂的Go协程的引入及GMP模型简介
本文根据Golang深入理解GPM模型加之自己的理解整理而来 Go协程的引入及GMP模型 一.协程的由来 1. 单进程操作系统 2. 多线程/多进程操作系统 3. 引入协程 二.golang对协程的处 ...
- Linux 交叉编译简介
Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...
- TVM Operator Inventory (TOPI)简介
TOPI简介 这是 TVM Operator Inventory (TOPI) 的介绍.TOPI 提供了比 TVM 具有更高抽象的 numpy 风格的,通用操作和调度.TOPI 如何在 TVM 中,编 ...
最新文章
- python 双边滤波与高斯滤波
- 数据挖掘十大经典算法之——PageRank 算法
- P2324 骑士精神
- hdu 1086 A - You can Solve a Geometry Problem too (线段的规范相交非规范相交)
- php拼接多个insert,php – 将多个INSERTS分成一个表和多个表
- java 访问路径_java获取项目访问路径的相关方法
- commons-lang3-RandomUtils
- Nginx+FastCGI支持HTTPS部署过程详述
- hive之分区表详解
- 以下不是python内置函数的是_为什么说python内置函数并不是万能的?
- 使用Maven前夕(Maven项目架构管理工具、配置环境变量、阿里云镜像、本地仓库)
- 20160319中艺收盘总结
- apache POI技术的使用
- Cisco路由器上传和下载IOS
- .9图片处理报错Error: java.lang.RuntimeException: Crunching Cruncher ic_coupon2.9.png failed, see logs
- 计算机找不到WPS云盘,wps网盘在哪里打开及如何应用?
- 嵌入式开发<网络调试工具>
- IOS目标检测(翻译)
- Mysql多表查询,获取部门最高工资的sql语句方案
- 内存对齐规则及为什么内存对齐