区块链技术简介

来源: wave_forest 2019-11-02 09:08:43 [] [博客] [旧帖] [给我悄悄话] 本文已被阅读: 次 (13300 bytes)
本文内容已被 [ wave_forest ] 在 2019-11-02 09:12:52 编辑过。如有问题,请报告版主或论坛管理删除.

区块链直观地说就是一个“智慧”账本在互联网上有多个等同的拷贝。当一份拷贝作出合法得变更时,其他拷贝可以验证这个变更得合法性,作出相同的变更,使得所有的拷贝同步得一摸一样。

区块链实现技术实际上已很成熟,主要就是:

  1. Merkle Trees (默克尔树)
  2. Schnorr Signatures (斯诺尔签名)
  3. Fiat Shamir and Pedersen Commitments(菲亚特、沙米尔、佩德森承诺)
  4. Hash Cash (散列现金), 即为计算出某种散列值(或者说一个特定的值),计算机必须付出得计算量,即计算代价。

这些大都是上世纪80年代和90年代的技术。区块链巧妙地把它们组合起来,为现代数字化社会提供新的应用。

以上的这些都是些数据安全(Data Security)的术语,区块链的用户不必知道技术细节。这些技术已经成功地用在了比特币(BitCoin)上。十多年过去了(比特币由中本聪发表于2008年10月31日,见“Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, www.bitcoin.org, 31 Oct 2008”),比特币的安全性可以说是很可靠的,实现比特币的区块链实际上经受了各种攻击的考验。

那么,区块链到底是什么呢?这里用一个“简化版”来描述它的主要特性。细节得钻研中本聪得文章。

这里我们先用“电子币”来描述区块链的概念,然后在给出区块链在电子币以外的应用。

假设一个国家的公民和企业都使用电子币。所有的电子币的交易历史,即从它开始的每次转手,都记在一本有多个(数量可不等)等同拷贝的“公开账本“上。这些拷贝有“智慧“,会做计算,实现我们前面讲的那些技术。这就是一个”电子币区块链“。

假定每个电子币的原始出处可以被验证的,比如说是国家银行发的,带有国家银行的电子签名,大家都接受。国家在开始发行电子币时把不同的电子币发给了一些个人和企业。这里所谓的“发给“指的是把每个电子币的归属记在”公开账本“的每个拷贝上。如

 

时间点0:

    电子币#1:张先生

    电子币#2:张先生

    电子币#3:张先生

    电子币#4:王女士

    电子币#5:王女士

    …

    电子币#500 - #999:李超市

    … 其它

 

这本“公开账本“在网上有许多等同的拷贝,供人们随时随地查询。

从上面这个“公开账本“,我们可以很清楚地看到,张先生有3个电子币,王女士有2个,李超市有500个,等等。

假如张先生要用一个电子币在李超市采购(这里用“一个电子币“是为了方便描述,可以用0.1个,也可用1.1个,原理是一样的),他可以写一张交易单,如“转电子币#1给李超市,张先生签”。

李超市当然可以验证这张交易单的真实性,因为上面有张先生不可更改的电子签名。但要让这份交易合法,即李超市“拿到”电子币#1,这笔交易必须记到这本“公开账本”上,成这样:

时间点1:

电子币#1:张先生 + [转给李超市交易单][年月日时秒分]

电子币#2:张先生

电子币#3:张先生

电子币#4:王女士

电子币#5:王女士

电子币#500 - #999:李超市

… 其它

再看这个“公开账本”,稍加计算,我们可以得到,张先生有2个电子币,王女士2个,李超市501个。

我们上面谈到,这个“公开账本”有很多拷贝,它们是怎么“同时”更改的呢?

实际上,每个拷贝就是在一个网络计算机(服务器)的数据库上。这些计算机就是所说的“挖矿机”,它们会把一个交易合法地加到它的“公开账本”的拷贝上来挣前面讲的“散列现金 (Hash Cash)”。“散列现金”的来源,可以是多样的,为简单起见,我们假设国家奖励0.1个电子币给加上一个合法交易“挖矿机”的拥有者。一个“挖矿机”的拥有者,也能是公司,甚至就是国家本身。 一个区块链有很多“挖矿机”。

当一个交易在“公开账本”的一个拷贝上被成功地加上后,这台“挖矿机”就通知其它的“挖矿机”:“账本已被成功更改。” 其它“挖矿机”做下面几件事:

  1. 验证这份交易的真伪:这个可以验证一下张先生的电子签名。
  2. 验证成功“挖矿机”账本的完整性:检查这台“挖矿机”挣到合法的“散列现金”没有。
  3. 验证自己的拷贝是否与送来的拷贝前一时间点是否一致,即检查送来的拷贝在成功更改前与自己现在的拷贝是一样的
  4. 然后更改自己的拷贝,使得它与成功“挖矿机”上的拷贝一致。

这样,大家就有了个一致的“公开账本”。这个“电子币区块链就被合法“地跟新了。

注意:任何人可以在任何时候看到所有的“公开账本”拷贝。另外,我们也可想象每个人都有自己账户,知道自己有多少钱在账上。比如说前面的张先生,他只知道自己的账上还有2个电子币,至于是几号币,他可能并不关心,就像大多数人不关心纸币上的编号,只要不是假币就行了。

到这我们可以看到,区块链就是一个记账系统,它可以把合法的交易记上去,一旦记上去后就,任何非法篡改会立刻被检测出来。

我们来看几种可能的情况:

  1. 黑客进入一个“挖矿机X”,想在电子币#2上加上一条“转电子币#2给孙假药,张先生签“这样的交易。但黑客无法得到张先生得电子签名,这条交易一上去,所有其它”挖矿机“都知道这个交易是假的,马上通知”挖矿机X“。这种直接进入系统搞数据篡改在技术上是行不通的。
  2. 假如“挖矿机H”的主人是张先生,而张先生是个隐藏的黑客。他能把时间点1做的交易变掉吗?假如现在是时间点2,电子币#1已被转手了几次,为简单起见,我们假设就一次(没有转手的情况也是一样的):“转电子币#1给蔡市场李超市,李超市签””,这时 的“公开账本”看起来像这样:

 

时间点2:

电子币#1:张先生 + [转给李超市交易单][年月日时分秒] + [转给蔡市场交易单][年月日时分秒]

电子币#2:张先生

电子币#3:张先生

电子币#4:王女士

电子币#5:王女士

电子币#500 - #999:李超市

… 其它

 

黑客张先生不能在“挖矿机H”上简单地去掉[转给李超市交易单]以及以后的交易。这样电子币#1又回到了时间点0,马上就被发现。

他可已试试把[转给李超市交易单]改成“转0.1个电子币#1给李超市,张先生签“。张先生有自己的电子签名,他可以改,改完后在自己加上去,不挣”散列现金“。但他光改自己的交易单是不够的,因为电子币#1的交易历史在”挖矿机H“上的完整性被破坏了,他必须自己把所有后面的合法交易全取下来,这里是[转给蔡市场交易单][年月日时秒分],再重新”合法“地加上去,以保持电子币#1的交易历史在”挖矿机H“上的完整性。他这样做一是要损失很多”散列现金“,二是,他的”合法“账本没人承认,因为跟大家的都不一样。而他改了以前的历史实施大家都能看出来,只有他能改,因为他有张先生的电子签名。

在中本聪的文章里(Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, www.bitcoin.org, 31 Oct 2008”),还讨论了许多其它更为复杂的攻击情形比如说多个“挖矿机“黑客合作的情形,但都证明不是可行的,无论是在理论上还是在比特币的实践上。

如果把电子币匿名,我们就有了密码币。比特币就是个很好的例子,这里就不多说了。

所以,区块链可以看作一个数据库的相同版本分布在互联网上。它们可以被同步地合法地更改,但不能被非法地篡改。

区块链除了在电子币上有许多应用外,还有许多其它应用。如防假货。我们可用下面王女士买LV包来说明一下区块链在物流市场里的应用。

当LV生产出一个包后,它就给这个包的唯一的标识码,并把这个包的标识码和特征登记在一个“贵重品区块链”里。当然,就跟我们前面电子币区块链的例子一样,一旦登录进去,这个LV包的历史就不会再改变了。

王女士在付款前,先看看这个包是否已经卖出去了(她实际上不用自己看,她的购物应用程序会帮她查好),因为市场上不会有两个包具有一样的标识码。王女士用她的电子币付款,买下这个包,“贵重品区块链”就记下这笔交易,这个LV包卖给了王女士。

这样商家还会卖一个假LV包吗?如果商家卖个假包,真包他会怎么办?肯定没法再卖了,因为真包的标识符已进了“贵重品区块链“。自己用?何必卖假包呢,不光自己还要花钱买假包,还要冒丢了做LV生意的风险,不如真包自己用,用完后二手卖掉,还省了买假包的钱。另外,这个真包没有了LV的唯一标识符,真的也成了假的。

至于直接卖假货,几乎是不可能的事,因为一个假货无法当真货登记到“贵重品区块链”里。假LV包的标识符不会有LV的签名的。

区块链还有许多其它的应用,如个人履历,智能合同(Smart Contract),法律文件、有机食品管理与跟踪等。这里就不一一列举了。比特币的成功,让人们相信区块链的技术是可行的,尽管要做到这一点,需要大量的计算资源和高速通信设施。

总结一下,从用户的角度看,区块链就是一个能够被随时随地查询、能够被合法地更改,但不能被非法篡改、也不能轻易摧毁的网络数据库。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


更多我的博客文章>>>

 

 

所有跟帖: 

没这么简单,比如LV包标识码和特征登记码对比只是码的比较。但是怎么防止假的标识码? -huntridge- 给 huntridge 发送悄悄话 huntridge 的博客首页 (0 bytes) () 11/02/2019 postreply 09:15:17

谢谢阅读并提问。 -wave_forest- 给 wave_forest 发送悄悄话 wave_forest 的博客首页 (358 bytes) () 11/02/2019 postreply 09:30:49

好文,但如果LV内部出鬼,安全性就完了。同样有央行也就不能保证安全。 -BeyondWind- 给 BeyondWind 发送悄悄话 (0 bytes) () 11/02/2019 postreply 10:03:00

谢谢。是这样。现在只有BitCoin一类的,不能做鬼,只能自己挖。 -wave_forest- 给 wave_forest 发送悄悄话 wave_forest 的博客首页 (0 bytes) () 11/02/2019 postreply 10:09:53

这个不需要区块链 -huntridge- 给 huntridge 发送悄悄话 huntridge 的博客首页 (0 bytes) () 11/02/2019 postreply 10:12:31

应用举例而已。去瑞士买表,哪要区块链。 -wave_forest- 给 wave_forest 发送悄悄话 wave_forest 的博客首页 (0 bytes) () 11/02/2019 postreply 10:16:46

这不就是商家卖假包吗? -wave_forest- 给 wave_forest 发送悄悄话 wave_forest 的博客首页 (0 bytes) () 11/02/2019 postreply 12:19:07

关键是,监控人民的中国间谍科技为谁服务?国情是这样子: -希影- 给 希影 发送悄悄话 (327 bytes) () 11/02/2019 postreply 09:48:43

赞,说到本质了,这就是习没有公开的区块链研究方向 -BeyondWind- 给 BeyondWind 发送悄悄话 (0 bytes) () 11/02/2019 postreply 10:06:18

胡说什么实话呢。真是的。 -加菲猫2019- 给 加菲猫2019 发送悄悄话 加菲猫2019 的博客首页 (0 bytes) () 11/02/2019 postreply 12:33:57

最近回国一趟,国内的全方位的,在所谓"方便"的借口下,对国人的控制是极其可怕的。 -金笔- 给 金笔 发送悄悄话 金笔 的博客首页 (0 bytes) () 11/02/2019 postreply 10:19:02

听上去像是公开透明,实质是偏向大公司的垄断。 -金笔- 给 金笔 发送悄悄话 金笔 的博客首页 (0 bytes) () 11/02/2019 postreply 10:11:07

比这还可怕,要不是全匿名系统。 -wave_forest- 给 wave_forest 发送悄悄话 wave_forest 的博客首页 (0 bytes) () 11/02/2019 postreply 10:14:08

这文章根本就是错的,中文区块链文章90%都是错的,英文的也好不到哪里去 -tibuko- 给 tibuko 发送悄悄话 tibuko 的博客首页 (0 bytes) () 11/02/2019 postreply 09:52:04

区块链根本保证不了物理的东西,只能保证数字账本不能更改 -tibuko- 给 tibuko 发送悄悄话 tibuko 的博客首页 (0 bytes) () 11/02/2019 postreply 10:02:19

谢谢! -wave_forest- 给 wave_forest 发送悄悄话 wave_forest 的博客首页 (0 bytes) () 11/02/2019 postreply 10:18:41

这个理由还不够吗? -tibuko- 给 tibuko 发送悄悄话 tibuko 的博客首页 (0 bytes) () 11/02/2019 postreply 10:31:20

差远了,再拿几条出来 ;) -wave_forest- 给 wave_forest 发送悄悄话 wave_forest 的博客首页 (0 bytes) () 11/02/2019 postreply 10:36:29

先承认错误,再可以讨论,否则就跟狐狸一样,没啥信誉 -tibuko- 给 tibuko 发送悄悄话 tibuko 的博客首页 (0 bytes) () 11/02/2019 postreply 10:40:07

什么早就实现?区块链只有炒币一个杀手级应用,原因很多 -tibuko- 给 tibuko 发送悄悄话 tibuko 的博客首页 (185 bytes) () 11/02/2019 postreply 11:24:57

高深技术留给科学家理解研究吧,我们只要知道它的目的和应用。dcep要成为和swift并行甚至取代它,这样不通过汇丰,碗舟不会被抓 -7Sle- 给 7Sle 发送悄悄话 7Sle 的博客首页 (0 bytes) () 11/02/2019 postreply 10:57:12

DCEP要成功也不在技术,而是要共识,政府能推动的办法就是所有进出口都以DCEP结算 -tibuko- 给 tibuko 发送悄悄话 tibuko 的博客首页 (54 bytes) () 11/02/2019 postreply 11:01:45

实质就是全世界都认人民币。如果DCEP还没搞好,中国和伊朗先用麻袋装人民币交易啊,伊朗喜欢人民币结算也行。 -7Sle- 给 7Sle 发送悄悄话 7Sle 的博客首页 (0 bytes) () 11/02/2019 postreply 11:42:12

这其实才是正道 -tibuko- 给 tibuko 发送悄悄话 tibuko 的博客首页 (0 bytes) () 11/02/2019 postreply 12:10:38

真用起来再说。现在说啥都没用,有些东西用起来才知道其优势或缺陷。 -加菲猫2019- 给 加菲猫2019 发送悄悄话 加菲猫2019 的博客首页 (0 bytes) () 11/02/2019 postreply 11:22:34

实现共产社会的关键一步 消灭货币。 -瞎扯淡- 给 瞎扯淡 发送悄悄话 (0 bytes) () 11/02/2019 postreply 20:21:23

闭关锁国之举。 -想不开1- 给 想不开1 发送悄悄话 (0 bytes) () 11/02/2019 postreply 22:18:23

回国发现,微信支付等非常方便,但是对老人和外国人非常不方便。但是对政府来讲,很容易在另一端随时搞事情。 -想不开1- 给 想不开1 发送悄悄话 (0 bytes) () 11/02/2019 postreply 22:20:53

和个人隐私的冲突怎么解决。 -乱打乒乓胡下棋- 给 乱打乒乓胡下棋 发送悄悄话 乱打乒乓胡下棋 的博客首页 (0 bytes) () 11/03/2019 postreply 08:30:15

这要看用什么模式了。个人隐私没问题如果采用比特币这种匿名模式,但这会导致“去中心化”。当然,也可有一个机构来统一管理。 -wave_forest- 给 wave_forest 发送悄悄话 wave_forest 的博客首页 (404 bytes) () 11/03/2019 postreply 09:43:28

请您先登陆,再发跟帖!

发现Adblock插件

如要继续浏览
请支持本站 请务必在本站关闭Adblock

关闭Adblock后 请点击

请参考如何关闭Adblock

安装Adblock plus用户请点击浏览器图标
选择“Disable on www.wenxuecity.com”

安装Adblock用户请点击图标
选择“don't run on pages on this domain”