解构区块链

解构区块链
作者: 编者:凌力
出版社: 清华大学
原售价: 79.00
折扣价: 51.40
折扣购买: 解构区块链
ISBN: 9787302520580

作者简介

凌力,1992年毕业于复旦大学计算机科学系,获理学硕士学位。现任复旦大学信息科学与工程学院通信科学与工程系副教授。研究方向包括:云计算,物联网,网络与信息安全。开设“网络安全”、“网络协议”、“**网络”等多门研究生、本科生课程。现任上海市科委、上海市经信委、浦东新区等多个区县的信息技术专家。主持并完成IPv6技术研究、高速安全智能接入控制设备研制、面向服务漫游的个人信息站研发、可信交易支撑技术体系及应用等十多个科研项目,并多次获得省部级科技成果奖。在各级学术刊物发表十多篇论文,已出版《**网络概论》《网络协议与网络安全》等六部著作。主持规划设计“市民信箱”“家校互动”“市民云”等多个上海市**实事项目的平台。

内容简介

第5章对等网络技术 网络信息系统是由计算机联网所构成,有两种典型的组织模式(如图5.1所示): 集中式(centralization)和对等式(peertopeer,简称P2P)。集中式系统由中心服务器负责运行管控,其他所有计算机客户端都与和只与中心服务器互连,构成主从(mastersl**e)关系,客户端之间的通信都要通过服务器,形成星状拓扑结构; 对等式系统中则没有中心服务器,计算机结点之间相互平等、直接互连,形成扁平(flat)的网状拓扑结构。 图5.1网络系统组织模式 比特币是一种对等网络系统。由于缺少中心服务器的协调,所有功能都要通过各个结点间协调、协作完成,具有很高难度和技术挑战性。同时,比特币作为一种金融类系统,需要达到很强的安全性,以防止篡改、伪造、欺诈、假冒等恶意行为,要让遍布**的“鱼龙混杂”的结点一致行动,无疑是对计算机网络技术的**考验。 5.1对等网络技术架构 对等网络系统的技术核心在于控制(control)。在计算机系统中,控制体现为执行逻辑,在集中式系统中很容易在单点上实现“神经中枢”,而在对等网络系统中,必须将控制“神经元”分散体现到各个结点的运行规则上,所谓化管理于无形。 对等网络系统控制的重中之重是同步(synchronization),须保持各个结点(node)间数据的一致性、对数据理解的一致性、判别规则的一致性、对事件反应的一致性及*作行为的一致性。这里的一致性并非指**相同,可以是全集与子集的关系,即应相同者必相同,但有些结点可以只保存部分数据、执行部分功能,或时间上存在滞后。因此,同步不一定要达到时间和状态的强同步。 例如比特币系统,各个结点需要拥有一致的区块链、区块链账本记载的交易、区块和交易的验证规则、脚本执行逻辑、挖矿难度值及挖矿方法等,同时允许存在不同类型的结点,允许结点只保存所需要的部分数据。 对等网络系统结点间的同步方法是通过协议(protocol)实现的。为使结点间尽可能松耦合,避免相互牵制和影响,应采用异步型应用层协议,即面向非连接、非停等(确认)式信息传输、非重传机制、非流量控制等。以结点间数据查询为例: 异步型协议发送查询报文后,并不需要等待直到报文全部到达,而是可以继续处理其他事务; 每到达一个数据报文,仅处理该报文,例如*新数据库,即每个数据报文(假定有多个)的到达都按独立事件对待; 对等结点也是如此,收到查询报文后立即予以响应,回复查询到的一个或多个报文,或不作任何回复(例如未查询到或查询报文有误)。 需要区分对等网络系统与分布式系统的微妙差异。分布式系统一般指资源对象的分散,如分布式计算、分布式存储,计算资源或数据资源由不同的计算机来分担,而且分布式系统往往有中央控制系统进行协调管理; 对等网络系统则*强调计算机实体间的平等性,不*任何中心系统的控制,而是独立、自主地运行。但两者具有很多共性,都需要做到不同结点间的**协调,都具有很强的容错性、灵活性,因此理论成果丰富的分布式系统技术可成为对等网络系统的坚实基础。 理想的对等网络系统中,各个结点独立运行、不依赖其他结点,准确地说,不依赖特定的结点,而是依赖整体网络(如图5.2所示)。一个结点所需要的信息必然来自网络中的某个结点,但如果这个结点不能提供,则从其他结点也能获取到。每个结点从对等网络中获取所需数据以及网络提供的服务,同时承担相应职责、履行一定义务,为网络中的其他结点提供自己掌握的数据、给予有关服务(例如路由转发报文、验证及投票)。在开放的对等网络系统中,结点可随时、不经申明地加入(上线)或离开(下线)系统,其他结点会不断侦测变化、自动适应*新,整体网络的运行不会*到个别结点在线状况或服务能力的影响。 图5.2对等网络结点与网络关系示意图 不存在处于集中式和对等式中间地带的“弱中心化”模式。所谓的弱中心化有时候指需要附加一定条件的*作,例如某个结点提供初始启动阶段(时间条件)的索引服务,有时候则是指局部效应,例如某几个结点承担全量数据存储任务,事实上*接近于结点分工的差别。但只要结点间的依赖性没有上升到全局控制层面,就属于对等式系统; 如果各个结点对某些结点有全业务依赖性,例如每次业务*作都以某个结点获取必要信息为前提,则应归为集中式系统。 另一种说辞是“多中心化”模式,实际上是中心服务系统的分布式实现,而整个系统依然属于集中式范畴。关于比特币的“去中心化”(decentralization)描述也并不恰当,因为比特币从来就没有中心化实现的版本,就谈不上“去”一说; 如果“去中心化”是指去掉控制,那就*错得离谱,因为离开了有效且严格的控制,任何系统都无法正常运行。 自2009年比特币诞生以来,作为一项新兴的、开创性的技术,*到**金融投资人、技术研发者、乃至各国**、各大银行的广泛关注与投入,因为比特币不仅具有金融属性,而且其创立的区块链技术在诸多行业领域都有巨大的应用价值,具备很强的发展潜力,因此正在逐步进入高校、科研院所、培训机构的课程体系中。 目前图书市场已有一些介绍比特币、区块链的书籍,但基本上都侧重于应用、投资或社会学等方面,缺少对区块链底层技术的系统性、细致性阐述,往往浮于表面概念、见解观点的探讨,甚至不乏谬误,*缺乏专门的教学用书。《解构区块链》将在一定程度上改变这一不足,为学习者提供准确、全面、严谨的知识体系。 《解构区块链》将从比特币入手,在了解其基本原理的基础上,首先让学习者掌握相关的密码学中的关键算法和认知、互联网中的对等网络概念与技术,再进一步剖析比特币系统和区块链技术的详细技术架构,达到**掌握其技术原理的目的;其次对核心的区块链技术进行各个方面的扩展改进、探讨典型的行业应用,使学习者*深刻地理解区块链的本质,并能扬长避短、灵活运用。《解构区块链》的相关内容(包括知识体系、逻辑结构)已多次在研究生课程、**研修(培训)班、专题讲座和演讲中使用,取得很好的效果。 然而《解构区块链》并不负责解答所有疑问,诸如“我这个项目能否运用区块链技术?怎么用?”等。因此,在区块链技术方面,《解构区块链》是一部“三不”书—— 首先不是“预言书”。虽然《解构区块链》不可避免会涉及一些观点和判断,也有启发性的案例讨论,但并不专注于阐述行情走势、未来趋势、价值衡量、行业预测、社会影响等比较主观的话题,这些都应该是学习者掌握区块链技术原理后自然、自发、自觉的思考。 其次不是“编程书”。《解构区块链》确实将深入区块链技术到比特级别构造的程度,据此开发软件是可行的,而且部分算法用代码形式阐述,可*多是为了清楚说明问题的需要。 *后不是“投资书”。《解构区块链》并没有投资分析、指南、路线之类的内容,主要是可以让技术好奇者豁然开朗的细节。