如何使用区块链技术来设计数据库
扫描二维码
随时随地手机看文章
加密数字货币圈有三个传奇人物,每一个人都创造了三个牛逼的项目,分别是Jed McCaleb,BM和SunnyKing。
今天分享SunnyKing最新的项目vsystems。
币圈三个传奇人物
说到BM,币圈几乎没人不知道的。Daniel Larimer(BM)创造了比特股,一个去中心化的交易所,去中心化的资产发布平台,到现在还活跃在币圈。随后BM又创造了Stemmit,一个以区块链技术架构的内容发布平台,到现在为止,Stemmit也是币圈最活跃的链之一。后来,BM又创造了著名的EOS,社区运营最好的区块链项目。
第二个人物,大家可能不是很熟悉,但论对世界的影响,我觉得比BM还大。Jed McCaleb,创造过eDonkey,我们常用的下载电影的点对点传输协议。到现在我们还常用这个协议下载盗版内容。当然这个是在有币圈之前就创造了。有币圈后,Jed创造了著名的交易所Mt.Gox。Mt.Gox倒闭创造了比特币最大的新闻之一。大家可能都知道法胖(Mark Karpeles),他是Mt.Gox的CEO,但其实Mt.Gox是Jed卖给法胖的。后来Jed创造了现在市值排行第三的瑞波Xrp,老牛逼了。后来他又创造了现在市值排行第9的恒星Stellar。真是一个牛逼闪闪的人物。
第三个传奇人物是Sunnyking。他创造过点点币,第一次在POS共识机制引入加密数字货币。SunnyKing也因此一直被称为权益证明(POS)的发明人。后来他又创造了素数币,SunnyKing将PoW挖矿的过程等价于找素数这个数学过程,让PoW挖矿附带有科学色彩。
现在Sunnyking在创造新项目vsystems。这是干什么的呢?
有这样的历史,我又被吸引去研究vsystems是干啥的。我很早就关注了Vsystems,今天分享我读vsystems的白皮书的读后感。
使用区块链技术来设计数据库
数据库这个概念绝大多数人都是很熟悉的,能联想到增、删、改、查等操作。著名的数据库有SQL、LeveDB、MongDB……等。
比特币区块链也是一种数据库,有一些特性很特别,比如不可篡改,不可删除,还有就是存储成本很贵。
vsystems的目标之一就是充分发挥区块链在数据库领域的作用,将这条链用来大量存储特定场景的数据。
区块链这种技术特性可以满足多场景下的数据库设计需求,而且能带来一些更好的特性。特别是在设计分布式数据库时,区块链就可以大显身手。而区块链的去中心化特性,也让数据库获得了更好的安全性基础。区块链技术可以让数据库实现无授权的写入操作,任何人都可以写。在用户隐私的要求背景下,用区块链来设计数据库可以获得非常强大的隐私保护,这是其他技术设计的数据库技术无法匹敌的。
但区块链技术存的数据是不让删改的,这个不符合绝大多数场景。特别是区块链数据库的写入操作是非授权的。这种不让删改的特性,让很多坏人容易破坏数据库。比如往你的数据库里写入一堆小黄片,让某些国家政府去关你的门。这个怎么办?
vsystems的白皮书专门针对这种场景做了说明,vsystems可以让数据库设计成具有中心化管理的特点,采用的原理是植入管理员特权密钥,以让管理员可以对违规数据写入做非法标记。
这并不是说vsystems区块链里的数据是可以删除的。
vsystems是一个允许用户把vsystems这条链当成是数据库来使用的链。你可以专门设计一个客户端来往vsystems链写入和显示数据。你存的数据,可以是由你来规定一些特性,比如合法性,你可以标记出非法数据,以让它们不能在客户端起作用。
使用这种vsystems当作数据库,就可以获得区块链的一些好处。包括你可以不需要运行自己的服务器,去中心化,分布式,强化隐私保护……等等
我查了vsystems的团队结构,发现里面有两个联合创始人是Orcale的首席工程师。这种背景,或许说明vsystems确实是打算在数据库领域引入区块链技术。
发链
以太坊是一个发币平台,vsystems是一个发链平台。发链平台,这个怎么解释?
vsystems的目标之二是将区块链的设计模块化。就像现在我们组装电脑一样,主板、内存、硬盘……等模块,各买一个,就可以拼装成一台电脑。
vsystems将区块链设计成多个模块,每一个模块设计出多种实现。比如共识层模块、区块树管理层、交易处理层模块、数据库管理模块、智能手机端轻节点模块……
共识层模块,vsystems会设计好PoW、PoS、SPoS……等等可插拔式的实现。每一个模块都是可插拔式的多个实现。
任何人在设计一条新的链时,就可以直接将各种模块插拔拼接,来实现一条链。这种设计区块链的形式,就要比现在的Fork其他链代码来编译要简单很多了。
我现在并没有看清楚vsystems的这种设计和它这条链有什么关系。我猜测是这样的,第一大可能就是vsystems团队将这种模块化设计当成一种软件服务,为整个区块链生态做贡献。就类似于做一个SDK,让大家方便做业务层,而不是需要关心区块链的底层。本质上,这种服务和vsystems这条链没啥关系,模块化服务只是团队的一种对外服务。
还有另外一个猜测是,vsystems这种模块化发链服务是用来发布主链的侧链。也就是vsystems这条区域链是主链,任何用户可以通过这种模块化发链来搭建侧链。
白皮书最大的亮点就是上面两章,除此之外里面还写了一些区块链项目的常规操作。如智能合约、可扩展性等等。
都太常见了,这些特性都成了区块链项目的标配。