技术必读 | EKT如何实现区块链世界的“用户共享”

如何实现一个区块链系统中的“用户共享”?


大家好,我是EKT周迅。

今天为大家简单剖析一下,在EKT中上线的DApp,为何能够实现用户共享?


#EKT


在区块链系统中,用户体系是一个非常非常重要的部分。为什么这么说呢?因为它直接决定了一个区块链项目上用户的资产安全。接下来我会从技术角度详解——EKT的用户体系为何安全?为何能够向链上企业实现用户的共享?


目前,比特币采用的是UTXO 模式。和比特币不同,EKT 通用积分生态采用的是 Account 模型,并且增加了账户申请的机制。EKT 生态内的所有主链以及 DApp 都可以方便的接入现有的用户体系。

 

1    用户地址的创建

 


 EKT 通用积分系统中,新账户的创建既可以使用 EKT 提供的默认算法生成,也可以到 EKT 的客户端里申请,所有的用户信息都只记录在 EKT 主链上。每个用户在申请地址时,需要提交的信息有公钥、加密算法以及自己打算申请的地址。用户申请的地址是个性化的,可以填写没有被注册过的地址,地址的长度为32Bytes。由于 EKT 通用积分系统里的用户地址不是通过公钥计算出来的,而是通过申请得到的,所以用户可以更换地址背后的公私钥以及加密算法,而 EKT 也会保持对最新加密算法的支持。即使目前区块链项目中流行的 SHA256 被破解,EKT 的用户体系也不会受影响。

 

2        用户密钥及加密算法的更换

 


 EKT 的客户端中,一个账户可以申请更换地址背后的公私钥以及加密算法,更换之后账户地址保持不变,主链同步更改账户的相关信息。在区块链项目中,交易的生成、发送以及其他的写操作都需要用户用私钥进行签名确认,如果用户更换了地址的相关信息,那其他主链或节点如何验证新的签名信息呢?主要有两种方法:

1.    如果对安全性要求不高,在用户更换完私钥和公钥以后,可以等待主链的区块同步,使用主链区块上用户的公钥来进行校验。这种方式在其他主链上无法通过校验。

2.    如果其他主链想要校验用户签名的有效性,可以通过 RPC 调用 EKT 主链的方法,将地址、消息以及签名信息等发送到主链的节点,主链节点验证后返回校验结果。一般情况下,EKT 主链上如果有(1+n/2)个节点校验通过则视为校验成功。

 

3        用户的跨链资产交换

 


在白皮书里我们提到过,EKT 是天然支持跨链的。这里的跨链指的是 EKT 通用积分生态里的各个主链间的资产交换。

 ETK 的系统中,一个币的交易只能在一条链上进行打包,在其他主链发起的任何交易都会通过 EKT 主链路由到这笔交易所涉及的币种所在的主链上进行打包并记录。我们来看一个完整的跨链交易流程:假设用户 user1 发起一笔交易,在 B链上将 A 资产转移到用户user2,此时流程如下:

1.    B 链发现交易资产并不是自己的主币,将交易发送到 EKT 主链;

2.   EKT 主链查找 A 资产对应的主链,假设为 A 链。并将交易发送到 A 链。

3.    A 链打包交易,打包结果发送到 EKT 主链。此时手续费为 A 链的主币。

4.    EKT 主链收到打包结果后,对相应的账户进行资产的增减。

 

基于 EKT 主链的用户系统以及路由功能,天然的实现了资产的跨链操作。

 

4        Dapp的用户体系

  


基于 EKT 主链或者生态里的其他主链开发的 DApp,也可以利用主链提供的用户系统和路由功能。在 DApp 内部实现资产的跨链转账、用户登录等。

 

EKT 的用户体系兼顾了安全与通用性,让各个主链的资产可以自由的在生态内流动,又为基于 EKT 开发的 DApp 提供了天然的用户群体,是一种非常高效的解决方案。




好了,今天关于“用户体系”的文章就到这里了。

如果大家有任何关于技术上的问题想与我讨论,

欢迎加入我的公链开发QQ群:699726921

项目交流可进项目QQ群:173806202

如想关注EKT的项目进展,欢迎关注微信公众号:EKT通用积分


猜你喜欢

转载自blog.csdn.net/weixin_42120252/article/details/80196265