EOS 开发进展速报
Daniel Larimer 刚刚披露了 EOS 的最近开发进展,原文 :https://steemit.com/eos/@dan/ukoxz-eos-io-development-update
为了开发进度,EOS 团队正在夜以继日地工作,很多之前提到的特性已经在 Github 的代码里实现了。
EOSIO BIOS
对于计算机来说,BIOS (Basic Input/Output System, 基本输入输出系统) 是系统计算机启动后首先运行的软件,再通过 BIOS 加载操作系统。参考计算机 BIOS 的设计, EOS 启动时会首先进入一个初始状态:
单一账户 (@eosio.system)
单一私钥
单一见证人
eosio.system 账号类似于 Linux 中的 root 账号,拥有最高权限,之后会让位给更高等级的操作系统智能合约。eosio.system 账号会上传操作系统智能合约,操作系统智能合约实现了以下内容:
投票、网络带宽、CPU 带宽、内存、存储权益。
见证人和投票代理人的生成。
这种初始状态类似胚胎干细胞,可以在不硬分叉的情况下修改系统。使得 EOS 的核心更加简洁,更容易进行测试。
动态调整见证人数量
之前见证人的数量在代码里被“写死”为 21 个,现在可以通过更新 @eosio.system 合约来修改见证人数量,不过默认还是 21 个。
这样可以方便 EOS 开发者进行本地测试,不需要在本地运行 21 个 eosiod 了。甚至可以只用一个见证人进行测试。
CPU 使用计量
为了激励开发者精简智能合约,节约 CPU 消耗,EOS 系统通过计算 WASM 指令计算智能合约的执行时间,并对智能合约的 CPU 使用进行限制。
见证人会对各个智能合约的 CPU 配额进行动态调整,当系统空闲时,智能合约可以临时使用更多的 CPU 资源。
为了防止计量算法被针对,见证人会在客观 CPU 资源限制的基础上增加人为的主观限制。
CPU 带宽与网络带宽分离
之前的更新中,将内存、储存、带宽权益进行了分离,但带宽包括了 CPU 带宽和网络带宽,有些应用可能只需要大量的网络带宽,不需要很多 CPU 带宽资源,也有很多应用正好相反,所以将 CPU 和网络带宽一起授权有时就不太合适。
对于普通用户来说,CPU 和网络带宽仍然是打包在一起的,高级用户可以分离两者,使得成本上更有灵活性。
交易压缩
由于加入了 C++ STL 库的支持,智能合约传输的数据量有时会增加至
200kB,所以 EOS 增加了对 zlib 压缩的支持,使得智能合约传输的数据量能减少 60% 甚至更多。
网络更新
P2P 网络团队一直致力于改进网络的性能和稳定性,这周又有了很大进展:
精简区块 —— 每个被广播的区块只含有交易 ID,而不需将每个交易内容再次广播,这样能节约接近 50% 的网络带宽。
长消息支持 —— 发送长消息(例如 50kB 的智能合约)需要使用特殊的网络协议。
评论
目前的进度还是比较理想的,之前有人认为多线程的推迟是一个利空,但多线程对于技术实现来说是一个不稳定因素,急于上线肯定会导致不可预料的后果。更何况单线程性能已经足够强大了。
另外,可以通过最近的更新感觉到,EOS 团队对于区块链本身的功能有了新的理解,区块链不再是传输数据的唯一渠道,EOS 应该会将 0.5s 每个的 cycle 作为网络数据传输的主力,而 3s 每个的区块仅作为简报与日志的用途,使得区块链回归了不可篡改数据库的初心,也使得 EOS 的交易确认速度达到了惊人的 1 秒级,以后的文章会详细分析。
圆方圆区块链汇集大批区块链名师,采取导师值班制,为学员实时解决技术疑难。请关注圆方圆区块链知识星球与导师。(培训咨询请联系船长13826054890微信手机同号)
作者小笛 ,专注于 EOS 技术研究与区块链智能合约开发.是圆方圆区块链的导师,更多小笛老师的文章和视频请关注圆方圆链圈公众号。

EOS 开发进展速报的更多相关文章
- 支持Touch ID!EOS 项目进展速报
Daniel Larimer 周六在 Steemit 上向大家介绍了 EOS 项目的最新进展,惊喜不少. 原文链接 : https://steemit.com/eosio/@dan/eos-io-de ...
- EOS -- 一种灵巧的系统运行跟踪模块
EOS到底是什么词的缩写,我猜应该是Error of System.最早接触它,是在UT那会.不过那会它是被设计成一个很大的数组,也没有被包含调用函数和行号,又或是时间,只是些计数.编码时,加减一个E ...
- eos超时 锁表问题 网友办法
select * from v$locked_object; SELECT sid, serial#, username, osuser FROM v$session where sid = 45; ...
- EOS/普元:概述:中国IT业的悲哀
公司引入了普元的EOS作为公司的基础架构平台,今后的所有项目将逐步向EOS的迁移,但对EOS的研究又让我不得不说出以下话: 1.EOS确实够简单,但未免简单过了头:从语言层面看EOS 因为EOS将成为 ...
- Eos持久化实体
持久化实体 2009-11-30 20:53:38| 分类: 记事本_学习笔记 | 标签: |举报 |字号大中小 订阅 在EOS的实体定义中,如果使用了关联实体方式,主实体的外键属性是不存 ...
- EOS数据源的配置
EOS产品默认安装完成后的数据源为default,由于业务需要,会配置多数据源,这就有了以下的随笔: 1.在governor里面新增数据源 2.逻辑流中,数据源默认为default,根据需要改为自己新 ...
- 听说你买了 EOS ,连代码什么样都不知道?
最近发现很多人投资了 EOS,却并不关心 EOS 目前的开发进度和技术细节,如果你投资了 EOS, 还有一定的技术基础,那就更应该关心 EOS 的开发情况了,下面我们就从 EOS 的源代码说起: ...
- EOS 上线前,先搞懂这两个基本概念
如果你曾经尝试在本地运行 EOS 测试节点,会发现编译.运行并不是特别复杂,但官方教程里两个概念很容易把人搞晕: Account(账户)和 Wallet (钱包). EOS 的 Wallet 跟其他区 ...
- EOS 的世界里可能再也没有小偷了
EOS 针对以下两种情况设计了应急措施: 1. 账户被盗(私钥被盗或有权限的其他账户被盗) 2. 账户遗失(私钥遗失或有权限的其他账户遗失) ## 1.账户被盗 EOS 有可能会强制要求所有账户的 O ...
随机推荐
- SpringBoot+Mybatis+PageHelper简化分页实现
前言 经过一段时间的测试和修改PageHelper插件逐渐走到了让我觉得靠谱的时候,它功能的就是简化分页的实现,让分页不需要麻烦的多写很多重复的代码. 已经加入我的github模版中:https:// ...
- byte[] Base64 Stream 之间相互转换
图片 base64转byte[] /// <summary> /// 保存base64图片,返回阿里云地址 /// </summary> /// <param name= ...
- 一句Python,一句R︱numpy、array——高级matrix
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. python中的numpy模块相当于R中的matirx矩 ...
- mysql常用基础操作语法(一)~~对库的操作【命令行模式】
1.创建数据库:create Database databaseName;例如需要创建mysqlTest数据库,create Database mysqlTest; 由此还可以看出,这里的名称是不分大 ...
- BT656跟BT1120和BT709有什么区别
601是SDTV的数据结构 656是SDTV的interface709是HDTV的数据结构 1120是HDTV的interface从数据结构上 都是Y Cb Cr只是SDTV用4:2:2 HDTV ...
- 【linux】linux下vi命令的使用
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- Activiti 实战篇 小试牛刀
原文地址:http://blog.csdn.net/qq_30739519/article/details/51166062 1:工作流的概念 说明: 1) 假设:这两张图就是华谊兄弟的请假流程图 ...
- dojo表格分页插件报错
dojo表格分页插件报错 (1)dojo/parser::parse() error ReferenceError {stack:(...),message:"layout is not d ...
- freemarker自定义标签报错(六)
freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Encountered "\"\u4f60\u597d\uff01\& ...
- DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具
使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...