近年来以太坊共识算法是什么,区块链这个名词越来越频繁地进入公众视野,各行各业都在讨论它将怎样改变这个社会。
区块链的基本概念
区块链(BlockChain)是一种IT技术,由中本聪(化名)在2008年作为比特币的底层技术而发明出来。比特币是区块链技术第一个应用,也是目前为止最成功的应用。除比特币外,目前比较流行的区块链还有以太坊、超级账本等。
区块链这个词有两层含义以太坊共识算法是什么:
狭义的区块链是一种数据结构,按照时间顺序将数据区块先后链接起来,并以密码学算法保证以这种方式存储的数据不可篡改和不可伪造,且可以方便地进行验证;
广义的区块链技术则是指包括这种数据结构以及点对点(P2P)网络、共识机制、智能合约等一系列技术所构成的技术体系的总称,有时也被称为分布式账本,虽然这二者之间还有一些细微的差别。通常我们所称的区块链指的是广义的概念。
那么,P2P网络、共识机制、智能合约这些又是什么呢以太坊共识算法是什么?
P2P网络
P2P网络是一种计算机网络的组成方式,与常见的web网络不同,它是分散的、去中心化的。
Web网络是中心化的,每一个网站形成一个中心,我们普通人的电脑(手机)互相之间并不直接连接,而都是连到网站的服务器上。例如我们向朋友发一条微信消息,消息数据首先被发往腾讯的服务器,在服务器上存储之后再发给朋友的手机。如果腾讯的服务器出现故障或者被黑客攻击,那我们就没法使用微信相互发消息了。
而P2P网络则不同,所有的电脑都是平等的,不需要中心服务器,互相之间都可以直接建立连接并发送数据。这样做的好处就是不用担心某个中心服务器出现故障,整个网络几乎是坚不可摧的。P2P网络还有一个优势就是使用的人越多,网络越通畅,这一点是web网络做不到的。
P2P网络最早的应用是1999年由美国人Shawn Fanning发明的Napster,用于分享音乐;最著名也是使用最广泛的应用是BitTorrent(BT),用于在网上下载文件。
共识机制
由于P2P网络上所有人都是平等的,没有权威,这就带来一个困扰——怎么判断我收到的信息真实没有被伪造或篡改呢?
在传统的中心化网络里,是以中心权威发布的数据为准,比如银行跨行转账系统,一律以人民银行提供的数据为准,各行对账如果不符,只能自己调账。这样做简便易行,但前提是所有参与者必须信任中心权威方,中心也不能出错,如果中心数据出错则所有参与者的数据全都错了。
在P2P网络里,没有这样的权威、受信赖的中心,但可以利用共识机制和区块链数据结构来确保所有参与者收到的数据都是完全一致的。
共识机制本质上是一种可编程的协议,如果所有参与者都严格按照同样的协议在区块链上生成数据,则每个人生成的区块链都是完全一样的;如果有少数人违反共识协议,故意生成错误的数据,其他人可以立即发现,拒绝接受他的数据进入区块链,这样的结果就是错误的数据被整个网络抛弃,剩下的都是大家一致认同的、正确的数据。
从这里可以看出,共识机制有一个很重要的前提,就是大多数人必须是诚实的。关于这一点不用过于担心,区块链通过激励机制和博弈论可以保证这个前提是成立的。
这样的协议也称为共识算法,最著名的共识算法就是比特币采用的工作量证明算法(PoW),可以在数学上证明,当超过一半的参与者遵守共识机制时,区块链是安全可靠的。
还有一些其他的共识机制,比如权益证明算法(PoS)、实用拜占庭容错算法(PBFT)等。这些共识机制各有利弊,比如工作量证明算法需要浪费大量的算力,权益证明算法会导致贫富差距拉大,拜占庭容错算法不支持太多的参与者且要求2/3以上的参与者是诚实的。
智能合约
智能合约的概念由尼克·萨博(Nick Szabo)在1995年首次提出。他指出,一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。
通俗地说,智能合约是一段计算机程序代码,代码事先规定好了两个或多个参与者之间的权利义务,这样的权利和义务往往不是立即执行、而是在将来满足一系列条件时才执行,智能合约一旦开始执行就无法单方面退出。
智能合约与现实生活中的合同文本类似,只是智能合约是一个程序,是自动执行的,不需要律师和法官的介入。这是一个伟大的构想,但是以当时的技术水平还无法实现,直到2008年才由中本聪在比特币区块链中实现了一个基本的智能合约形式。
在比特币区块链中进行转账,实际上就是执行了一个非常简单的智能合约,转账不是立即执行的,需要由矿工在一定时间(平均10分钟左右)内执行这个智能合约,当执行成功时才会记录进比特币区块链,在这之前转账是不可撤销的。
一个简单的智能合约是这样的:“如果我提供了正确的签名,则将X个比特币转到某某地址。”更复杂一些的智能合约可能会是这样:“请在3天后将X个比特币转到某某地址,如果在这之前我提供了某个特殊的签名,则不进行转账,将这X个比特币退还给我。”在以太坊等区块链中,还可以支持业务逻辑非常复杂的智能合约,比如期权交易、资产多方托管等等。
总之,可以把区块链比作一个由许多会计师同时记账的账本,每个会计都以同样的会计准则、按时间顺序将他收到的所有交易凭证记录到各自的账本上。而这些会计之间互不隶属、相互监督,每隔一定时间(比如10分钟)就相互查账,如果发现有人违反会计准则就辞退掉,然后按照事先定好的规则,从剩下的会计中选择一个做为最终结果(称为一个区块),其他人根据这个结果调整自己的账本,再继续记账,这个时点之前的账不允许再做调整。这样就产生了一个“区块”,将区块按先后顺序排列起来形成一个完整的账本,就是区块链了。
看完本文,相信你对区块链已经有了基本了解。那区块链采用了这么多复杂的技术,目的是什么?有什么实际用途?使用区块链技术能为我们带来什么好处呢?且听下回分解。
要咨询数字货币系统区块链技术研发这块的可ruiecl_liu,想了解更关数字货币区块链技术的最新资讯也可多多关注微信公众号:共享数字货币。
(文章编辑:数字货币交易系统淡小念微信ruiec_liu,如对文章内容有疑义请找管理员)