VGO飞猪开发【向经理【Tel/V:185- 743电28-778】VGO飞猪app开发,VGO飞猪系统开发,VGO飞猪模式开发
那么“区块链”意味着什么?
最初,“区块链”是一项大型现代企业看来都很具有颠覆性的技术,即使不用“加密货币”或者“分散式账本”(Distributed ledger)这样听起来具有颠覆性的名称也是如此。

现在,你可能经常听到有人通过说“我们在做区块链”来吸引投资者的注意。“区块链”的概念也被广泛传播,此时的概念基本上是指“围绕分散式账本概念构建的开放式的计算机网络”。
我们甚至看到了不使用“一个区块链”来构建的“区块链”,取而代之的是其他的存储技术,比如说DAG(有向无环图)。
很多在职者提到“区块链”时,他们指的其实是“一个只与我们信任的人分享的共享式数据库(shared database)”。这并不是一个新鲜的事物,分布式数据库(distributed database)在比特币出现时已经存在了至少十年。
“区块链”的魅力在哪里?
区块链真正的魅力不是在于数据存储的技术,而是如何使网络中所有的不可信用户达成共识。
举例来说,通过“区块链”,可以让每个人都承认Alice支付且仅只支付给了Bob。通过她的交易信息可以证明她没有支付双倍的金额。(例:Alice在完全相同的精确时间同时支付了$5给Bob和John)。
双重支付问题是比特币所取得的主要突破。
交易信息将被存储在于网络绑定的“一个区块链”当中。网络中的任何用户都可以下载该区块链的副本(如果他们选择这样做的话),然后运行软件检验网络中加入的交易信息。
软件将拒绝任何形式的双重支付尝试。如果交易有效,软件将更新区块链中比特币(或其他资产)的所有权。
当用户使用“区块链”进行交易时,他们的软件实际上做了以下工作:
软件(用户的钱包)创建一个脚本。这个脚本是用所有计算机都可以处理、检验的计算机语言编写的。这个脚本通过私钥进行了签名,网络的用户可以通过他们的私钥来证明他们对某一区块链的所有权。
一旦通过数字签名证明所有权之后,网络就可以继续处理脚本内容。以上面提到的场景作为最简单的脚本实例——“Alice支付给Bob五美元”,此时网络中的计算机将检验Alice交易条目的真实性,如果交易有效,整个网络将同意更新信息,Alice的账户将减少5美元,Bob的账户将增加五美元。
一旦使用数字签名证明了所有权,网络就可以继续处理脚本。最简单的脚本将简单地说“给Alice 5美元”。然后网络上的计算机将验证Alice在区块链中有一个条目; 如果有效,整个网络将同意更新Alice的账户,减少5美元,而Bob的账户增加5美元。
这里还有一个有趣的现象:一个常见的误解是“比特币不提供合约”。实际上提供了!一个脚本就是一份合约。当你听到“智能合约”一词时应当意识到这是交易脚本的营销术语。
“区块链”的关键问题是双重支付问题——我上面解释的过程并不能解决这个问题。
如果世界各地的两台电脑同时收到来自Alice的不同脚本怎么办?一个脚本说:“给Bob五美元”,另一个脚本说:“给苏珊五美元”——网络如何达成共识?
你瞧,“区块链”的魅力不在于“区块链”,而在于工作量证明。
工作量证明是区块链网络用来确保网络分散性的计算机算法,它还可以防止网络中的计算机自己构建历史信息。
下面给出理解工作量证明的一个简单方法:
想象在网络中运行着一个彩票系统,每隔几分钟网络会随机选择一台计算机为获胜方。此时网络会说:“这台电脑是赢家!”
然后网络对获奖的电脑说:“把你最新的有效交易块和中奖彩票交给所有其他的电脑。如果你能证明你有中奖彩票,所有其它的计算机将检查你提供的交易块是否只包含有效的交易信息。如果确实如此的话我们会更新我们的区块链来获得你新创建的区块,相应地你会获得你的奖励。”
这是简化的加密货币挖掘(cryptocurrency mining)。通过仅允许一个用户提供一个交易块,我们可以确保Alice的双重支出尝试中只有单个记录进入交易块。
此时如果不同的计算机正在构建不同的交易块即Alice目前有双重支付的交易在网络中传递,Alice最终只能花一笔钱。这是因为会根据提供的之前最新的区块来完成他们的副本的更新,之后的更新会忽略任何与最新副本不匹配的区块。
现在每个人都拥有最新的区块链副本,之后创建的任何新区块都必须通过哈希链接在当前区块链之上。
VGO飞猪开发【向经理【Tel/V:185- 743电28-778】