建议和反馈

请填写你的反馈内容

区块链到底是什么?

2019-07-02 ·2983次阅读 ·读完需要11分钟

区块链技术其实就是一个分散的不可信网络,它利用本地资产,分散账本和一些基于博弈论模型的算法来使网络中的每一方达成共识。

什么是“一个区块链”(A Blockchain)?

假想你现在有一个Excel电子表格,表格中的每一行都有包含着几列的数据,其中一列包含着“交易信息”。

现在,如果每一行中的特定列中包含着该行的所有数据加上上一行传递的哈希(Hash)值对应的唯一指纹(一个新的哈希值),此时这些行顺序串联起来就构成了一个“哈希链”。

有的数据都具有唯一的哈希值,就像指纹一样,修改其中的任意一个数据都将打破这个链条

用户可以利用软件来检测这些哈希值。软件可以通过哈希链的计算方式来判断每一个哈希值的有效性。一旦出现了无效的哈希值,用户就可以知道有人在后来(哈希链创建后)伪造了某一行的数据。

快照2949_meitu_1.jpg

哈希链可能有很大用处,但是并没有什么令人激动的特性。我们为什么要讲哈希链,哈希链与“一个区块链”又有什么联系呢?

再进一步,把上面电子表格中的行扩展为多个电子表格,每个电子表格中充满了交易信息。我们将通过这种方式组合起来的交易信息称为“交易块”。

如果你在一个电子表格中创建了所有数据的哈希值,然后在另一个电子表格中创建该表中所有数据的哈希值,通过上面的方式我们可以通过两表的哈希值组合计算得到新的哈希值。像下图一样串联起来,你就得到了一个电子表格组成的链。

那么“区块链”意味着什么?

最初,“区块链”是一项大型现代企业看来都很具有颠覆性的技术,即使不用“加密货币”或者“分散式账本”(Distributed ledger)这样听起来具有颠覆性的名称也是如此。

现在,你可能经常听到有人通过说“我们在做区块链”来吸引投资者的注意。“区块链”的概念也被广泛传播,此时的概念基本上是指“围绕分散式账本概念构建的开放式的计算机网络”。

我们甚至看到了不使用“一个区块链”来构建的“区块链”,取而代之的是其他的存储技术,比如说DAG(有向无环图)。

很多在职者提到“区块链”时,他们指的其实是“一个只与我们信任的人分享的共享式数据库(shared database)”。这并不是一个新鲜的事物,分布式数据库(distributed database)在比特币出现时已经存在了至少十年。

快照2950_meitu_2.jpg

“区块链”的魅力在哪里?

区块链真正的魅力不是在于数据存储的技术,而是如何使网络中所有的不可信用户达成共识。

举例来说,通过“区块链”,可以让每个人都承认Alice支付且仅只支付给了Bob。通过她的交易信息可以证明她没有支付双倍的金额。(例:Alice在完全相同的精确时间同时支付了$5给Bob和John)。

双重支付问题是比特币所取得的主要突破。

交易信息将被存储在于网络绑定的“一个区块链”当中。网络中的任何用户都可以下载该区块链的副本(如果他们选择这样做的话),然后运行软件检验网络中加入的交易信息。

软件将拒绝任何形式的双重支付尝试。如果交易有效,软件将更新区块链中比特币(或其他资产)的所有权。

当用户使用“区块链”进行交易时,他们的软件实际上做了以下工作:

软件(用户的钱包)创建一个脚本。这个脚本是用所有计算机都可以处理、检验的计算机语言编写的。这个脚本通过私钥进行了签名,网络的用户可以通过他们的私钥来证明他们对某一区块链的所有权。

一旦通过数字签名证明所有权之后,网络就可以继续处理脚本内容。以上面提到的场景作为最简单的脚本实例——“Alice支付给Bob五美元”,此时网络中的计算机将检验Alice交易条目的真实性,如果交易有效,整个网络将同意更新信息,Alice的账户将减少5美元,Bob的账户将增加五美元。

快照2951_meitu_3.jpg

一旦使用数字签名证明了所有权,网络就可以继续处理脚本。最简单的脚本将简单地说“给Alice 5美元”。然后网络上的计算机将验证Alice在区块链中有一个条目; 如果有效,整个网络将同意更新Alice的账户,减少5美元,而Bob的账户增加5美元。

这里还有一个有趣的现象:一个常见的误解是“比特币不提供合约”。实际上提供了!一个脚本就是一份合约。当你听到“智能合约”一词时应当意识到这是交易脚本的营销术语。

“区块链”的关键问题是双重支付问题——我上面解释的过程并不能解决这个问题。

如果世界各地的两台电脑同时收到来自Alice的不同脚本怎么办?一个脚本说:“给Bob五美元”,另一个脚本说:“给苏珊五美元”——网络如何达成共识?

你瞧,“区块链”的魅力不在于“区块链”,而在于工作量证明。

工作量证明是区块链网络用来确保网络分散性的计算机算法,它还可以防止网络中的计算机自己构建历史信息。

下面给出理解工作量证明的一个简单方法:

想象在网络中运行着一个彩票系统,每隔几分钟网络会随机选择一台计算机为获胜方。此时网络会说:“这台电脑是赢家!”

然后网络对获奖的电脑说:“把你最新的有效交易块和中奖彩票交给所有其他的电脑。如果你能证明你有中奖彩票,所有其它的计算机将检查你提供的交易块是否只包含有效的交易信息。如果确实如此的话我们会更新我们的区块链来获得你新创建的区块,相应地你会获得你的奖励。”

这是简化的加密货币挖掘(cryptocurrency mining)。通过仅允许一个用户提供一个交易块,我们可以确保Alice的双重支出尝试中只有单个记录进入交易块。

此时如果不同的计算机正在构建不同的交易块即Alice目前有双重支付的交易在网络中传递,Alice最终只能花一笔钱。这是因为会根据提供的之前最新的区块来完成他们的副本的更新,之后的更新会忽略任何与最新副本不匹配的区块。

现在每个人都拥有最新的区块链副本,之后创建的任何新区块都必须通过哈希链接在当前区块链之上。


评论(0)问答(0)
请先登录或注册

请先登陆或注册

相关推荐

神奇又神秘的缅甸果敢老街到底有哪些隐藏的秘密?

你是否也想要对这个神秘又神奇的地方有更多了解呢?毕竟声名远扬,大家对它抱有好奇感也是十分正常的。想要不被套路,......
感谢身后有你 · 2020-02-19
252阅读 · 0赞赏 · 0问答

区块链支付系统_区块链承兑商支付系统开发

区块链支付系统_区块链承兑商支付系统开发区块链支付系统开发,需要了解详细系统情况的加我咨询13823153121  Q :1992891126什么是承兑商?承兑商:持有币或者是持有资产的团队......
ruixll · 2020-02-18
396阅读 · 0赞赏 · 0问答

象链科技|基于区块链和物联网技术的智慧工地解决方案(系列解读一)

智慧建筑由于其工程项目的复杂性和项目交易的频繁性等特性,拥有海量的交易和操作数据体量。海量的交易和操作数据迫切需求要一个安全、高效、低成本的存储及数据分析以实现建筑的精细化管理、低成本交易和项目信息的......
象链科技 · 2020-02-17
466阅读 · 0赞赏 · 0问答

区块链usdt支付系统开发,承兑商跨境入金支付系统开发

区块链usdt支付系统开发,承兑商跨境入金支付系统开发区块链技术又被称为分布式账本技术,是一种通过去中心化的方式集体维护一个可靠数据库的技术方案,降低风险。区块链技术的出现,解决了传统支付中遇到的问题......
T13823153201 · 2020-02-15
421阅读 · 0赞赏 · 0问答

为什么区块链和信息安全社区必须尝试量子安全设计?

 就在2020年1月的CES大会上,IBM主持了量子超级会议,并宣布其Q系列的Quantum Network在致力于商业和科学实际应用的100家组织中排名第一。这些组织来自于航空、汽车、银行......
链客 · 2020-02-11
510阅读 · 0赞赏 · 0问答

【重磅】CNCC新贸链骗局,大佬站台疯狂路演?已被多地有关部门盯上·····

一入币圈深似海,从此套路伴一生。币圈钱多套路更多,项目更是五花八门。大部分都是坑蒙拐骗。小散小白心理,更容易被大户割。下面我们一起来看CNCC新贸链骗局!早之前曝光过一个名叫CNCC的项目,点击蓝色字......
拿铁 · 2020-02-01
3326阅读 · 0赞赏 · 0问答

302

LK币

0

粉丝

1

笔记

感谢"掌舵的鱼"

这篇精彩的笔记,目前已经帮助

  • 0
  • 2
  • 9
  • 8
  • 3
喜欢0
链客社群 加入

微博进入

商务合作>

广告投放>

公司名称:北京链客行科技有限公司

联系方式:010-67707199

ICP备案号:京ICP备18032136号

Copyright:链客区块链技术问答社区 版权所有

感谢您的提问,问题被社区永久收入以便新人查看。一定要记得采纳最佳答案哦!加油!

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!