热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

区块链怎么运用到项目上_区块链技术及其运用

众所周知,区块链技术最早是在2008年由一个密码学极客中本聪发表的《比特币白皮书》提出的。2008年发生了一次波及世界的金融危机,在金融危机的影响下人们
7c2bf0c517c1da6329b1c857aa300a27.png

众所周知,区块链技术最早是在2008年由一个密码学极客中本聪发表的《比特币白皮书》提出的。2008年发生了一次波及世界的金融危机,在金融危机的影响下人们对当前的金融贸易体系产生怀疑。有人提出能不能有一种去中心化、无需信任的电子交易系统。于是,就提出来区块链技术。

在当时,区块链技术的最大关键字就是“去中心化”和“无需信任”,“去中心化”就是指我们对传统的交易体系尤其是金融、银行等企业有强大的不信任。在没有中心监管的前提下,人们对彼此都不信任,所以人们希望有一个可以支撑互相陌生、不信任的环境下的“匿名”的交易。

一、区块链技术是如何处理不信任环境交易问题的?

最主要的是在没有中心仲裁的情况下,交易数据无法保持真伪,交易双方如果出现更改记录、拒绝承认、甚至记录不一致的情况,那么应该如何仲裁呢?

采用“分布式账本”技术,交易双方和系统所有节点都保留全部交易数据,不需要中心节点实现处理。

通过共识算法(主要基于数据加密技术)确保记录一致性,在比特币系统中,共识算法基于多数原则,任何一方如果想要修改一个数据必须取得超过一半以上的节点配合才能实现,于是整个数据安全性就被转化为这样的一个问题:如果我们的系统节点数量足够大(例如整个互联网所有机器),那么控制超过一半的算力是不可能的,因此比特币的数据安全性就相当于物理安全。

如何来保证交易的匿名化?比特币的交易系统中使用了系统的ID以及电子邮件等作为身份的唯一依据,不需要任何其他信息,在互联网体系架构下,电子邮件地址本身是具备唯一性的,而邮件本身并不实名制,从而保证了交易的匿名。

比特币支撑复杂交易的流程,也就是智能合约技术,它通过代码的自动执行使得交易双方能实现一方面加速流程,一方面智能性,所以区块链的技术核心要素是指一个去中心化、无需信任、具备智能处理技术的分布式账本。

二、区块链和数据库的区别是什么?

1、账本是有历史的记录,而数据库是一个仅看现状的数据。

2、区块链和数据库的差别在于一个是集中,一个是分布。传统的数据库技术几乎都是基于集中式的计算,它需要中心节点,而区块链就是一个分布式的技术。

3、数据库操作技术比较丰富,而区块链对于记账是支撑的,但是其他复杂的数据库增删、查改都不能支撑。

4、现有中心化的传统数据库技术在性能上无疑是超过区块链技术的,区块链技术在去中心化、无信任这个特性上有优势。但从性能上讲,还是有所不及。

三、什么情况下可以使用区块链?

1、多方使用、互相间有利益冲突是我们使用区块链技术的首要条件。

2、我们系统需要防篡改,防否认这样的功能,区块链技术本质上能支撑这个功能。

3、我们需要在交易时记录所有历史记录吗?如果需要,则更适合用记账式的区块链技术,反之,则使用数据库技术。

区块链技术可以加速一般性的自动化事务处理但是对于性能要求不太高这样系统的开发。

四、区块链与挖矿的区别和联系?

挖矿是部分区块链产品的主要成分,尤其是以比特币为代表的,这种通过算力来衡量计算节点的贡献这样的区块链产品下,我们挖矿是不可避免的,但是并非所有的区块链产品都要学会挖矿,所以挖矿是区块链接数的一个子集。

五、使用区块链需要注意的问题?

1、区块链账户是匿名的,但是链上的信息是公开的,每个节点都有副本,如果我们希望控制信息本身、账本上的数据,能够具有这样一个防护隐私的功能的话,那么需要额外的技术手段支撑。所以要保护数字隐私是否能使用区块链技术,答案是不确定的。

2、智能合约的问题。我们在部署智能合约的时候需要对它做严格的检验,因为由于区块链本身不可篡改的特性,智能合约一旦部署,区块链上就具备了这么一个智能合约的固有内容,它会自动执行并且不可撤销,所以如果没有经过严格检验的智能合约,一旦有漏洞,它的危害巨大。

3、区块链本身是绝对安全的这是一个误区。由于共识算法的差别,区块链的安全保证上面

有一定的差异,在理论上并不是全部都能达到绝对安全这样一个程度。往往为了各种各样的特性,共识算法要做出一定的妥协。所以,我们本身在应用区块链产品时,也需要关心它本身是否能达到一定程度的安全特性。如果没能达到,那么在使用时一定要注意相关的辅助措施。

11fa567be381590982d51dc273b0c891.png



推荐阅读
author-avatar
hustjs
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有