支持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月份上线时会有更多之前没提到的功能。

原文地址:http://blog.51cto.com/13625500/2087809

时间: 2024-08-09 12:16:17

支持Touch ID!EOS 项目进展速报的相关文章

iOS 8 中如何集成 Touch ID 功能

2013年9月,苹果为当时发布的最新iPhone产品配备了一系列硬件升级方案.在iPhone 5s当中,最具创新特性的机制无疑要数围绕Home按钮设计的超薄金属圈,也就是被称为Touch ID的指纹传感器.开发人员随后开始纷纷将其API作为突破口,希望能在自己的应用程序中引入这一最新功能.如今一年已经过去,iOS 8提供的新型框架则让开发者能够更加得心应手地使用这套指纹传感装置. 这套Local Authentication框架能够轻松实现用户身份验证,大家可以利用它来完成应用程序的登录机制或者

iOS 8使用Touch ID进行用户认证

iOS 8的SDK开放了Touch ID的接口.从WWDC的视频中可以看到Touch ID应用在两个方面:用于Key Chain加密和用于授权.iOS 8正式版发布以后我们可以看到Evernote的iOS app已经集成了该功能.下面来看看如何实现使用Touch ID进行身份认证. 其实很简单,用于身份认证的所有的接口都在LocalAuthentication framework中, 该framework实际上只有三个头文件: LAContext.h LAError.h LAPublicDefi

Touch ID指纹解锁使用

Touch ID是iPhone5S后加入的一项新的功能,也就是大家熟知的指纹识别技术.大家用得最多的可能是手机的解屏操作,不用在和以前一样输入手机的四位数密码进行验证.一方面不用担心密码被别人看到,另一方面也方便了自己的操作.iOS8后苹果开放了Touch ID的API给开发者,这也给我们的app带来了新的体验. 使用 Touch ID的API非常的简单也好理解,在使用前我们需要导入LocalAuthentication这个库.并引入关键模块:LAcontext 苹果公司并没有对Touch ID

iOS用户数据安全:Keychain、Touch ID以及1Password

使用登录界面来保护APP用户数据是很好的方法--你可以使用Keychain(内嵌在iOS里的)来确保用户数据的安全.不过苹果现在使用Touch ID提供了另外一层保护,该功能适用于iPhone5.iPhone6. iPhone 6+.iPad Air2以及iPad mini 3. 如果这些都还不够,可以尝试iOS 8引入的扩展,你甚至可以使用AgileBits开发的1Password app来整合登录信息的存储和获取.这一切都要感谢AgileBits团队开发者开源了他们的扩展包.这样你就可以把管

Swift实现Touch ID验证

iOS8开放了很多API,包括HomeKit.HealthKit什么的.我们这里要说的是其中之一的Touch ID验证. 以前用app保护用户的隐私内容,只能设定和输入密码.眼看着只能是iPhone本身用Touch ID方便酷炫的解锁而自己的app不能.实在让人捉急.现在咱也可以酷炫一把了.当用户打开使用了Touch ID认证的app查看什么内容的时候就只能是把手指放在Home键上去验证身份.在app中验证的指纹就是用户在手机里的指纹.是的,你的app无需用户再输入一次验证用的指纹了.所以使用起

使用iOS 8 SDK添加Touch ID指纹识别功能

iOS 8 SDK向开发者公开了Touch ID指纹识别功能,允许App对用户身份进行本地验证.使用Touch ID非常简单,只需要2步即可: 1. 检查Touch ID是否可用. 2. 获得指纹验证结果. 下面以一个简单的例子来说明如何使用Touch ID. 创建一个新的项目,向界面设计器中添加一个按钮.使用Touch ID需要引入LocalAuthentication框架: import LocalAuthentication 在按钮的Touch Up Inside事件中我们首先检查Touc

Touch ID和Passcode框架,Apple Watch风格的应用布局

本文转载至 http://www.cocoachina.com/ios/20141031/10110.html 水平滚动条(artwalk) 测试环境:Xcode 6.0,iOS 8.0 VENTouchLock Venmo app中使用的Touch ID和Passcode框架.VENTouchLock通过Touch ID指纹扫描或者Passcode来获得访问权限. 在iPhone上实现Apple Watch风格的应用布局 WatchSpringboard-Prototype是在iPhone上实

iOS指纹识别Touch ID的安全性探讨

苹果公司在 iPhone 5s 的发布会上公布了全新的指纹识别安全技术,也就是 Touch ID,开创了生物安全识别技术在便携设备上使用的新篇章.此后,苹果还将此技术带到了 iPad 上.此前没有任何厂家将指纹识别成功的打造在如此常用的设备上,因为涉及到非常复杂的工艺和技术难关.苹果在2012年收购在此方面技术领先的 Authen Tec 公司作为技术基础,并为iOS设备量身打造了 Touch ID.这使得苹果在智能设备的指纹识别方面比其他厂商更加智能且利于使用.三星的指纹识别功能必须要用手指按

Mate7微信指纹支付来了 比Touch ID整合微信早一点

之前我们聊过微信将推指纹支付 "指付通"会与Touch ID整合吗这个话题,现在有国内厂商率先支持微信指纹支付,体验一下美国用户使用Apple Pay搭配Touch ID来实现便捷支付的感受.大赞国内手机厂家的创新能力!! 首先你先得有一部新手机,华为Mate7,用户需要将微信更新到6.2版本,然后按照“设置-隐私和安全-指纹-录入”的步骤录入指纹即可.具体操作请看下面微信指纹支付图文教程.微信支付成功时(微信红包和零钱充值除外),都会自动提示开通指纹支付功能: Touch ID整合微