课程链接 https://www.coursera.org/learn/blockchain-basics/home
为自己学习过程中做的笔记,部分翻译可能有问题,望谅解。
目录
区块链定义 Blockchain Defined: Bitcoin & Blockchain
区块链定义 Blockchain Defined: Bitcoin & Blockchain
比特币提供了一个创新的平台,可以在没有任何*权威的情况下进行对等的价值转移。
没有*权威,比特币如何实现信任与安全?
通过在一个叫做区块链的新基础架构中实现软件程序来进行验证、验证和达成共识。
什么是区块链? 区块链是关于在分散网络中实现对等事务的。
在不知名的同事之间建立信任。将交易记录在不可变的分布式分类帐中。
在这样一个分散的系统中,我们如何在同伴之间建立信任?
通过有一个适当的流程process来验证validate、检验verify和确认confirm交易。
将交易记录在区块的分布式账簿 distributed ledger中,创建区块的防篡改记录tamper-proof record、区块的链chain of blocks,并实现区块添加到链上的一致性协议consensus protocol for agreement.
验证validation、检验verification、一致consensus和不可变的记录immutable recording将保障区块链的信任和安全性。
区块链技术支持分散点对点peer-to-peer系统的方法,一个集体信任模型,一个分布式的不可变的交易记录分类账。
阅读材料:
Bitcoin Whitepaper
Bitcoin's Academic Pedigree
What is Blockchain Technology? A Step-by-Step Guide For Beginners
Blockchain: The Invisible Technology That's Changing the World
区块链结构 Blockchain Structure
交易Transaction 是比特币区块链中最基本的元素 。交易可以被验证validated 和广播 broadcast。很多的交易一起组成一个区块 ,许多的区块通过一个数字数据链组成区块链。
区块经过一个共识过程 consensus process 来选择下一个即将添加到区块链中的区块。选择的区块会被验证verified并添加到当前链。 验证和共识过程由称为矿工 miners 的特殊对等节点进行。这些是执行由区块链协议定义的软件的强大计算机进行。
比特币网络的基本概念是未用的事务输出 Unspent Transaction Output, 也称为 UTXO。所有 UTXOs 的集合比特币网络共同定义了比特币Blockchain的状态。 UTXO 作为事务中的输入。 UTXO 也是由事务生成的输出。 所有的UTXO都在一个系统里,都被所有参与节点中的数据库存储。
事务使用指定的金额,一个或多个 UTXOs 并将其传输到一个或多个新创建的输出 UTXOs, 根据发件人发起的请求。
给定 UTXO 的结构非常简单。它包括
1)创建此 UTXO 的事务的唯一标识符
2)一个索引或 UTXO 在事务输出列表中的位置
3)价值或价值的金额
4)一个可选的脚本,用于输出的条件
交易包含:
1)当前交易的参考编号
2)一个或多个输入UTXOs的引用
3)对当前交易新生成的一个或多个输出UTXOs的引用
4)输入总量和输出总量
参与者可以验证事务内容。UTXO的参考输入是否存在于网络状态中? 这是众多验证标准中的唯一一个。
交易带来了比特币区块链的价值转移。UTXO的概念定义了此类事务的输入和输出。一旦一个区块通过矿工们一致同意的算法得到验证,它就会被添加到区块链中,即区块链。
阅读材料:
Unspent Transaction Output, UTXO
Unspent Transaction Output, UTXO
How the NSA identified Satoshi Nakamoto
测试题:
基本操作 Basic Operations
分散网络中的操作由对等参与者及其各自的计算节点负责。例如,笔记本电脑、台式机和服务器机架。
这些操作包括验证交易validation transactions、为一个块收集交易 gathering the transactions for a block、在块中广播投票事务 broadcasting the ballot transactions in the block、对下一个块的创建达成一致意见 consensus on the next block creation,以及链接这些块以形成不可变的记录 chaining the blocks to form an immutable record。
比特币区块链的基本操作:
参与者 participants
参与者有两个重要角色:1)通过创建交易来启动价值转移的参与者;2)其他称为矿工的参与者。
矿工:通过工作或计算来
1)计算验证交易;2)广播交易;3)竞争创建新的区块;4)通过验证块来达成共识;5)广播新创建的块;6)确认交易。
为什么参与者要承担额外的工作?
通过比特币奖励来激励矿工们为管理区块链而努力。交易验证由所有矿工独立执行。所有有效的交易都被添加到交易池中。矿工从这个池中选择一组交易来创建一个块。
如果每个矿工都将块添加到链中,那么链中就会有很多分支,导致状态不一致。所以开发了一种系统,矿工们竞相解开一个谜题,以确定谁有权创建下一个区块。在比特币区块链的情况下,这个谜题是a computation of parcel and the central processing unit or CPU intensive. 一旦有矿工解决了这个难题,通知就广播到网络,块也广播到网络。然后,其他参与者验证新块。参与者达成共识,在链条上增加一个新的区块。这个新块被添加到区块链的本地副本中。这样,就记录并确认了一组新的交易。
协商一致的算法被称为工作证明协议 proof-of -work,因为它涉及到解决难题的计算能力和要求形成下一个块的权利。
区块链中的主要操作是交易验证和在参与者一致同意的情况下创建块。比特币区块链也有许多潜在的隐性操作underlying implicit operations.
the main operations in a blockchain are transaction validation and block creation with the consensus of the participants. There are many underlying implicit operations as well in the bitcoin blockchain.
阅读材料:
How a Bitcoin Transaction Works
How does the Blockchain Work? (Part 1)
How Does the Blockchain Work?
测试题:
Beyond Bitcoin
比特币区块链是开源的,整个代码可以在GitHub上找到。大约从2009年开始的最初几年里,这个开源代码被扩展到发布不同的加密货币。大约有300多种加密货币被引入。比特币支持一种可选的特殊功能,称为有条件的价值转移脚本。Ethereum区块链将脚本功能扩展到称为智能合约smart contract的成熟代码执行框架。
智能合约为在区块链上嵌入业务逻辑提供了非常强大的代码执行功能。基于这些能力,比特币基金会产生了三种主要类型的区块链。
- 类型一:处理加密货币货币链中的货币。例如比特币。
- 类型二:支持加密货币和由代码执行支持的业务逻辑层。例如以太坊。
- 类型三:不涉及货币,但支持业务逻辑的软件执行。例如,Linux基金会的超级账本Hyperledger。
随着代码执行的增加,人们开始认真考虑对区块链的公共访问,从而根据访问限制对公共、私有和许可的块链进行分类。
- 公有链:比特币是公共区块链类的一个极好的例子。任何人都可以随意加入或离开。即使参与者是匿名的,事务块和区块链也是公开可见的。它是开源的。您还可以通过修改比特币代码来创建新的硬币数字货币。钱包应用程序提供了通过比特币区块链传递价值的基本接口。
- 私有链:在私有区块链中,对区块链的访问仅限于选定的参与者,例如组织中的那些参与者。这个限制有助于简化正常的操作,比如块创建和意外事件模型。
- 许可链:也称为区块链联盟。它意味着由合作各方组成的联盟可以在区块链上进行交易,以简化治理、来源和责任,例如,由所有汽车公司或医疗组织组成的联盟。被许可的区块链具有公共区块链的优点,只允许有权限的用户进行协作和交易。
智能合约等重大创新为区块链技术开辟了更广泛的应用领域。私有和许可的区块链允许对区块链的受控访问,从而支持许多不同的业务模型。
阅读材料:
A Gentle Introduction to Blockchain Technology
On Public and Private Blockchains
What is Cryptocurrency. Guide for Beginners
2017 Was Bitcoin's Year. 2018 Will Be Ethereum's
What is Cryptocurrency: Everything You Need To Know
What is the Difference Between Public and Permissioned Blockchains?
测试题:
测试资源 Quiz Resources
1. Blockchain
2. Bitcoin Block Explorer
3. Etherscan
测试方向 Quiz Directions
任务1:理解Genesis模块(Q2-Q3)
在本任务中,您将探索用于两种不同区块链实现的Genesis块(即Block 0),即Bitcoin区块链(资源1或资源2)和Ethereum区块链(资源3)。
任务2:探索比特币区块链中的一个区块(Q4-Q5)
在此任务中,您将检查并浏览上面提供的资源1或资源2的块#490624。 找到该块的哈希,上一个块的哈希以及该块中的事务数。 在块中也是如此。 之后,您将转到上一个块(按块号),并验证该块的哈希与您之前探索的块中提到的相同。
周测验: