网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > imtoken

基于区块链应用安全和隐私保护的开发平台安网(4)

糖果协议是属于安资协议中一个很有特色的协议。主要思想是:在通过安资协议发行代币时,代币发行方需要把新发行代币的 0.1%~10%分给安网 SAFE的持有者,具体比例由代币发行方指定。

主要的技术思路:发行代币时,同时发送 0.1%~10%的新代币到一个糖果地址, SAFE 持有者在钱包中手动点击可领取的糖果,发出一个领取糖果的交易,即可把该糖果地址中属于自己的部分领取。糖果将在 1-6 个月内到期(由发行方定义),到期后将不能再领取;如果 SAFE 持有者没领取,则属于他的糖果就永远沉没,其他人也无法领取。

领取规则(1)以资产发行时的区块为快照计算糖果数量(2)SAFE 地址中必须有大于等于 1 的 SAFE 数量,否则不能领取(3)按照比例领取糖果,计算方法:你的糖果数量=全网该糖果的发放数量 * (本钱包 SAFE 数量/全网已生产出的 SAFE 数量),如果可领取的糖果数量小于 0.01,则也不能领取(4)每种糖果仅允许一次性领取完毕,不可多次领取(5)糖果如果已经过期,不能领取。

8 智能合约

智能合约目前面临较大的安全性风险,因而安网并未将智能合约作为首推应用,而是先用各种协议来安全地满足应用开发的需求,一些更为复杂的应用可能要用到智能合约,因而安网也将在后期引入智能合约。

目前的技术路线是移植以太坊 EVM 到安网上,以太坊智能合约在自由社区的应用比较广泛,因而需要首先支持。EVM 在类比特币区块链上的移植已经有一些案例,安网将参考这些技术路线和自身对智能合约安全性的理解,制定一些智能合约的安全规则和权限访问体系,形成独有的智能合约虚拟机 SVM。

SVM 将在以下方面加强智能合约的安全性:

(1) 智能合约代码必须开源,且在发布智能合约时需提供代码库地址和版本号、源代码的哈希,防止源代码与编译后的代码不一致;

(2) 智能合约接口的访问控制,目前不少智能合约被攻击,原因在于任何人都可以访问智能合约的任何接口,因而在某些接口检查运行权限不严格的情况下,将被非法访问者获得更高权限;访问控制可设置只有许可的地址才能访问指定的智能合约接口,增强安全性。

(3) 智能合约的冻结和解冻机制,一旦出现紧急事件,开发商可将智能合约冻结,同时也冻结了其中的资金,等待合适的处理措施出现后再解冻。具体机制等待智能合约引入的具体文档。

9 安付扩展

目前 DASH 底层已经提供实时支付和隐私发送的功能,安付还将进一步拓展。

10 P2P 协议

安网的 P2P 协议延用比特币的 P2P 协议框架,在此基础上进行了一些扩展以适应后续的即时消息和去中心化存贮的需求,技术方案另行公布。

安网的技术方案

安网的技术方案包括分叉方案、应用开发体系技术方案、各个应用的技术方案等。这些技术方案有些已经成功实施,有些正在研发,有些还处于规划阶段,因而有可能有变动,请以最新的白皮书为准。安投在安网上的技术实现方案将另行公布。

1 分叉技术方案

1.1 分叉原理

在区块高度 807085 进行分叉(即北京时间 2018 年 1 月 20 日上午 10:30左右),由程序硬编码产生第807085 个区块,该区块称为 SAFE 创世块。在这个区块里面,只有一个 coinbase 交易,输出 2100 万个 SAFE 到官方的钱包地址,没有矿工奖励。该区块的难度重置为 DASH 创世块难度、Nonce 为 0。矿工后续从区块高度 807086 开始挖,coinbase 输出恢复到原来 DASH 的奖励规则。

1.2 配置文件

·数据存放路径

Linux:/root/.safe

Windows:C:\Users\用户名\AppData\Roaming\Safe

·配置文件名

Linux:/root/.safe/safe.conf

Windows:C:\Users\用户名\AppData\Roaming\Safe\safe.conf

1.3 交易结构

从区块高度 807085 开始,在交易结构的输出中,增加了两个字段:

(1)从区块高度 807085 开始,交易版本号(nVersion)为 101,以前DASH 交易版本号为 1;

(2)nUnlockHeight 字段,预留以后增加 SAFE 锁定功能,默认值为 0;

(3)vReserve 字段,称为应用数据区,应用数据区最大长度为 3000 字节,最小为 4 个字节小写“safe”,以便于开发应用,比如:安资、安投、安付、智能合约等;

1.4 区块难度和奖励

(1)从区块高度 807085 开始,这个块的难度为 DASH 创世块的难度,后面区块的难度规则有变化,规则为:前 100 个区块采用 BTC 计算规则,再后100 个区块采用 KGW 计算规则,200 个块完成后切换到 DGW 计算规则;因而前 200 个区块的产出会比较快,后续使用 DGW 难度调整算法后,会迅速维持在 2.5 分钟左右;

(责任编辑:admin)