阿拉贡标识
很可能是安全的 ENS 登记.
这回波中的一切都是高度实验性的软件.
在进行适当的安全审计之前,在生产(主网)中使用任何这种代码是不安全的 已进行。 它可能造成不可逆转的资金损失.
为什么
Aragon用户以及一般大多数区块链用户都受到 左子三角区—— 说 地址是安全的和分散的,但并非对人友好。 除了作为最重要的 还应指出的是,对人友好可被视为一种 安全方面:已显示密码地址便于用户无辜 错误和 攻击者恶意出击。 。 。 .
虽然有几个项目正在建设服务以解决这一问题,例如: 微波
财务报告和审定财务报表 公民,则还没有成熟或可供大众市场使用
收养。 鉴此,阿拉贡ID是一个简单的身份系统,用来弥合差距,直到这样
项目已经就绪。 它利用现有的 国家 基础设施安全
提供双向、先入先出地址地图 <name>.aragonid.eth 标识符.
之后,用户将能够解决和逆向解决任何 <name>.aragonid.eth 改为:
地址,并相信他们的名字登记由自己安全控制.
使用量
总结如下: 丹·芬莱
财务报告和审定财务报表 尼克·约翰逊
作为第一次环境服务讲习班的一部分,环境服务子节点登记默认应更改
随时由节点的主人负责。 节点拥有者有权更改任何
子节点,甚至可以将节点的所有权转让给自己,叫拍卖
书记官 finalizeAuction()
或者说 transfer()
在任何时间。 这个问题一直持续到TLD,因为 ENS 根由
(原始内容存档于2018-10-21). ENS multisig.
Aragon ID是一份合同的收集 减轻了缺乏安全 子节点的注册人。 它受到很大影响 尼克·约翰逊以前的工作。 。 。 .
在阿拉贡客户端
应建议阿拉贡的新用户登记一个对人类友好的名字
<name>.aragonid.eth 如果他们还没有ENS识别符 与他们地址有关.
虽然登记过程最初是免费的,在出现不良情况时是优先的
aragon可能要求用户燃烧一些 阿拉贡网络
或作为登记费用的另一种标志.
需要用户进行两次交易才能全面登记姓名;不幸的是,没有
创建双向注册的安全方式(地址对名称和名称对地址都可以解决)
用于一次交易中的用户。 因此,登记应首先按“前进”方向进行,
通过部署 FIF 可注册登记器 页:1
aragonid.eth,以确保一个名字。 "逆向"登记一旦成功,就应发送
改为现有 ENS 反向登记员。 。 。 .
请注意,用户可以完全控制其 <name>.aragonid.eth 子节点,其登记可
在转帐时更改。 在使用标识符前,阿拉贡客户端应当先检查
它决心的地址没有改变.
今后的工作
虽然阿拉贡以前 与Keybase合并, (中文(简体) ), 现在ENS的存在 使我们可以建立一个身份系统 避免依赖集中的 第三会. 在这样做的过程中,我们失去了以前由Keybase提供的一些特征,例如: 作为脱链存储器(例如配置照片或其他服务标识符)。 将来,我们计划 将Aragon ID与分散的离链存储服务整合起来,例如 沼泽 或者说 森林小组,以提供这种功能.
最后,在乌波特和公民等身份服务即将到来之后,应当指出的是 Aragon ID在Ethereum身份的最基本层面工作:账户地址. 这意味着 未来用户将能够将其阿拉贡ID标识与任何身份连接 通过服务提供,反之亦然。 未来来到阿拉贡的用户 身份甚至可能选择完全跳过阿拉贡ID注册程序.
举例来说,就进行中的案件而言 ethereum 身份的标准化, (中文(简体) ),
在阿拉贡注册的ERC725身份合同可以代表阿拉贡的用户
身份识别 该身份合同将有一个可解决的名称和地址,允许
与阿拉贡组织通过 ACTION 键,并能够证明各种细节
关于自己通过组织持有的 索赔。 。 。 .
未来,一个阿拉贡组织,可能通过未来 阿拉贡应用, (中文(简体) ),
也可以是身份索赔的提出者,其中最基本的可能是关于
会员或行政(如"Brett Sun是Aradenity Inc."的总经理.
合同
契约持有者
稍作修改的版本 尼克・约翰逊的 DeedHolder。 。 。 .
这个 DeedHolder 充当契约的保存库(由拍卖登记员为每项契约设立)
登记)。 转让后,证书及其相应的ENS节点将锁定在
DeedHolder 直到更换原登记员。 这阻止了节点所有者的能力
直接控制 ENS 节点, 并禁用它们拨打登记员的能力
finalizeAuction() 或者说 transfer() 以重新完全控制节点.
鉴于目前尚不清楚向新登记员迁移的过程,可能需要 多个业务,契约的所有权需要转移到一项合同,其逻辑是 同样不详。 这个负责移民的新主人最好通过一些机构决定 治理机制,如社区多思潮。 一旦移民完成, 契约应该 再次被锁定以确保节点不被篡改.
函数 :
claim(bytes32 node): 重新要求从DeedHolder当原始登记员 由新的书记官长取代owner(bytes32 node) returns(address): 返回契约的当前所有者transfer(bytes32 node, address newOwner): 转让地契所有权(注意: 新的"所有者"在契约成为可要求之前仍然无法获取)
授权代办(是代办)
A 类 DeedHolder 允许契约的所有人为节点设置"管理者"(即成为
eNS节点的拥有者)允许外部方或合同管理子节点注册.
使用 DeedHolder 它本身就使得今后不可能对所持有的
ENS节点,因为转让契约的过程也确定了 DeedHolder 作为拥有者
节点.
函数 :
setManager(bytes32 node, address manager): 设置 ENS 节点的管理器 行动 最好是登记员合同(见下文).
FIFS 解析 书记官长
A 类 FIFSRegistrar
还设置解析器的执行(和相应的地址映射,如果是登记册)
支持地址接口),当一个子节点被请求时.
函数 :
register(bytes32 subnode, address owner): 如果 尚未索赔registerWithResolver(bytes32 subnode, address owner, AbstractPublicResolver resolver)数字 : 以给定的解析器注册子节点,该解析器必须符合 解析器谱
FIFSBUNSLAR(是FIFS解析Registrarr) 互联网档案馆的存檔,存档日期2013-12-02
拥有的 FIFSResolvingRegistrar 允许所有人为登记设定价格(以象征性方式)
子节点。 以此方式使用的托币会被送往 0xdead。支持
ApproveAndCallReceiver 接口.
函数 :
register(bytes32 subnode, address owner): 如果 页:1owner已预先批准了至少登记费用的合同。 这次行动 如果通过“ token. transfer From( 所有人, “ 0xdead” ) 来烧掉令牌, 将会失败 .registerWithResolver(bytes32 subnode, address owner, AbstractPublicResolver resolver)数字 : 以给定的解析器注册子节点,该解析器必须符合 解析器谱, (中文(简体) ), 若为owner已预先核准至少登记费用的合同setBurningToken(ERC20 burningToken): 设置注册时要被烧毁的标志 费用setRegistrationCost(uint256 cost): 设置子节点注册费用receiveApproval(address from, uint256 amount, address token, bytes data)数字 :ApproveAndCallReceiver执行,用于支持ApproveAndCall接口
示例
这个 DeedHolder 财务报告和审定财务报表 DelegatingDeedHolder 合同意在用于初始阶段
已部署的一套环境服务合同(特别是 拍卖登记员) (中文(简体) ).
假设有这些,你的流量很可能是类似的东西(在伪JS中):
// Contract instances
const ens = '...'
const publicResolver = '...'
const auctionRegistrar = '...'
const token = '...'
// Deploy contracts
const deedHolder = DelegatingDeedHolder.new(ens.address, namehash('eth'))
const nodeRegistrar = FIFSBurnableRegistrar.new(
ens.address,
publicResolver.address,
namehash('node.eth'),
token.address,
10
)
// Transfer deed ownership to the deed holder and set up the nodeRegistrar as the manager
auctionRegistrar.transfer(web3.sha3('node'), deedHolder.address)
deedHolder.setManager(web3.sha3('node'), nodeRegistrar.address)
// Register via token.approve()
token.approve(nodeRegistrar.address, 10, { from: '<owner address>' })
nodeRegistrar.register(web3.sha3('subnode'), '<owner address>')
// Register via token.approveAndCall()
token.approveAndCall(nodeRegistrar.address, 10, '<call data for register(bytes32,address)>')
// Eventually reclaim ownership of deed, when the registrar has been updated
deedHolder.claim(web3.sha3('node'))
安装(用于Web3项目)
您可以通过 /abi 文件夹,例如:. const DeedHolderAbi = require('@aragon/id/abi/DeedHolder.json).abi
发展中国家
npm install
npm test