您好,登录后才能下订单哦!
区块链的基本概念和原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。
什么叫去中心化?例如公司里有服务器,所有的数据都存储在服务器上,或者云服务器上,那么这就是一个中心化的系统。又例如公司账务结算,通过银行汇入和汇出,那么银行就是充当中心化的这么一个角色。去中心化就是要消除中心化这么一个角色,那么有人会问,没有了服务器这样一种存储数据的媒介,数据是如何存储和交换的呢?
在区块链系统中,节点是组成区块链的基本单元。在有些区块链系统中,任何加入区块链的设备,比如手机、PC、电子设备都可以是一个节点。
节点分为验证节点和非验证节点。验证节点就是指参与共识的一些节点,非验证节点就是无共识权限的节点。什么是共识?
有了节点和共识节点,那么就要有一套算法,按照这个算法去验证交易的合法性,防止恶意交易。就好比选举总统,人人都有选举权,那么选举候选人当总统就必须有一套章程,是按照票数最高的人当总统,还是按照州投票数最高的候选人当总统,这就是一套共识算法。按照这套章法选举出来的总统是公正的,不可抵赖。同样的,共识节点通过一套共识算法而产生的区块是不可更改,不可逆的。所以区块链上的数据一旦生成和记录,就不可以修改。这样就可以保证数据的合法性,并且公开,透明。
共识算法的种类:PBFT、PoW、Pos等。比特币是用的Pow(工作量证明算法)共识,通过算力计算。PBFT是拜占庭容错算法,若区块链上有3N+1个节点,那么最大的恶意节点数不能超过N个,这里设计到一个经典的算法,拜占庭将军问题,本篇暂不对这个问题进行讲解。作者当初在学习研究时用的是noop算法,是一套“假”的共识算法。其他一些共识算法比如PoS(Proof of Stake,权益证明)、DPoS(Delegate Proof of Stake,委托权益证明)、Ripple(瑞波)等。
当共识节点按照某个共识算法一致通过后,就会在区块链上广播通知所有的节点,广播完成之后就会生成一个新的区块,区块链就是由一个一个的区块链接组成的。
区块的数据结构如上图,包含:前一区块的Hash,当前区块的Hash、时间戳以及交易相关的数据。
当一个区块生成后,就永久保存在区块链中了,所有的节点都权限去访问这个区块的数据,这样就做到公开化,透明化,不会因为恶意操作或者其他因素去篡改数据。达到相互之间信任的目的。
链码又叫智能合约,当我们在区块链上发起交易或者查询交易时,就需要一定的规则进行交易。智能合约一般是由程序员写,写好之后部署到区块链上,相应的交易就可以按照这个智能合约进行。就好比企业之间的合同签订。
chaincode可以由go、nodejs等编写。作者当初用的是go,编写好后部署到IBM的fabric系统上。对外提供有query、invoke等接口。
区块链按照性质可划分为公有链、私有链、联盟链。
在公有链上,任何个人都可以加入,对数据进行读写和交易,权限的门槛比较低。比较著名公有链应用比如比特币。公有链有数据公开并且透明性、匿名性、访问门槛低等特点。当公有链上的区块达到一定数量时,访问的速度会降低。这也是公有链的弊端。
与公有链相反,私有链是一种非“公开”的链,一般用于企业内部,需要授权才能加入节点。加入的节点一般有访问数据的权限,而写入权限被严格控制。例如蚂蚁金服,就是比较知名的私有链应用。
私有链有交易速度快、私密性好、交易成本低、安全性高等特点。弊端是少数节点有权限、数据容易被操控、代码易被修改等。
联盟链是由不同的机构或组织共同管理的区块链,只有经过授权后才能加入和退出,每个机构或组织管理一个或几个节点。每个机构或组织有实体机构组织。联盟链适合组织机构间的交易和结算。
比较知名的有中国区块链研究联盟(CBRA)和微众银行等。
关于区块链的基本概念和原理是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。