Nxt区块链的一些功能特征(Token令牌,账户属性等等)可以很好地用于网站登录的授权和二次验证,从而可以有效避免网站服务器破解而导致的用户隐私数据丢失、信息泄露、安全问题等等。
具体的一些思路如下:
- 该应用可以用于任何商业网站、论坛、社交网络等等。
- 使用Html和JavaScript基于浏览器来实现登录。
- 只有含有公钥的NXT账户才能在在网站上进行注册(网站可以提供宣布公钥的服务)。
- 密码绝不会离开用户客户端浏览器。
- 使用JavaScript来生成NXT令牌。
- 网站服务器提供NXT全区块链。
- 网站服务器不存储任何用户数据,只存储NXT区块链本身的数据。

用户注册,需要输入的内容:
- 输入公开数据,例如用户名、年龄、性别等等;
- 输入隐私数据,例如地址、电子邮件、信用卡;
- 个人身份号码;
- 安全问题;
- NXT账户;
- NXT令牌(令牌是用NXT账户密码从身份号码中生成的,这个令牌的生成是在本地完成的)
网站服务器的操作:
- 使用validateToken API来验证令牌;
- 如果有效:
- 从服务器账户向用户账户发送setAccountProperty交易,存储为JSON格式,公共数据直接存储,隐私数据、身份号码以及安全问题哈希后再存储;
- 用用户自己的令牌在浏览器中保存cookie;
用户登陆:
如果令牌cookie存在,则自动登录。服务器验证令牌,取回用户数据。
如果令牌cookie不存在:
- 低安全性 – 提供一个新的身份号码,要求用户生成新的令牌来声明自己的账户身份;
- 高安全性 – 要求用户提供注册时的身份号码,并用同一个账号生成一个新的令牌以实现二次验证2FA;
账户恢复 – 如果用户忘记自己的账户,但是记得用户名,服务器更新账户属性设置来找到用户数据和安全问题或身份号码。
应用案例: