前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EKT多链技术谈 | EKT如何实现区块链世界的“用户共享”

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

原创
作者头像
风中凌乱的靓仔
修改2019-03-22 15:25:01
7710
修改2019-03-22 15:25:01
举报

在区块链系统中,用户体系是一个非常非常重要的部分。为什么这么说呢?因为它直接决定了一个区块链项目上用户的资产安全。接下来我会从技术角度详解——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 提供了天然的用户群体,是一种非常高效的解决方案。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档