记录一下自己对区块链项目Blockstack的学习。
什么是Blockstack?
Blockstack是用于分散应用程序的新型互联网,用户可以在其中拥有自己的数据。 Blockstack不能改变,转移或者撤销用户的认证,并且在没有得到允许的情况下不能读或写用户的数据。Blockstack使用BNS处理用户的认证,BNS是建立在比特币区块链之上的分散命名和公钥基础结构。Blockstack使用Gaia来处理存储,Gaia是一个可扩展的分散式key/value存储系统.
Blockstack应用程序与传统的Web应用程序有两个不同:
***用户拥有自己的身份。Blockstack browser为用户提供对他们的私钥和文件数据的直接控制。Blockstack Core 提供BNS作为用户发现彼此公钥的一种方式。
***用户拥有自己的数据。用户自己选择他们的app数据存储的地方,并决定谁能够去读取。Gaia网络使用用户选择的存储提供商来加载和存储数据。并使用其特定于应用程序的密钥自动对其进行签名和加密。只有目标收件人才能够验证和读取数据,存储提供商被视为是不受信任的中间人。
比特币系统的出现使得区块链技术显现在人们面前,区块链技术存在的最大意义就是去中心化。Blockstack的创始人野心很大。他将区块链技术应用到数据存储,结合传统互联网存在的一些缺陷,将Blockstack定义为是一种新型的互联网。Blockstack的设计理念完全符合区块链技术存在的意义。其底层采用的是比特币区块链,再在比特币区块链的上层建立一条虚拟链与比特币区块链相映射,形成与传统互联网的DNS性能相当的BNS(Blockchain Name System),从而代替传统互联网的DNS。BNS的设计是基于区块链技术,因此是没有中心化管理的,这是Blockstack的核心,也是与传统互联网相比最主要的区别之一。在解决了这个问题后,接下来就是数据的存储问题了。为了实现用户的数据完全归用户自己所有,Blockstack用户决定自己的数据存在何处,本地节点或者云端,或者不被信任的第三方存储。Blockstack设计Gaia网络查询数据的存储路由。来实现用户数据的查找。
Blockstack官网白皮书给出的系统架构: