当前位置: 首页 > news >正文

EOS是什么

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!!

EOS是什么
EOS是Enterprise Operation System的缩写,它是商用分布式应用设计的一款区块链操作系统。EOS是引入的一种新的区块链架构EOSIO,用于实现分布式应用的性能扩展。EOS并不像比特币和以太坊那样是货币,而是基于EOSIO软件项目之上发布的代币,被称为区块链3.0。

EOS的主要特点
EOS有点类似于微软的windows平台,通过创建一个对开发者友好的区块链底层平台,支持多个应用同时运行,为开发dAPP提供底层的模板。
EOS通过并行链和DPOS的方式解决了延迟和数据吞吐量的难题,EOS是每秒可以上千级别的处理量,而比特币每秒7笔左右,以太坊是每秒30-40笔。
EOS没有手续费,在EOS上开发dApp,需要用到的网络和计算资源是按照开发者拥有的EOS的比例分配的。当你拥有了EOS的话,就相当于拥有了计算机资源,随着DAPP的开发,你可以将手里的EOS租赁给别人使用。简单来说,就是你拥有了EOS,就相当于拥有了一套房租给别人收房租,或者说拥有了一块地租给别人建房。
EOSIO主要的程序
nodeos(node + eos = nodeos):可以使用插件配置以运行节点的核心EOSIO节点守护进程。可以生成区块、节点验证、RPC API接口。
cleos (cli + eos = cleos):是一个命令行工具,可以与nodeos公开的REST API进行交互并管理钱包。
keosd (key + eos = keosd):是一个轻客户端钱包,负责管理钱包,以便在广播到网络之前保护密钥和签署交易,在本地计算机上运行并安全地将EOSIO密钥存储在钱包的组件中。
Eoscpp:是一个编译器,将C++代码编译为WASM和ABI。它生成.wasm、.abi的文件并上传到区块链。
下图说明了这些组件之间的基本关系。

EOS的账户体系
EOS的账户体系是EOS中的亮点特性之一,实现了基于角色的权限管理和账户恢复功能,使得用户可以灵活地以一种组织化的方式管理账户,并极大程度上保证了资产的安全性。

EOS账户的特点:

EOS中的账户名是12位可读标识符,由用户自定义,在区块链中唯一。它是转账时的标识,而其它区块链账的标识一般是地址。
EOS的一个账户下面可以包含多对公私钥,每对拥有不同的权限,而常见区块链项目的账户只有一对公私钥。
EOS中每个账户刚创建时一般由个体拥有,通过单一公私钥便能进行所有操作,后续可根据需要通过权限配置将该账户扩展成组织账户,由多对公私钥,即多个主体所共同控制,甚至可为组织外部个体或组织分配部分操作权限,从而实现极其灵活的组织管理方式。
EOS上的所有交易行为都是通过账户来完成的,通过账户执行任意操作时,EOSIO首先会验证操作者是否拥有足够的权限,验证通过该操作才能生效。
EOS账号的权限
EOS中,每个账户创建时会自带两个原生权限:owner和active权限。这也是默认的账户权限配置,另外还支持自定义权限。

owner权限:代表账户所有权,该权限可进行所有操作,包括更改owner权限,可由一对或多对EOS公私钥或另一账户的某权限实现权限控制。因此,代表着owner权限的EOS公私钥是最重要的,必须安全保管好。
active权限:active即活跃权限,能进行除更改owner权限以外的所有操作,比如说转账、投票、购买ram等等。也是通过一对或多对EOS公私钥或另一账户的某权限实现权限控制。
自定义权限:除了两个原生权限以外,EOS还支持自定义权限。我们可以将active的部分权限,比如说投票权,任命给一个自定义权限voting。那么无须owner、active权限所对应的私钥对投票操作进行签名,单单通过voting权限所对应的私钥对投票操作进行签名便可完成投票操作。
因此通过权限配置可以将EOS账户的部分操作权限分配给第三方进行,避免了直接给出active权限的私钥,从而实现极其灵活和安全的组织管理方式。

权重和阈值
每个权限都会有一个阀值,初始时为1。权限下的每对公私钥都会有一个权重,初始时每个权限只有一对公私钥且权重为1。后续账户可以修改权限的阀值,可以对每个主体(即每对EOS公私钥或账号)分配不同的权重,还可以修改权限由多个主体管理。只有当公私钥的权重大于等于阀值才能拥有该权限进行相应操作。

常见区块链项目的币就放在公钥里,只有一对公私钥,因此知道私钥便可转走,而EOS中币是放在账户里的,公钥里面放的是带权重的钥匙,转走账户里面的币需要拥有转账权限的钥匙的权重之和达到阈值才可进行。

创建账号与转账的费用
EOS主网中,账号的创建需要保存在EOS主网中,需要占用区块链生产节点的内存资源,一般为4K大小。而内存资源是有限的宝贵资源,因此创建账号是要成本的,一般需要花费6美元。而内存价格和EOS价格是随市场变动的,因此EOS主网账户注册价格也是变动的。因此每创建一个EOS新账号都需要其他EOS账号消耗一定量的EOS来帮忙创建,最初始的EOS账号由EOS主网在映射阶段创建完成。

而账户进行转账等操作时,是没有手续费的,但是需要用到EOS主网的CPU和带宽资源。CPU就像会计的算账能力,带宽则可理解成转账的通道,这个需要通过EOS抵押才能换取,但是不会产生消耗,不用了可以赎回。

EOS的资源利用机制
我们知道,比特币和以太坊中的交易手续费机制,其目的就是防止大量交易使系统拥堵。而EOS取消了交易手续费,那么如何避免系统资源的滥用?因而EOS设计了一种新的资源使用机制:根据账户中EOS的数量来分配系统资源,包括:RAM(内存), Network BandWidth (网络带宽) 以及 CPU BandWidth (CPU 带宽)。这些资源需要购买吗?如何交易?接着往下看。

RAM(内存):
在 EOS 中, RAM(内存)的主要特点包括:

要将数据存储在区块链中需要消耗RAM,比如在 EOS 中转账、购买资源、投票等操作的时候,都有可能会消耗 RAM (内存)。
如果你的 RAM 消耗殆尽,那么你是无法进行上述这些需要消耗RAM的操作的,所以我们需要有足够的RAM。
通过购买获得的 EOS RAM 资源可以买卖,买卖的价格根据市场行情动态调节,这个特点与买卖EOS一样。
RAM可以通过EOS购买的方式获得也可以通过好友帮你购买,这个特点和通过抵押方式获取 CPU 资源以及 NET 资源不太一样。
用户在买卖 RAM 资源的时候,各需要消耗 0.5 % (千分之五) 的手续费,总共是 1% 的手续费。这笔费用被存在 eosio.ramfee 中,由 BP 节点进行管理。
内存是消耗资源,不可赎回,只能买卖。
CPU带宽与网络带宽
在EOS中,CPU带宽与网络带宽的特性差不多,它们的主要特点包括:

它们采用抵押EOS的方式获取。当不再需要CPU与带宽时,抵押的EOS通证可以赎回,在赎回的时候,存在三天的赎回期。
如果你持有全网1%的EOS,那就可以抵押这些EOS来获得全网1%的CPU和带宽。这样就可以隔离开所有的DAPP,防止资源竞争和恶意的DDOS供给,无论其他的DAPP如何拥堵, 你自己的带宽都不受影响。
每次使用转账功能时,都会消耗网络带宽资源。
网络带宽取决于过去三天消费的平均值,作为你下一次执行操作的费率。
如果没有足够的网络带宽资源的话,你是无法使用 EOS 网络转账等基本功能的。
带宽资源是可以随着时间的推移,自动释放。

相关文章:

  • 互联网大厂Java面试题:使用无界队列的线程池会导致内存飙升吗?
  • App Store 隐私政策网址(URL)
  • 企业级java springboot b2bc商城系统开源源码二次开发(十六)用restTemplate消费服务...
  • GraphQL 官方自述文档(翻译)
  • 网页视频流m3u8/ts视频下载
  • OS开发基础——多线程的简单应用
  • 阿里云ACE认证学习知识点梳理
  • 二、flask配置与应用-flask
  • Linux下的计算器(bc、expr、dc、echo、awk)知多少?
  • CH2601 电路维修(双端队列bfs)建图恶心
  • 新书推荐|Windows黑客编程技术详解
  • 大主子表关联的性能优化方法
  • 5G一周热闻:华为夺联通5G大单,首张5G电话卡发放
  • einx 1.0 发布,golang 游戏服务器框架
  • “迁移策略+新容器运行时”应对有状态应用的冷热迁移挑战
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • Date型的使用
  • Druid 在有赞的实践
  • Java基本数据类型之Number
  • Material Design
  • mongo索引构建
  • Python 基础起步 (十) 什么叫函数?
  • Solarized Scheme
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Terraform入门 - 1. 安装Terraform
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Vultr 教程目录
  • Web标准制定过程
  • 分布式事物理论与实践
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 前端存储 - localStorage
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 深度解析利用ES6进行Promise封装总结
  • 思否第一天
  • 我感觉这是史上最牛的防sql注入方法类
  • 优秀架构师必须掌握的架构思维
  • 正则学习笔记
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #《AI中文版》V3 第 1 章 概述
  • #etcd#安装时出错
  • $GOPATH/go.mod exists but should not goland
  • ()、[]、{}、(())、[[]]命令替换
  • (30)数组元素和与数字和的绝对差
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (done) 两个矩阵 “相似” 是什么意思?
  • (二)springcloud实战之config配置中心
  • (分布式缓存)Redis哨兵
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)JAVA中的堆栈
  • (转)用.Net的File控件上传文件的解决方案
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复