账户体系
用户通过以太坊钱包访问DeGate协议,首次使用前要开通DeGate账户,将账户权限与钱包地址绑定。
为钱包地址分配AccountID,就可以用数字来表示很长的地址,这样能减少零知识证明的成本。对用户来说,无需了解AccountID,只要以相应的钱包访问DeGate就能使用了。无论提现还是转账,用户输入钱包地址完成操作。
账户Nonce和KeyNonce
默克尔树Account节点内也有Nonce,称为「账户Nonce」。目前为止,我们已经了解到两个Nonce概念:账户Nonce和KeyNonce,两者比较如下
如果DeGate节点弄丢了最新的KeyNonce,会有什么影响?
用户每次解锁账户时,都需要从节点获取最新的KeyNonce,以便生成正确的资产私钥。如果没有KeyNonce,那就需要用户从1开始签名,与默克尔树账户节点内的Key进行比对,直到匹配后就能找出最新的KeyNonce。因此丢失KeyNonce不会导致资产丢失或无法访问。
账户资产
账户里还需要有资产才能在DeGate进行交易。将代币从钱包划入到DeGate账户,或从其他DeGate账户转账过来都可以。充值进入协议的资产都存放在DeGate智能合约,每笔充值都需要通过零知识证明来确认,同时更新到默克尔树中相应的DeGate账户节点下面的资产节点。
换句话说,在DeGate内没办法直接用钱包资产,需要先划入再使用。用完后需要发送才能回到钱包。划入和发送虽带来一些门槛,但相应的好处就是下单和撤单可以做到瞬时和免费,对长期交易和专业交易用户非常友好。
另外,部分需要矿工费的操作,也要以账户资产支付。
DeGate协议层规定了只能通过钱包私钥和资产私钥的签名授权来操作账户资产,用户应自行做好安全防范。
Last updated