支持Touch ID!EOS 项目进展速报
Daniel Larimer 周六在 Steemit 上向大家介绍了 EOS 项目的最新进展,惊喜不少。
原文链接 : https://steemit.com/eosio/@dan/eos-io-development-update
之承诺过的三个特性已经基本开发完成:
1. 支持 Apple Touch ID / Secure Enclave
2. 延时交易的错误处理机制
3. 并行执行
目前这几个新特性的代码在 eos-noon 分支,感兴趣的可以直接研究了,目前来看,Dawn(黎明)的下一个版本名可能就是 Noon(正午)。 下面是具体细节:
## 延时交易
延时交易特性可以帮助智能合约开发者建立未来某时刻需要进行的交易,这种机制可以降低数据库锁定的数目,节约系统资源,本特性已经开发完成,将会在 2018 年一季度末与 Dawn 3.0 版本一同并入主分支。
## 延时授权
延时授权机制允许用户对自己账户的特定行为进行强制延时,比如设置转账 24 小时后才能执行。用户可以在执行前取消转账。配合下一节的 被盗账号恢复 机制,可以为用户争取宝贵的时间来恢复对自己账户的控制权。
## 被盗账户恢复 & 遗忘密码恢复
EOS 系统建立了一个有些复杂的账户权限机制: 每个 EOS 账户有三个权限: owner(最高权限)、active(行为权限)、recovery(恢复权限),前两个可以只是两个私钥,被用户自己管理,而恢复权限被直接授予了其他N个用户(用户的亲朋好友)。注意其他 N 个账户也是同样的结构。 EOS 系统规定,如果要执行 owner(最高权限),需要所有 recovery(亲朋好友)的 active(行为权限)进行签名。 这样就形成了一个巨大的连锁反应网。最后的结果是,黑客若想盗取一个账户,需要盗取几乎全网所有 EOS 账户。
另外,如果你的账户长达30天没有任何操作,你的亲朋好友就可以发起账户密码恢复,拿回被你忘掉的密钥。
(这部分实际比上面说的复杂很多,以后的文章会仔细分析一下。)
## 资源分配算法更新
过去的两个月,开发团队已经重新修订了资源使用限制的算法,包括带宽、算力、选举和存储:
### 分离授权
EOS 建立了分离授权机制,用户可以吧 带宽、算力、内存等权益分开授权给不同的账户,这样可以更好地平衡每种权益的供求关系,也能减少资源浪费。
### 带宽授权
用户授权自己带宽的方式很简单,直接向需要带宽权益的账户转账代币就行了,3天后代币可以随时拿回,拿回后对方账户的带宽权益就会慢慢衰退了。(我理解的没错吧?)
### 选举
如果用户想参选见证人(出块者),需要将一定数量的 EOS 代币转到一个智能合约,并会在未来的 6 个月逐渐得到退款,这样可以使候选人的利益与平台绑定在一起(至少这 6 个月内)。
### 内存
内存是非常宝贵的资源, EOS 建立了动态管理内存价格的制度,短时间大量向系统索要内存会需要大量的代币授权,这样防止了系统突然出现内存吃紧的情况。
### 内存付费
智能合约开发者可以选择自己对占用的系统内存付费,也可以要求智能合约的用户对系统内存付费,这样给了开发者极大的灵活性。这项特性预计与 Dawn 3.0 一同发布。
## 隐式交易锁定
目前的 EOS Dawn 2.0 版本中,每一笔交易都要指定 “scopes”(指定每个账户对此笔交易有什么权限)。目前 “read/write scopes” 已经被替换为 “read/write locks”,并且由出块者决定每笔交易的 locks,减少了智能合约开发者的工作量。目前此项特性已经在 eos-noon 分支实现。
## 核心功能动态更新
为了避免核心功能升级/Bug 修复时带来的硬分叉,EOS 开发团队决定将数项核心模块从 navite C++ 转移至 WebAssembly 智能合约上,包括:
- 核心代币 (例如 EOS 代币本身)
- 带宽、内存、选举的授权
- 出块者(见证人)选举
- 多签名合约
- 社区利益合约 / Worker Proposal allocation
只有以下模块不会转移:
- 账户创建
- 带宽 / 内存 使用的计量
- 权限更新
这样,EOS 系统的核心模块就和其他 EOS 智能合约一样用上了 WebAssembly 技术,EOS 开发团队也成了自己的用户。(就像 ios 的短信功能也是 ios 的一个 APP)
## 新的代币协议
为了能使智能合约之间互相操作,EOS 准备建立类似 以太坊 ERC-20 的新型代币协议。与 ERC-20 相比优势在于:
- 交易可能会需要 memo
- 交易双方可以执行代码,或拒绝交易
- EOS 权限系统独有的优势
- 多种代币都使用同一套代码
- 单一智能合约可以建立、管理多种代币
EOS 正在开发一个 C++ 库,可以非常方便地发行代币。(现在看基本就是一键发行了)
## 稳定性
6月的正式版本中,稳定性会比性能更加重要。有了块内通信机制,EOS 未来的规模会是无限的,第二季末,EOS团队会对块内通信机制进行发布。
## 拜占庭故障容错 (BFT) DPoS
出现 拜占庭故障 时,社区会通过宪法冻结相应出块者的账户。
## 落选出块者(见证人)补偿
不论候选人是否当选出块者,只要得到了一定的选票就会得到一定补偿。
另外,不活跃账户的选票会被降级,活跃账户的选票权重更大。
## 招人
EOS 团队新招了 8 位同事,并且需要更多开发者。
## 结论
EOS 目前的开发进度比较乐观,6月份上线时会有更多之前没提到的功能。
圆方圆区块链汇集大批区块链名师,采取导师值班制,为学员实时解决技术疑难。请关注圆方圆区块链知识星球与导师。(培训咨询请联系船长13826054890微信手机同号)
作者小笛 ,专注于 EOS 技术研究与区块链智能合约开发.是圆方圆区块链的导师,更多小笛老师的文章和视频请关注圆方圆链圈公众号。

支持Touch ID!EOS 项目进展速报的更多相关文章
- iOS 8 中如何集成 Touch ID 功能
2013年9月,苹果为当时发布的最新iPhone产品配备了一系列硬件升级方案.在iPhone 5s当中,最具创新特性的机制无疑要数围绕Home按钮设计的超薄金属圈,也就是被称为Touch ID的指纹传 ...
- 保护 iOS 用户数据安全: Keychain 和 Touch ID
原文:How To Secure iOS User Data: The Keychain and Touch ID 作者:Tim Mitra 译者:kmyhy 更新说明:本教程由 Tim Mitra ...
- Touch ID使用
前言:如果图片看不了请移步:简书 Touch ID简介 Touch ID指纹识别作为iPhone 5s上的"杀手级"功能早已为人们所熟知,目前搭载的设备有iphone SE.iPh ...
- IOS 8 关于 Touch ID
一.什么是Touch ID? Touch ID是在iPhone 5s后的设备上出现的指纹识别.Apple在IOS 8中开放给第三方APP使用. 可以使用 Touch ID 来验证用户的身份,用户经验证 ...
- Touch ID指纹解锁使用
Touch ID是iPhone5S后加入的一项新的功能,也就是大家熟知的指纹识别技术.大家用得最多的可能是手机的解屏操作,不用在和以前一样输入手机的四位数密码进行验证.一方面不用担心密码被别人看到,另 ...
- Apple本地认证(密码+Touch id)
转载请注明原文链接:http://www.cnblogs.com/zhanggui/p/6839554.html 前言 本片博客主要介绍如何在自己的APP中添加指纹解锁/密码解锁技术.主要是对苹果的L ...
- iOS 8使用Touch ID进行身份认证
iOS 8的SDK开放了Touch ID的接口.从WWDC的视频中能够看到Touch ID应用在两个方面:用于Key Chain加密和用于授权.iOS 8正式版公布以后我们能够看到Evernote的i ...
- iOS Touch Id 开发
Touch Id Touch Id是iPhone5S后加入的一项新的功能,也就是大家熟知的指纹识别技术.大家用得最多的可能是手机的解屏操作,不用在和以前一样输入手机的四位数密码进行验证.一方面不用担心 ...
- iOS开发——Touch ID 指纹识别
项目中为了安全性,一般使用密码或iPhone手机的指纹识别Touch ID. 第一步,判断系统是否支持,iOS8.0及以上才支持. 第二步,判断手机是否支持,带Touch ID的手机iPhone5s及 ...
随机推荐
- 在SpringBoot中存放session到Redis
前言 今天你们将再一次领略到SpringBoot的开发到底有多快,以及SpringBoot的思想(默认配置) 我们将使用redis存放用户的session,用户session存放策略有很多,有存放到内 ...
- Redis--配置密码
可以通过以下方法进行密码的配置: ① 修改配置文件设置密码 ② 通过命令修改密码(重启redis后,新设置的密码会失效) 此处介绍第一种 1. 找到redis的配置文件,一般在/etc/redis.c ...
- JVM笔记1-内存溢出分析问题与解决
假设我们项目中JVM内存溢出了,大项目中上百万行代码,是很难定位的.因此我们需要借用一个Memory Analyzer工具, 官网地址为:http://www.eclipse.org/download ...
- Py4j-RPC
python 使用灵活.方便在科研中被广泛的使用,Numpy和SciPy等科学计算库使其拥有强大的计算方式.很多机器学习和深度学习的库也都采用了python,然而在大数据.后台开发中仍然较多的使用Ja ...
- 2.5 非透明PCI桥
PCI桥规范定义了透明桥的实现规则,本篇在第2.3.1节中详细介绍了这种桥片.通过透明桥,处理器系统可以以HOST主桥为根节点,建立一颗PCI总线树,在这个树上的PCI设备共享同一个PCI总线域上的地 ...
- 【php】PHP环境整合
很久没装环境, 今天重新装了一次.遇到不少问题.记录下方便以后查看 修改apache的配置文件httpd.conf #apache 解析phpLoadFile "C:/phpeve/php5 ...
- Struts 有哪些常用标签库
Struts 有哪些常用标签库 1.html标签库 2.bean标签库 3.logic标签库
- Linux显示cat帮助信息并退出
Linux显示cat帮助信息并退出 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ cat --help 用法:cat [选项]... [文件]... 将[文件 ...
- 物联网框架ServerSuperIO在.NetCore实现跨平台的实践路线
正所谓天下大势,不跟风不行.你不跨平台,很low嘛.java说:你们能跨嘛,跨给我看看.C#说:不要强人所难嘛.java说:能部署在云上吗?docker?微服务?C#说:不要强人所难嘛.java说:你 ...
- JS对select动态添加options操作(主流浏览器兼容)
之前项目中,遇到一个表单提交的页面,里面有多级下拉框联动的复杂逻辑,因此当时在做的过程中也是学到了不少容易出现问题的地方,下面就整理下当时遇到的一些关于下拉框的操作,并指出其中的一些注意点和坑: 有如 ...