我国的证券登记结算管理办法规定,“证券登记结算机构应当妥善保存登记、存管和结算的原始凭证及有关文件和资料。其保存期限不得少于20年。”
我很困惑,这么多证券公司,这么多资料文件,浩如烟海,怎么能做到完整保存20年?事实上,我办理银行卡,办手机卡,买保险……各种开户资料,没有一份能完整保存1年的。我都看都不带看就撕了扔了。比特币第一笔交易发生在2009年1月4日2点15分5秒。到今天,超过10年了。在这10多年的过程中,比特币网络上发生的所!有!交易,全都完整地保存了下来。任何人都可以下载查阅比特币所!有!的历史交易。更牛X的是,比特币网络还没有专门的人去维护,没有专门的法规去约束谁要保存这些交易。它就这样稳定安全地保存了10年的交易数据。区块链或许命中注定承担保存那些需要长期、安全、稳定、数量庞大的数据。
区块链数据库,这个名字听起来太拗口,很难理解。遇到这个名词,我脑子里一直无法想象出一个对应的“视觉化图景”。说数据库,我们能想象出一张表;说区块链,我们能想象出一个一个区块首尾相连。但区块链数据库是个什么玩意?
在2018年初,我去南方科技大学拜访,几个朋友正在讨论一个区块链项目,叫“VEE——Blockchain Database Cloud”。这个项目就是现在的vsys。当时我就被里面讲到的区块链数据库的概念吸引了。为了搞明白这个概念,我追着这个项目研究了很久。 我们熟悉的数据库都是为特定要求定制开发的。比如你自己做一张Excel表,用来记录你的炒币交易纪录,这就是一个数据库。一般的定义是,数据库是一定数据格式存储的,和应用独立的数据集合。用户可以对数据库进行增、删、改、查等操作。而区块链是一种不可删除的分布式账本,对区块链数据的“增”只能以“交易”这种方式来执行。就这两特性就和我们熟悉的数据库相差太远了。我们需要把理解下沉一层,把区块链当成是“数据库的数据库”。或者可以这样理解,“区块链”是没有精炼的原油,而“数据库”是石油精炼后的汽油。对区块链的操作,只有一条指令——交易。而对数据库的操作,有四条指令——增、删、改、查。要把区块链当成数据库来使用,需要将对数据库的操作指令都封装成交易,一个交易对应一个数据库操作。区块链网络会以交易的形式记录下所有对数据库的操作,而且会记录交易的时间顺序。在区块链上沉淀了的交易后,再设计一个“应用”,或者叫“算法”,“应用”会从区块链网络的初始块开始读取相关的交易,来获取数据库需要的所有相关交易,并且对交易再执行数据库的增删改查操作,最后形成一张表,或者说形成一个特定的数据库。而且“应用”会实时扫描区块链,以检查是否有新的数据库操作。用户以发交易的方式对区块链发起操作,区块链会记录所有的交易,“应用”在区块链上读取提炼相关交易,形成特定功能的数据库。
使用区块链这种方式来设计数据库有什么好处呢?
区块链网络会记录对数据库的所有历史操作,历史操作不可更改。完美满足证券登记结算管理办法规定的数据需要保证20年。
传统的数据库管理员,或者黑客对数据历史记录的修改是一个经常爆发的问题。在2014年,币圈有一个交易所被黑客入侵。黑客坏的很,币没偷着,但把交易所后台数据库给删了。导致交易所账户系统没了,都不知道自己有哪些用户了,更不知道币该归谁了。朋友L在里面存了币,最后依靠所有的邮件历史记录,和客服沟通,取回了当时充值的金额,至于中间是否通过交易亏损还是挣了,就不给他算了。
区块链会记录交易的时序,所以数据可以在任意时间恢复到任意位置。
币圈交易所有时候会搞“回滚”,被黑客攻击了,可能就会“回滚”。你去google搜一下,主流交易所都干过这事。这就需要数据库记录下所有的历史操作和时序。
区块链数据库可以做到公开透明,也可以通过数据加密的方式做到保密。完美。
区块链数据库可以做到无需授权即接入。使用传统的数据库技术,一定会有严重的权限等级,谁是管理员,谁是一般用户。但区块链数据库,可以不需要权限等级,让任何用户都无障碍进接入进来,不需要授权,不需要注册。因为这玩意是去中心化的。
当然区块链数据库也有很多缺点了。
能承接的数据量严重有限。传统数据库,你想搞多大就搞多大。现在BTC网络,10分钟也就处理1M的数据,运行了10年,积累了280G的数据。
使用区块链很贵,成本很高。用户写一笔交易都要花一笔矿工费。现在往BTC写数据要超过50块钱1KB。当然也有便宜的,BCH平均是2分钱1KB。什么数据都往链上整的想法,就要受到成本的约束。传统的数据库,相对来说价格可以忽略不计。
区块链在这两年的发展速度快如火箭,从电子票据到公益项目,但是在区块链的传统项目中的交易所相比刚诞生的时候,交易所模式也在相继增加。众所周知,区块链交易所就是死为了完成数字货币的交易,然而在区块链交易所内,交易不是传统意义的交易,而是转账。
在区块链交易所中,转账同样不是传统意义上的转账,而是被设计为纳入多个输入输出,即一笔交易可以转账给多个人。那么在区块链交易所内转账具体的过程是怎样的呢?下面我们来看一下交易的具体过程。
▼交易的生成过程
当前所有者利用私钥对前一次交易和下一位所有者签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作成交易单。
▼交易的传播
当前所有者将交易单广播至全网,每个节点都将收到的交易纳入一个区块中。
▼工作量证明
每个节点通过相当于解一道数学题的工作量证明机制,从而获得创建新区块的权力,并争取得到数字货币的奖励。
▼验证网络节点
当一个节点找到解时,它就向全网广播该区块记录的所有盖时间戳的交易,并由全网其他节点核对。
▼记录到区块链
全网其他节点核对该区块记账的正确性,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块链。
想了解区块链交易所的交易全过程,就可以看一下上述的讲解过程。区块链未来可期,但交易所的未来却不能肯定,因为很多国家或者地区还没允许数字货币在现实的流通。
注释:
(1)网络节点是指一台电脑或其他设备与一个有独立地址和具有传送或接收数据功能的网络相连。
本文地址: https://www.xiguacaijing.com/news/guandian/2020/23220.html
赞助商