您当前的位置: > 山寨币 >
区块链与关系数据库的应用-比特币买卖入门流程
区块链与关系数据库的应用
区块链的去中心化
使用区块链可节省潜在成本,是因为一个运行中的区块链应用程序不需要太多支持,因为可以依靠其他组织(而不是内部管理员)来保持分布式数据库的运行。
但是,如果自己开发基于区块链的应用程序,则可能需要为其提供支持和维护。研究表明,软件的支持和维护成本至少与软件开发成本相同。这解释了为什么软件供应商对产品支持和维护收取如此高的费用。一条很好的经验法则:如果自己开发使用区块链的应用程序,则期望在整个应用程序生命周期中至少支付与开发期间相同的费用。
从这个角度考虑,使用内部数据库管理员的成本可能并不那么糟糕。从长远来看,使用区块链所允许的去中介化可以节省大量成本,也可以不节省成本。就是说,从非中介获得的收益可能并不总是一种明显的优势。
绩效罚款
尽管其他功能(例如捕获双重支出的能力和抵御恶意行为者的干扰的能力)比加密货币的性能更为重要,但非常高性能通常是支持关键业务流程的数据库的目标,可是这些功能使类似比特币的区块链使用也大大降低了性能。
具体来说,虽然写入关系数据库的速度相当快,但故意写入比特币的区块链非常困难(这是防止对其进行Sybil攻击的必要条件)。结果,它相对较慢。区块链需要使用如此多的资源,您需要付费才能做到这一点。
比特币矿工是为比特币区块链编写更新的人,他们每次进行的更新目前获得的酬劳相当于7,000美元(以比特币计)。没有这种激励,他们肯定不会进行任何更新。并非所有方法都像比特币所采用的方法那样昂贵,但是它们都涉及某种性能损失。
关键要点:如果应用程序需要高性能,那么关系数据库而不是区块链可能是更好的选择。实际上,很难想到现实的例子,在这些例子中,使用区块链的系统的性能要比基于关系数据库的系统的性能更好,类似比特币的区块链也可能最终成为扩展应用程序性能(超出小型测试用例)的重大障碍。
容错因素
比特币网络有许多用户,每个用户都进行比特币交易所需的一些处理。这种大量冗余的有用结果是比特币的高容错性。很难想到这样的情况:某种灾难或黑客的攻击使足够数量的比特币网络瘫痪,以致无法处理交易。
在关系数据库中获得相同级别的鲁棒性,或者至少以合理的成本获得它,是极其困难的。在科幻故事中没有针对比特币网络的智能病毒的情况下,关系数据库的最强大实现似乎也可以达到与大规模并行比特币网络相同的鲁棒性水平。因此,如果危机下的生存能力对您来说很重要,那么类似比特币的区块链可能会很有用,从而为您提供一定程度的容错能力,这可能是使用其他方法难以实现的。
数据安全
几乎任何人都可以看到类似比特币的区块链,这意味着存储在一个中的任何数据的机密性基本上为零。但是,在商业世界中,有很多充分的理由不公开数据。规范数据当然不能公开,许多企业不希望公开可能对竞争对手有价值的数据,包括涉及的许多交易。
因此,类似于比特币的公共区块链在许多商业应用中似乎不是很有用,但是不必将交易的完整记录存储在区块链中。相反,您可以仅包括交易记录的加密哈希,在那种情况下,验证特定交易的记录是否哈希到存储在区块链中的值可能足以解决出现的任何争议。
比特币的区块链以密码方式链接到添加到其上的每个区块,因此很容易捕获任何一个区块的修改。而且,尽管区块链记录涉及比特币的每笔交易,但关系数据库很容易记录它从客户端收到的每条SQL命令。因为很容易对写入关系数据库的数据进行数字签名,所以也很容易获得加密保证,即写入该数据库的数据未被更改。
因此,在提供数据完整性方面,区块链或关系数据库都没有明显的优势。
区块链与关系数据库:底线
虽然区块链和关系数据库都是用于存储支持关键业务流程的信息的有用工具,但是每种技术在不同领域都表现出色。
1.区块链在提供可靠,容错的方式存储关键数据方面具有决定性的优势。
2.关系数据库在性能方面似乎具有决定性的优势。
关系数据库似乎不可能提供大规模并行区块链所具有的鲁棒性水平,并且区块链也不可能提供关系数据库的性能水平。
在其他领域,这两种技术都没有明显的优势。例如目前尚不清楚,一旦将支持和维护基于区块链的应用程序的成本考虑在内,通常会被称为区块链技术的一项主要优势的去中介化收益能否实现。
但是,智能合约还存在于关系数据库的世界中,在这里它们被称为存储过程。用一种技术可以完成的任何事情也可以用另一种技术来完成,所以要问的正确问题是,对一种技术的特定使用是否适合您的应用程序。