假设我想构建一个不完全分散的应用程序,实际上它为前端提供Restful,并使用后端的私有ethereum块链来处理敏感数据和管理用户权限。在我的后端注册时,我为每个用户创建了一个使用他的密码的ethereum帐户。后端正在运行NodeJS express,并连接到web3实例。每当用户需要输入密码时,我就使用这个密码解锁他的帐户并发送一个事务(或者可能是一个合同调用)。
发布于 2018-10-25 16:59:03
在我试着回答你的问题之前:区块链的使用有一定的好处,特别是ethereum。这些好处是:
这些好处是您需要的,以实现一个基于ethereum的平台。除此之外,ethereum将迅速成为你系统中的一个负担和一个弱点。
1)在许多当前和未来的大项目中,Ethereum节点在任何情况下都是不可见的。在平台(系统)和用户之间建立信任的关键是透明性和健壮性。一个好的做法是明确地告诉您的用户,您正在代表他们管理他们的帐户,并让他们有可能选择退出该帐户,并在仍然受益于您平台的服务的同时管理他们的behalf帐户和事务。
2)在专用网络情况下,不需要多个节点。如果系统背后的逻辑要求在这些节点之间实际共享决策,则可能需要使用许多节点。类似于每个国家的一个节点,或者每个缔约方的一个节点。拥有多个节点也可以减轻硬件的压力,增加系统的容量和容错能力。
发布于 2018-10-26 10:09:18
我在nodejs中实现了一个带有后端系统的私有区块链,它处理了一些障碍,但离开了区块链,完成了最擅长的工作:给予信任。因此,基本上,我实现了一个解决方案,它的工作方式与您在这里描述的相反。
在我的体系结构中,用户的私钥在客户机上,用户数据与用户帐户一起注册在mongodb服务器上。每当请求事务时,客户端使用用户的私钥在区块链上创建事务(在移动应用程序中存储在存储区域,在web应用程序中由MetaMask管理),如果成功,则在数据库中注册事务,并引用事务哈希。
这样,真相就被保存在区块链上,没有人可以窃取密码,而在数据库中,你拥有的数据太昂贵,无法保存在区块链上。
https://ethereum.stackexchange.com/questions/61192
复制相似问题