链客,专为开发者而生,有问必答!node
此文章来自链客区块链技术问答社区,未经容许拒绝转载。windows
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接口。spa
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 网络转帐等基本功能的。
带宽资源是能够随着时间的推移,自动释放。