请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

  思科 CCO 登录
 找回密码
 立即注册

扫一扫,访问微社区

搜索
热搜: 邮件服务器
查看: 1360|回复: 1

【小目标,一个“译”】+ 以太坊与智能合约之身份认证(1)

[复制链接]
发表于 2018-5-18 13:50:29 | 显示全部楼层 |阅读模式
前言

我们将使用以太坊来处理身份验证的问题。我们在这里所给出的是与区块链身份验证技术相关的典型问题。


比特币2009 年问世以来,以其去中心化的、安全的货币交易理念惊艳了整个世界。以太坊的概念不仅仅只是数字化货币,它通过与图灵完备的智能合约相结合赋能了去中心化的交易模式。在这篇文章,我们联手Ivo ZielińskiKonrad KoziołDavid Belinchon,和来自GFT创新团队Nicolás González为以太坊用户开发了一套可实现的基于以太坊的登录系统。这是一个理想的登录系统,它能够允许任何以太坊用户在不必使用其私钥的情况下,证明自己的以太坊帐户的所有权,就像他们登录到Facebook一样。

介绍

       我们先来看看用户是如何登录到一个简单的系统上的:

1. 一个用户浏览到一个需要登录的第三方网站。该网站要求用户在文本区域内输入以太坊地址。

2. 用户输入其以太坊地址,并单击"登录"

3. 后端的第三方生成一个挑战字符串,并且签发一个JWTJson webtoken),该挑战字符串被嵌入其中。

4. 由于login合约已在以太坊上可用了,用户可以直接将挑战字符串发送给login的方法。

5. 后端持续观察以太坊网络,是否出现由以太坊地址所有者在步骤2中所输入的并且被发送过来的挑战字符串。

6. 如果在合理的时间内,后端监测到挑战字符串,则用来自步骤2的以太坊地址作为标识,将该用户标记为登录成功的状态。一个新的带有完整地址的JWT随即会被发布给第三方网站。

       不过上述这种方法存在着一系列的问题:

file:///C:/Users/l41/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
要确保用户的以太坊地址与身份验证过程相独立,系统会生成一个完全不同的、仅作身份验证的以太坊地址。该地址通过使用以太坊合约与用户的以太坊地址相关联。换句话说,用户的以太坊地址和系统仅作登录用的地址之间的映射关系会被建立。这种映射在合约的帮助下被存储在以太坊的区块链内。
pragmasolidity ^0.4.2;
contractMapper {
    event AddressMapped(address primary,address secondary);
    event Error(uint code, address sender);
    mapping (address => address) publicprimaryToSecondary;
    mapping (address => bool) publicsecondaryInUse;
    modifiersecondaryAddressMustBeUnique(address secondary) {
        if(secondaryInUse[secondary]) {
            Error(1, msg.sender);
            throw;
        }
        _;
    }
    function mapAddress(address secondary)
        secondaryAddressMustBeUnique(secondary){
        // If there is no mapping, this doesnothing
       secondaryInUse[primaryToSecondary[msg.sender]] = false;
        primaryToSecondary[msg.sender] =secondary;
        secondaryInUse[secondary] = true;
        AddressMapped(msg.sender, secondary);
    }
}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分5 (4 评价)
发表于 2018-5-18 20:25:22 | 显示全部楼层
完全看不懂
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分3 (2 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科社区  

GMT+8, 2018-10-21 23:22 , Processed in 0.172264 second(s), 32 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表