《区块链开发指南》一一第1章 区块链基础

第1章 区块链基础

区块链究竟是什么?狭义地说,区块链就是比特币的底层技术;不过,经过7年的发展,区块链已经不再“依附于”比特币,而是独立地发展成为了一种革命性的技术,比特币则是区块链最大、最成功的应用。
从技术层面来看,区块链是一个基于共识机制、去中心化的公开数据库。共识机制是指在分布式系统中保证数据一致性的算法;去中心化是指参与区块链的所有节点都是权力对等的,没有高低之分,同时也指所有人都可以平等自由地参与区块链网络,唯一的限制就是个人自己的选择;公开数据库则意味着所有人都可以看到过往的区块和交易,这也保证了无法造假和改写。基于以上特性,可以总结得出:区块链由许多对等的节点组成,通过共识算法保证区块数据和交易数据的一致性,从而形成一个统一的分布式账本。
从价值层面来看,区块链是一个价值互联网,用于传递价值。目前的互联网仅用来传递消息,但是还不能可靠地传递价值;而比特币区块链却可以在全球范围内自由地传递比特币,并且能够保证不被双花、不被冒用。从这个角度来说,区块链是记录价值、传递消息和价值本身转移的一个可信账本。
这里要提一下区块链在维基百科上的官方定义:一个区块链是一个基于比特币协议的不需要许可的分布式数据库,它维护了一个持续增长的不可篡改的数据记录列表,即使对于该数据库节点的运营者们也是如此。简而言之,区块链就是区块用某种方式组织起来的链条。在区块链中,信用或记录被放在各个区块中,然后用密码签名的方式“链接”到下一个区块。这些区块在系统的每一个节点上都有完整的副本,所有的信息都带有时间戳,是可追溯的。事实上,在区块链创建之初,我们在大多数情况下谈论的区块链都是比特币的底层实现方式。
基于区块链的系统和以往的其他系统存在很多不同之处,以区块链技术为核心的系统包括如下四大最主要的特点。
Distributed(分布式的)

区块链是全球化的,系统上的节点是运行在太平洋某个小岛的笔记本电脑上还是运行在中国某个小镇的服务器上,对系统本身来说都是一样的,除了网络连接速度有区别之外,其他没有任何区别。区块链没有中心节点,数据分布式地存储在各个节点上,即使绝大部分节点毁灭了,只要还有1个节点存在,就可以重新建立并还原区块链数据。

Autonomous(自治的)

区块链是一种去中心化的、自治的交易体系,这种自治性表现在两个方面:1)所有节点都是对等的,每个节点都可以自由加入和离开,并且这一行为对整个区块链系统的运行没有任何影响。所有的节点都是按照相同的规则来达成共识,且无需其他节点的参与。2)区块链系统本身一旦运行起来,就可自行产生区块并且同步数据,无需人工参与。

Contractual(按照合约执行的)

区块链是按照合约执行的,第一体现在各个节点的运行规则(指的是交易、区块链或协议)上,按照既定的规则执行,一旦出现违背规则的行为,就会被其他节点所抛弃;第二体现在智能合约上,智能合约是一种可程序化的合同条款、规则或规定,包含在每个交易中,交易验证时必须先运行智能合约,只有通过了验证的交易才能被

接受。
Trackable(可追溯的)

区块链的数据是公开透明的,不能被篡改,而且相关交易之间有一定的关联性,因而很容易被追溯。比如比特币区块链,每一枚比特币都有其特定的来源,通过输入可以追溯到上一个交易,或者通过输出追溯到下一个交易。
此外,区块链代码本身也是可追溯的,区块链系统是开源软件,其对于所有的人都是公开的,因此任何人都可以查看并修改这些代码,不过修改后的代码需要经过开源社区上其他程序员的审核。

本书主要讨论区块链技术,这不仅包括了比特币区块链技术,还包含了比特币区块链所没有的一些技术,本章接下来将对区块链的一些基本知识做一个详细的介绍,包括交易和交易链、区块、挖矿、矿池、脚本、智能合约等。

时间: 2024-10-01 20:16:06

《区块链开发指南》一一第1章 区块链基础的相关文章

《区块链开发指南》一一导读

前 言 Preface 比特币于2009年诞生,在很长一段时间内,人们只知比特币,不知区块链.从2015年开始,区块链像狂风一样席卷全球,倍受金融界和科技界的关注:2015年年底,区块链技术逐渐得到国内金融界和科技界的了解和认同. 区块链行业的蓬勃发展源于区块链有可能给各行业带来巨大的变革.麦肯锡在2016年年初发布报告,指出区块链技术将在未来五年内颠覆众多行业,特别是银行业和保险业:埃森哲预测到2025年,区块链技术每年可帮助全球8大投资银行节省80亿美元至120亿美元的基础设施成本. 全球金

《区块链开发指南》一一第2章 区块链进阶 2.1 外带数据

第2章 区块链进阶 2.1 外带数据 区块链的外带数据是指那些保存在区块链上但不进行货币交易的信息,比如需要永久保存的信息,前面提到过存在于区块链上的每一笔交易都有一个输入和输出,区块链的外带数据也是采用类似的方式来存储的.如果有在比特币上永久存储数据的需求,那么你目前有两种选择,即:"OP_RETURN"和"Multi-Signatures".OP_RETURN是指在每个交易的公钥脚本中嵌入OP_RETURN操作码,之后放置外带数据:Multi-Signature

《区块链开发指南》一一2.4 Sidechains

2.4 Sidechains Sidechains(侧链)实质上不是指特定的某个区块链,而是指那些遵守侧链协议的所有区块链,这个词是针对比特币主链来说的.侧链协议是指可以让比特币安全地从比特币主链转移到其他区块链,同时又可以让其他区块链上的货币安全返回到比特币主链的一种协议. 所以从某种程度上来说,现在市面上的所有区块链,例如以太坊.莱特币.狗狗币等区块链都可以成为侧链应用.侧链的实现具有重大意义,它意味着比特币可以在不同的区块链上流通,其应用范围和应用前景会更加广泛.一旦侧链的应用流行起来,有

《区块链开发指南》一一2.2 Counterparty

2.2 Counterparty 合约币Counterparty是以合约币协议运行的全套金融工具,合约币协议建立在比特币块链的基础之上,把比特币块链当成可信的时间戳服务和可信的信息发布证明. 目前合约币已经实现了众多的技术创新点,比如燃烧证明.合约.去中心化XCP与BTC交易所.赌约或期货.资产或股份发行.分红等.Counterparty是建立在比特币协议上的传输层,用于建立和使用去中心化的财务工具协议.简单来说,可以将XCP理解为很多"小的BTC"即XCP="小的BTC&q

《区块链开发指南》一一2.5 最新比特币技术

2.5 最新比特币技术 随着区块链的不断发展,区块链技术也在飞速发展,不仅已经有了相对成熟的应用,还有一些原型应用也被提出,下面将介绍几个现在比较流行的在区块链中的应用.2.5.1 IBLT 比特币系统(Bitcoin)需要矿工(或者说矿池)及全节点的分散化,以实现某些人认为的比特币核心属性:抗审查性(censorship resistance).因此,区块大小的争议也意味着是一种权衡.更大的区块,允许比特币网络可以承载更多的交易,但也会带来更多的问题,它需要更多的时间来传播交易,虽然这有利于大

《区块链开发指南》一一1.2 区块和区块链

1.2 区块和区块链 比特币网络中,数据会以文件的形式被永久记录,我们称这些文件为区块.一个区块是一些或所有最新比特币交易的记录集,且未被其他先前的区块记录.可以将区块想象为一个城市记录者其记录本上单独的一页纸(对房地产产权的变更记录),或者是股票交易所的总账本.在绝大多数情况下,新区块会被加入到记录的最后(在比特币中的名称为区块链),一旦写上,就再也不能改变或删除.每个区块记录了它被创建之前发生的所有事件.1.2.1 区块结构一个区块的结构如表1-2所示. 每个区块都包括了一个被称为"魔法数&

《Node.js区块链开发》一第2章

第2章 区块链,承载人类信用的基石 第1章的内容在网上一经发布就吸引了很多关注,说明很多小伙伴因为对加密货币不了解,或者有误解,所以才会敬而远之,错失良机. 继续第1章的内容,本章仍将通过直白的语言来讲解技术原理.所涉及的内容包括现实世界的内在驱动力.未来趋势.应用场景和风险提示等.

《iOS 9 开发指南》——第1章,第1.1节IOS开发入门

第1章 IOS开发入门 iOS 9 开发指南 iOS是一个强大的系统,被广泛地应用于苹果公司的系列产品iPhone.iPad和iTouch设备中.iOS通过这些移动设备展示了一个多点触摸界面及众多内置传感器的界面.本章将带领大家认识iOS系统,为读者步入本书后面知识的学习打下基础. 1.1 iOS系统介绍 iOS 9 开发指南 图片 1 知识点讲解:光盘:视频\知识点\第1章\ iOS系统介绍.mp4 iOS是由苹果公司开发的手持设备操作系统.苹果公司最早于2007年1月9日的Mac World

《iOS 8开发指南》——第6章,第6.1节MVC模式基础

第6章 使用Xcode编写MVC程序 iOS 8开发指南 在本书前面的内容中,已经学习了面向对象编程语言Objective-C的基本知识,并且探索了Cocoa Touch.Xcode和Interface Builder编辑器的基本用法.虽然我们已经使用了多个创建好的项目,但是还没有从头开始创建一个项目.在本章的内容中,将向读者详细讲解"模型-视图-控制器"应用程序的设计模式,并从头到尾创建一个iOS应用程序的过程,为读者步入本书后面知识的学习打下基础. 6.1 MVC模式基础 iOS