二维码

11.1 区块链作为去中心化的工具 - 数据结构 - 机器学习

1356 人阅读 | 时间:2021年01月15日 01:09
11.1 区块链作为去中心化的工具 - 数据结构 - 机器学习 #daohang ul li t,.reed .riqi,a.shangg,a.xiatt,a.shangg:hover,a.xiatt:hover,a.shang,a.xiat,a.shang:hover,a.xiat:hover,.reed-pinglun-anniu,span.now-page,#daohangs-around,#caidan-tubiao,#daohangs,#daohangs li,#btnPost{background-color:#D10B04;} .dinglanyou1 h3{border-bottom:3px solid #D10B04;} #dibuer{border-top:2px solid #D10B04;}.cebianlan .rongqi h3{border-bottom:1px solid #D10B04;} #edtSearch{border:1px solid #D10B04;} #daohang .zuo ul li{border-right:1px solid #;} #daohang ul li t a{border-top:1px solid #;border-right:1px solid #D10B04;} #daohang ul li t a:hover{border-right:1px solid #;} #daohang .you ul li a:hover,#daohang .zuo ul li a:hover,.reed-pinglun-anniu:hover{background-color:#;} a:hover,.reed h6 a:hover,#dibuer a:hover,.reed .riqiding,.cebianlan .rongqi li a:hover,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.shu a,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.huifuliuyan a:hover,.reed-biaoti h6 span{color:#D10B04;} .reed .kan a{color:#0A0AF5;}.reed .kan a:hover{color:#D10101;} @media screen and (max-width:1492px){a.shang,a.xiat{background:none;} a.xiat:hover,a.shang:hover{background-color:#f9f9f9;background-image:none;text-decoration:none;}} var _hmt = _hmt || [];(function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s);})(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?2d748c9763cfc72fb7d1ccab29f0770d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f6d451f3f1be23f3abf240c64c469c1b"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

当前位置:首页 » 区块链精品文章 » 正文

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646201", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646162", container: s }); })();

11.1 区块链作为去中心化的工具

1154 人参与  2018年09月12日 10:34  分类 : 区块链精品文章  评论

在比特币之前,有很多数字电子货币失败的尝试(本书的前言中提到了许多失败的案例)。比特币与大多数失败的尝试之间,最重要的区别在于去中心化。比特币去中心化的核心创新方法是使用区块链。

在这一节,我们会研究区块链技术如何在货币体系以外的领域里实现去中心化。本章我们会一直重复使用汽车的案例,这辆车的所有权是通过区块链来控制的。这个案例是我们在第9章中介绍的智能合约的概念里的具体体现。早在1990年年初,尼克·萨博(Nick Szabo)和其他几位创新性提出智能资产和管理智能资产的数字化合约,远远早于比特币。随着区块链的出现,这个想法变得越来越现实和具体。

令人鼓舞的案例

当代的汽车使用两种主要的加锁机制(locking mechanisms):门上的物理锁和通过电子锁住引擎不让发动的制动器。用户用遥控钥匙可以与汽车无线通信,根据遥控器与车的距离或者用户按下按钮的特定动作,来解锁车门和发动引擎。

为了防止假冒钥匙入侵,车钥匙的解锁机制需要加密。虽然安全专家发现很多最近使用的加锁机制存在很多问题,但是他们是有可能处理好这些问题的。一般来说,这些算法会使用对称钥匙加密技术。在我们这个案例中,用的是基于非对称加密技术的类似椭圆曲线数字签名算法的数字签名技术。

在这个例子里,汽车储存了一份遥控器的公开密钥,用于打开车门和发动引擎。当遥控器请求开门的时候,汽车发送回随机数并要求遥控器用它储存的密钥签名。只有遥控器准确回复签名,车门才会被打开。到目前为止,这个原理和实际中的防盗机制没有什么大的区别。唯一的区别是,我们使用了很深的加密技术,安装起来比较昂贵。

实现智能

这次设计的智能汽车,是假设用来验证遥控器的公开密钥并不是靠汽车制造商永久地记录在汽车里;而是,智能汽车技术上可以不间断地,无线接收例如比特币一样的区块链上的新区块。当汽车在组装厂组装的时候,遥控器里第一个用户(比如组装厂的经理)的公开密钥通过特殊操作加入区块链。同时,这辆智能汽车也把该特殊操作的ID写入它自带的程序。

核心的思想是,汽车更改所有权的时候——从装配车厂到质量监控室到运输人员到汽车经销商到第一个所有者——也同时更新到区块链,区块链同时授权每一步的转换。值得注意的是,在这个模式下,授权用的遥控器没有跟着车走。每个人或者公司都有一个预先存在的遥控器(或者带着某种有遥控器功能的仪器)。这个遥控器里面有一个唯一的签名密钥。根据区块链的交易,签名密钥被激活或者被取消拥有这辆车的权利。这样的交易以车最新的交易ID为输入,同时设定一个新的公共密钥为输出ID。汽车目前的拥有者需要用私人密钥在这个输出ID上签名。

这种设计和我们在第9章讨论的智能资产相似,除了一个重大的区别: 区块链的交易不仅仅表示汽车所有权的变更,它还代表真正的汽车物理拥有权的转移。当汽车通过区块链转移的时候,前车主的遥控器无法工作,新车主的遥控器获得开门和启动引擎的权利。让所有权等同于使用权的技术有着深远的影响,这将促使强有力的去中心化。但是去中心化是否有用,这并不容易看清楚。我们将在11.4节回过头来讨论这个问题。

安全的交易

假设爱丽丝拥有一辆智能汽车想卖给鲍勃,能够数字化地转移汽车控制权会引起几个有趣的可能性。比如,爱丽丝也许正在国外旅行正需要钱来支付旅费,所以要卖掉停在她家后院车库的汽车。只要联上互联网,鲍勃就可以用比特币支付给爱丽丝车钱,爱丽丝可以远程通过区块链把车的所有权转移给鲍勃,鲍勃就可以开走这辆车。

然而,这样的交易存在一定的风险。如果鲍勃先支付,爱丽丝也许收了钱而不转移车的所有权。如果爱丽丝先转移车的所有权,鲍勃也许不付钱就把车开走了。即使假设爱丽丝在现场,也有可能另一方突然改变主意而撤销交易。这时候让不在场的第三方来调解争议也很困难。

我们之前多次碰到这种问题,包括在合币(第6章)和域名币(第10章)中。解决这类问题要使用同样的原则。只要支付的货币和汽车的拥有权同时存在相同的区块链,爱丽丝和鲍勃就可以产生一个不可分割的交易。这个交易同时转移汽车的所有权和车款。具体地说,这个交易规定两个输入:爱丽丝的所有权和鲍勃的支付款;规定两个输出:归鲍勃的所有权和归爱丽丝的支付款。这个交易需要双方提供输入要素,因此要求双方都要签名。如果只有一方签名,交易就无效。一旦一方签名,交易的细节就无法改变,除非这个签名无效。签过名的交易一旦对整个区块链广播,鲍勃只要等预设的几次确认(一般是6次),就可以拥有这辆车。鲍勃支付给爱丽丝的款项也同时被确认。两个确认是相辅相成,缺一不可的。

细心的读者也许注意到了一个微妙的问题。鲍勃可以收到爱丽丝签名的交易,自己也签名,但是不立即对外广播。等到爱丽丝卖东西的价格变了,鲍勃才把旧交易用原来的价格对外广播。所以为了避免这种问题,比较复杂的不可分割的交易里包括截止时间。过了截止时间后,爱丽丝可以发送输入她控制下的新地址,用来表示撤回她发给鲍勃的已经签过名的交易。

这是本章案例之一。我们将会在本章看到,很多其他案例使用区块链技术促使现实中的各种交易程序去中心化,从而达到不同种类的去中心化状态。其中,不可分割性(atomicity)是绝大多数案例共有的特性。也就是说,交易每一方的交割都是联系在一起的,所以它们都同时发生或者都不发生。不可分割性是区块链以外应用程序领域里重要的安全概念。

来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=360

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdPic":"","bdStyle":"0","bdSize":"16"},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"},"selectShare":{"bdContainerClass":null,"bdSelectMiniList":["qzone","tsina","tqq","renren","weixin"]}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646186", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646175", container: s }); })();
搜索

网站分类

标签列表

最近发表

    (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!

jQuery(document).ready(function($){ /* prepend menu icon */ $('#daohangs-around').prepend('
'); /* toggle nav */ $("#caidan-tubiao").on("click", function(){ $("#daohangs").slideToggle(); $(this).toggleClass("active"); }); });

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
关闭广告
关闭广告
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×