区块链入门教程 (2)

合集下载

区块链技术的搭建与部署教程

区块链技术的搭建与部署教程

区块链技术的搭建与部署教程区块链技术是一种去中心化的数据库技术,通过分布式的网络节点进行数据的存储和传输,具有高度的安全性和透明性。

搭建和部署区块链技术是一个复杂的过程,但是在掌握了基本的原理和步骤之后,变得更加容易。

本文将为您提供一个简明扼要的区块链技术搭建与部署教程。

1. 硬件要求在开始搭建区块链技术之前,首先需要准备适当的硬件设备。

通常来说,一个标准的区块链节点的硬件要求如下:- 处理器:至少需要一至两个较新的多核处理器,用于处理并发操作和高负载。

- 内存:至少需要8GB的内存,以便处理大量的数据和运行复杂的算法。

- 存储空间:至少需要100GB的硬盘空间,用于存储区块链的数据。

- 网络连接:一个高速和稳定的网络连接,用于节点间的数据传输和同步。

- 操作系统:根据您的喜好和需求,选择适合的操作系统,如Linux、Windows 等。

2. 软件准备在搭建区块链技术之前,需要安装和配置一些必要的软件。

以下是几个重要的软件和工具:- 区块链节点软件:选择适合您需求的区块链节点软件,如Bitcoin Core、Ethereum等。

- 开发工具包:如果您需要开发自己的智能合约或定制区块链应用程序,可以安装相关的开发工具包,如Solidity、Truffle等。

- 数据库:选择一个适合您的区块链技术的数据库,如MySQL、MongoDB等。

- 网络工具:确保您的网络工具和配置正确,以确保节点之间的有效通信。

3. 区块链节点的设置和配置现在,您可以开始设置和配置区块链节点了。

以下是一些基本的步骤:- 安装节点软件:根据您选择的区块链节点软件的要求,下载并安装相应的软件包。

- 启动节点:运行节点软件并启动区块链节点。

这可能需要一些时间,因为节点需要下载和同步整个区块链的数据。

- 配置节点:根据您的需求和网络环境,配置节点的参数,如端口号、Peering 等。

确保您的节点可以与其他节点进行通信和交互。

- 备份私钥:保护好您的私钥,它是您在区块链上的身份证明和资产控制的重要工具。

区块链技术入门及应用实践

区块链技术入门及应用实践

区块链技术入门及应用实践一、什么是区块链技术区块链技术是利用点对点的网络结构和密码学的方法实现数据传输和处理的新型技术。

它是一种分布式、去中心化的数据库技术,可以实现任何形式的数据传输和存储,且所有数据都是透明、公开和不可篡改的。

区块链技术是将数据整合成数据块并通过加密和验证技术链接起来。

每个块都包含了前一个块的哈希值,这样每个块都连接在一起,形成一个区块链。

由于区块链技术的去中心化特性,数据的验证和存储可以通过网络中的多个节点来实现,保证了数据的安全性和不可篡改性。

二、区块链技术的应用1. 数字货币比特币是区块链技术最早的应用之一。

它是一种去中心化的数字货币,通过区块链技术实现安全的转账和交易。

2. 智能合约智能合约是一种基于区块链技术的可编程合约,可以自动执行合约条款。

它可以用于电子商务、金融、物流等领域的合约处理和管理。

3. 去中心化应用区块链技术可以实现分布式应用的构建。

去中心化应用可以避免单点故障和数据泄露问题,同时可以保护用户数据的隐私性。

4. 物联网区块链技术可以用于物联网设备之间的安全通信和数据交换。

通过区块链技术,可以实现设备之间的安全验证和数据共享。

5. 防伪溯源利用区块链技术可以实现产品的防伪和溯源。

每个产品可以被标记为唯一的数字标识,这个标识可以被写入区块链上,从而可以通过区块链实现追踪和验证。

三、如何学习和应用区块链技术1. 学习学习区块链技术需要掌握一定的计算机基础知识。

首先需要了解密码学、分布式系统和网络安全等方面的知识。

之后可以学习区块链技术的原理和实现,了解区块链的数据结构、算法、共识机制等核心知识。

2. 应用要应用区块链技术,需要先确定需要解决的具体问题和目标。

对于不同的行业和场景,需要根据具体的需求进行技术的选择和应用。

应用区块链技术需要考虑技术的成本和可行性,同时需要遵守相关的法规和规范。

四、总结区块链技术是一种新型的分布式数据库技术,可以实现多种数据传输和存储的需求。

区块链初学者教程创建您自己的数字身份钱包

区块链初学者教程创建您自己的数字身份钱包

区块链初学者教程创建您自己的数字身份钱包区块链初学者教程:创建您自己的数字身份钱包区块链技术一直以来都备受关注,这是一种去中心化的数字化技术,它能够确保交易的安全和透明。

随着区块链技术的快速发展,数字身份钱包成为了使用区块链的第一步。

本教程将向您介绍如何创建自己的数字身份钱包,帮助您更好地利用区块链技术。

一、了解数字身份钱包的概念数字身份钱包是一种用于存储、管理和交换区块链上数字资产的工具。

它通过公私钥加密技术和区块链技术,确保您的数字资产的安全性和隐私性。

同时,数字身份钱包还具备实现去中心化身份验证和授权的功能。

二、选择适合您的数字身份钱包类型1. 软件钱包:软件钱包是一种安装在计算机或移动设备上的应用程序,通过生成和管理公私钥对来实现资产的存储和交换。

著名的软件钱包包括Electrum、MetaMask等。

2. 硬件钱包:硬件钱包是一种专门设计的物理设备,它将私钥与计算机网络隔离,从而提供更高的安全性。

常见的硬件钱包有Ledger Nano S、Trezor等。

3. 纸质钱包:纸质钱包是一种将公私钥对打印在纸上的形式,这种方式最大限度地确保了私钥的离线存储和安全性。

创建纸质钱包时需要小心确保您的私钥不被泄露。

三、创建数字身份钱包的步骤1. 下载并安装选择的数字身份钱包应用程序。

2. 启动应用程序,按照提示创建新的钱包。

3. 生成公私钥对。

这些密钥将用于验证和加密交易。

4. 设置安全密码或PIN码,确保只有您能够访问和管理您的钱包。

5. 备份私钥或助记词。

这是非常重要的一步,备份能够帮助您在设备丢失或损坏时恢复钱包。

6. 连接您的钱包到区块链网络。

有些钱包需要通过扫描二维码或输入特定的信息来连接网络。

7. 验证您的身份并设置安全选项,如双重认证、指纹识别等。

四、管理和使用数字身份钱包1. 收款:告诉别人您的钱包地址,他们可以使用该地址向您发送数字资产。

2. 发送:在钱包应用程序中输入接收方的地址,并输入要发送的金额。

如何学习区块链技术

如何学习区块链技术

如何学习区块链技术学习区块链技术可以通过以下步骤进行:1. 理解基本概念:开始学习区块链技术前,先了解一些基本概念,如区块链、分布式账本、加密算法、共识机制等。

这些基本概念是后续学习的基础。

2. 学习核心知识:深入学习区块链的核心知识,包括哈希函数、公私钥加密、数字签名、共识算法等。

了解区块链的数据结构、交易验证和区块链网络的工作原理。

3. 阅读文献和书籍:阅读区块链领域的学术论文和专业书籍,如中本聪的比特币白皮书、以太坊的黄皮书等。

这些资源能够帮助您深入理解区块链的技术原理和应用场景。

4. 参加在线课程和培训:参加在线的区块链课程和培训可以帮助您系统地学习区块链技术。

有许多知名的在线平台提供区块链相关的课程,您可以根据自己的需求选择适合的课程进行学习。

5. 加入社区和论坛:加入区块链社区和论坛,与其他区块链爱好者和专家进行交流和讨论。

社区和论坛是学习和获取最新信息的绝佳平台,您可以向其他人请教问题、分享经验和参与讨论。

6. 探索开源项目:参与开源区块链项目,研究项目的代码和架构。

了解开源社区的贡献和最佳实践,通过实践加深对区块链技术的理解。

7. 实践开发:尝试自己动手开发一个简单的区块链项目,如创建一个智能合约、搭建一个私有链网络等。

实践是学习的关键,通过实际开发项目可以加深对区块链技术的理解和运用。

8. 持续学习和关注新技术:区块链技术发展迅速,新的技术和趋势不断涌现。

持续学习和关注最新的研究成果和技术发展,保持对区块链技术的更新和前沿的了解。

记住,学习区块链技术需要时间和耐心。

切记保持持续学习的态度,不断提升自己的技能和知识。

同时,多与他人交流和合作,通过分享和协作可以更好地学习和应用区块链技术。

区块链技术知识科普教育图文PPT教学课件

区块链技术知识科普教育图文PPT教学课件
金融领域区块链在国际汇兑、信用证、股权登记和证券交易所等金融领域有着潜在的巨大应用价值
1
6
5
4
3
2
公共服务领域区块链在公共管理、能源、交通等领域都与民众的生产生活息息相关,但是这些领域的中心化特质也带来了一些问题,可用区块链来改造
保险领域通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发理赔条件,实现保单自动理赔。
content
区块链技术来源
区块链起源于比特币,它基于P2P网络技术、加密技术、时间戳技术、区块链技术等电子现金系统的构架理念
什么是区块链技术?
2008年
中本聪第一次提出了区块链的概念,在随后的几年中,区块链成4年
“区块链2.0”成为一个关于去中心化区块链数据库的术语,它们被用来使人们远离全球化经济,使隐私得到保护。
感谢您的观看
Thank you for watching
汇报人:XXX
>
>
CAMPANY LOGO
技术起源
类型与特征
应用领域
面临的挑战
区块链应用尚在实验室初创开发阶段,没有直观可用的成熟产品。比之于互联网技术,人们可以用浏览器、APP等具体应用程序,实现信息的浏览、传递、交换和应用,但区块链明显缺乏这类突破性的应用程序,面临高技术门槛障碍。区块写入信息会无限增大,带来的信息存储、验证、容量问题有待解决。
虽然有很多人看好区块链技术,但也要看到推动人类发展的技术有很多种,哪种技术更方便更高效,人们就会应用该技术。比如,如果在通信领域应用区块链技术,通过发信息的方式是每次发给全网的所有人,但是只有那个有私钥的人才能解密打开信件,这样信息传递的安全性会大大增加,对于区块链技术来说,具有竞争性。

区块链入门教程

区块链入门教程

区块链〔blockchain〕是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。

可是,简单易懂的入门文章却很少。

区块链到底是什么,有何特别之处,很少有解释。

下面,我就来尝试,写一篇最好懂的区块链教程。

毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。

我希望读完本文,你不仅可以理解区块链,还会明白什么是挖矿、为什么挖矿越来越难等问题。

需要说明的是,我并非这方面的专家。

虽然很早就关注,但是仔细地了解区块链,还是从今年初开场。

文中的错误和不准确的地方,欢送大家指正。

一、区块链的本质区块链是什么?一句话,它是一种特殊的分布式数据库。

首先,区块链的主要作用是储存信息。

任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。

其次,任何人都可以架设效劳器,参加区块链网络,成为一个节点。

区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。

你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

二、区块链的最大特点分布式数据库并非新创造,市场上早有此类产品。

但是,区块链有一个革命性特点。

区块链没有管理员,它是彻底无中心的。

其他的数据库都有管理员,但是区块链没有。

如果有人想对区块链添加审核,也实现不了,因为它的设计目标就是防止出现居于中心地位的管理当局。

正是因为无法管理,区块链才能做到无法被控制。

否那么一旦大公司大集团控制了管理权,他们就会控制整个平台,其他使用者就都必须听命于他们了。

但是,没有了管理员,人人都可以往里面写入数据,怎么才能保证数据是可信的呢?被坏人改了怎么办?请接着往下读,这就是区块链奇妙的地方。

三、区块区块链由一个个区块〔block〕组成。

区块很像数据库的记录,每次写入数据,就是创立一个区块。

每个区块包含两个局部。

•区块头〔Head〕:记录当前区块的特征值•区块体〔Body〕:实际数据区块头包含了当前区块的多项特征值。

•生成时间•实际数据〔即区块体〕的哈希•上一个区块的哈希•...这里,你需要理解什么叫哈希〔hash〕,这是理解区块链必需的。

区块链的所有知识点总结

区块链的所有知识点总结

区块链的所有知识点总结一、区块链的基本概念1. 区块链的定义区块链是一种通过密码学技术和分布式数据库技术实现的去中心化、公开透明、不可篡改的分布式账本。

它通过将交易信息按照时间顺序链接在一起,构成一个不断增长的“区块链”,从而实现信息的不可篡改性和数据的安全性。

2. 区块链的特点区块链具有去中心化、不可篡改、安全性高、透明性强等特点,可以有效地解决传统金融体系中存在的信任问题、安全问题和高昂的交易成本问题,为社会带来了巨大的变革和创新。

3. 区块链的分类区块链可以根据其结构和功能的不同分为公有链、私有链和联盟链。

其中,公有链是指任何人都可以参与其中的区块链,私有链是由特定的组织或个人控制的区块链,而联盟链则是由多个组织共同管理的区块链。

二、区块链的基本原理1. 区块链的数据结构区块链本质上是一个由区块组成的链式数据结构,每个区块包含着一定时间内的交易信息,以及该区块的哈希值和指向上一个区块的指针,从而保证了区块链的不可篡改性和安全性。

2. 区块链的共识机制区块链网络中的节点需要通过共识机制来达成共识,确保所有节点对网络中的交易信息达成一致。

常见的共识机制包括工作量证明(PoW)、权益证明(PoS)、权益份额证明(DPoS)等。

3. 区块链的加密技术区块链网络通过加密技术来保护数据的安全性,包括对交易数据、用户身份信息和网络通信进行加密处理,保证数据的机密性和完整性。

4. 区块链的智能合约智能合约是一种基于区块链技术的自动执行合约的代码,它可以在不需要第三方介入的情况下执行合约条款,并且无法被篡改或阻止执行。

三、区块链的应用领域1. 金融行业区块链技术可以用于支付结算、资产交易、借贷融资、风险控制等方面,可以有效地降低金融交易的成本,并且提高交易效率和安全性。

2. 物联网行业区块链技术可以通过智能合约和数据共享,实现物联网设备之间的安全连接和自动化交易,提高物联网设备的安全性和可信度。

3. 版权保护区块链技术可以通过不可篡改的特性,确保数字版权的合法性和保护权益。

区块链的使用方法及步骤详解

区块链的使用方法及步骤详解

区块链的使用方法及步骤详解近年来,区块链技术以其去中心化、安全性高等特点,在各个领域得到了广泛的应用。

本文将详细介绍区块链的使用方法及步骤,帮助读者更好地理解和应用这一技术。

一、了解区块链的基本概念在深入了解区块链的使用方法之前,我们首先需要了解区块链的基本概念。

区块链是一种分布式账本技术,通过将数据以区块的形式链接在一起,形成一个不可篡改的数据库。

每个区块都包含了前一个区块的哈希值,从而形成了一个链式结构。

二、选择适合的区块链平台在使用区块链之前,我们需要选择适合的区块链平台。

目前市面上有许多不同的区块链平台,如比特币、以太坊等。

不同的平台适用于不同的场景和需求,我们需要根据自己的具体需求选择合适的平台。

三、确定区块链的应用场景区块链技术可以应用于各个领域,如金融、供应链、物联网等。

在使用区块链之前,我们需要明确自己的应用场景,并确定区块链在该场景下的具体作用和价值。

只有明确了应用场景,才能更好地进行后续的开发和应用。

四、设计和开发智能合约智能合约是区块链应用的核心组成部分,它是一种以代码形式编写的自动执行合约。

在使用区块链之前,我们需要设计和开发智能合约,定义合约的规则和执行逻辑。

通过智能合约,我们可以实现各种复杂的业务逻辑,并确保其在区块链上的执行。

五、构建区块链网络在使用区块链之前,我们需要构建一个区块链网络。

区块链网络由多个节点组成,每个节点都有一个完整的副本。

通过节点之间的共识机制,可以确保区块链的一致性和安全性。

构建区块链网络需要考虑节点的数量、分布和安全性等因素。

六、部署和测试区块链应用当区块链网络构建完成后,我们需要部署和测试区块链应用。

部署区块链应用需要将智能合约部署到区块链网络中,并确保其正常运行。

测试区块链应用需要进行功能测试、性能测试等,以确保应用的稳定性和可靠性。

七、监管和维护区块链应用在使用区块链之后,我们需要进行监管和维护工作,以确保区块链应用的正常运行。

监管工作包括对区块链网络的监控和管理,及时发现和解决问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。

可是,简单易懂的入门文章却很少。

区块链到底是什么,有何特别之处,很少有解释。

下面,我就来尝试,写一篇最好懂的区块链教程。

毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。

我希望读完本文,你不仅可以理解区块链,还会明白什么是挖矿、为什么挖矿越来越难等问题。

需要说明的是,我并非这方面的专家。

虽然很早就关注,但是仔细地了解区块链,还是从今年初开始。

文中的错误和不准确的地方,欢迎大家指正。

一、区块链的本质区块链是什么?一句话,它是一种特殊的分布式数据库。

首先,区块链的主要作用是储存信息。

任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。

其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。

区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。

你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

二、区块链的最大特点分布式数据库并非新发明,市场上早有此类产品。

但是,区块链有一个革命性特点。

区块链没有管理员,它是彻底无中心的。

其他的数据库都有管理员,但是区块链没有。

如果有人想对区块链添加审核,也实现不了,因为它的设计目标就是防止出现居于中心地位的管理当局。

正是因为无法管理,区块链才能做到无法被控制。

否则一旦大公司大集团控制了管理权,他们就会控制整个平台,其他使用者就都必须听命于他们了。

但是,没有了管理员,人人都可以往里面写入数据,怎么才能保证数据是可信的呢?被坏人改了怎么办?请接着往下读,这就是区块链奇妙的地方。

三、区块区块链由一个个区块(block)组成。

区块很像数据库的记录,每次写入数据,就是创建一个区块。

每个区块包含两个部分。

•区块头(Head):记录当前区块的特征值•区块体(Body):实际数据区块头包含了当前区块的多项特征值。

•生成时间•实际数据(即区块体)的哈希•上一个区块的哈希•...这里,你需要理解什么叫哈希(hash),这是理解区块链必需的。

所谓"哈希"就是计算机可以对任意内容,计算出一个长度相同的特征值。

区块链的哈希长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。

而且可以保证,只要原始内容不同,对应的哈希一定是不同的。

举例来说,字符串123的哈希是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),转成二进制就是256位,而且只有123能得到这个哈希。

(理论上,其他字符串也有可能得到这个哈希,但是概率极低,可以近似认为不可能发生。

)因此,就有两个重要的推论。

•推论1:每个区块的哈希都是不一样的,可以通过哈希标识区块。

•推论2:如果区块的内容变了,它的哈希一定会改变。

四、 Hash 的不可修改性区块与哈希是一一对应的,每个区块的哈希都是针对"区块头"(Head)计算的。

也就是说,把区块头的各项特征值,按照顺序连接在一起,组成一个很长的字符串,再对这个字符串计算哈希。

Hash = SHA256( 区块头 )上面就是区块哈希的计算公式,SHA256是区块链的哈希算法。

注意,这个公式里面只包含区块头,不包含区块体,也就是说,哈希由区块头唯一决定,前面说过,区块头包含很多内容,其中有当前区块体的哈希,还有上一个区块的哈希。

这意味着,如果当前区块体的内容变了,或者上一个区块的哈希变了,一定会引起当前区块的哈希改变。

这一点对区块链有重大意义。

如果有人修改了一个区块,该区块的哈希就变了。

为了让后面的区块还能连到它(因为下一个区块包含上一个区块的哈希),该人必须依次修改后面所有的区块,否则被改掉的区块就脱离区块链了。

由于后面要提到的原因,哈希的计算很耗时,短时间内修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。

正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。

这就像历史一样,发生了就是发生了,从此再无法改变。

每个区块都连着上一个区块,这也是"区块链"这个名字的由来。

五、采矿由于必须保证节点之间的同步,所以新区块的添加速度不能太快。

试想一下,你刚刚同步了一个区块,准备基于它生成下一个区块,但这时别的节点又有新区块生成,你不得不放弃做了一半的计算,再次去同步。

因为每个区块的后面,只能跟着一个区块,你永远只能在最新区块的后面,生成下一个区块。

所以,你别无选择,一听到信号,就必须立刻同步。

所以,区块链的发明者中本聪(这是假名,真实身份至今未知)故意让添加新区块,变得很困难。

他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。

这种产出速度不是通过命令达成的,而是故意设置了海量的计算。

也就是说,只有通过极其大量的计算,才能得到当前区块的有效哈希,从而把新区块添加到区块链。

由于计算量太大,所以快不起来。

这个过程就叫做采矿(mining),因为计算有效哈希的难度,好比在全世界的沙子里面,找到一粒符合条件的沙子。

计算哈希的机器就叫做矿机,操作矿机的人就叫做矿工。

六、难度系数读到这里,你可能会有一个疑问,人们都说采矿很难,可是采矿不就是用计算机算出一个哈希吗,这正是计算机的强项啊,怎么会变得很难,迟迟算不出来呢?原来不是任意一个哈希都可以,只有满足条件的哈希才会被区块链接受。

这个条件特别苛刻,使得绝大部分哈希都不满足要求,必须重算。

原来,区块头包含一个难度系数(difficulty),这个值决定了计算哈希的难度。

举例来说,第100000个区块的难度系数是14484.16236122。

区块链协议规定,使用一个常量除以难度系数,可以得到目标值(target)。

显然,难度系数越大,目标值就越小。

哈希的有效性跟目标值密切相关,只有小于目标值的哈希才是有效的,否则哈希无效,必须重算。

由于目标值非常小,哈希小于该值的机会极其渺茫,可能计算10亿次,才算中一次。

这就是采矿如此之慢的根本原因。

前面说过,当前区块的哈希由区块头唯一决定。

如果要对同一个区块反复计算哈希,就意味着,区块头必须不停地变化,否则不可能算出不一样的哈希。

区块头里面所有的特征值都是固定的,为了让区块头产生变化,中本聪故意增加了一个随机项,叫做Nonce。

Nonce 是一个随机值,矿工的作用其实就是猜出 Nonce 的值,使得区块头的哈希可以小于目标值,从而能够写入区块链。

Nonce 是非常难猜的,目前只能通过穷举法一个个试错。

根据协议,Nonce 是一个32位的二进制值,即最大可以到21.47亿。

第100000 个区块的 Nonce 值是274148111,可以理解成,矿工从0开始,一直计算了 2.74 亿次,才得到了一个有效的 Nonce 值,使得算出的哈希能够满足条件。

运气好的话,也许一会就找到了 Nonce。

运气不好的话,可能算完了21.47亿次,都没有发现 Nonce,即当前区块体不可能算出满足条件的哈希。

这时,协议允许矿工改变区块体,开始新的计算。

七、难度系数的动态调节正如上一节所说,采矿具有随机性,没法保证正好十分钟产出一个区块,有时一分钟就算出来了,有时几个小时可能也没结果。

总体来看,随着硬件设备的提升,以及矿机的数量增长,计算速度一定会越来越快。

为了将产出速率恒定在十分钟,中本聪还设计了难度系数的动态调节机制。

他规定,难度系数每两周(2016个区块)调整一次。

如果这两周里面,区块的平均生成速度是9分钟,就意味着比法定速度快了10%,因此接下来的难度系数就要调高10%;如果平均生成速度是11分钟,就意味着比法定速度慢了10%,因此接下来的难度系数就要调低10%。

难度系数越调越高(目标值越来越小),导致了采矿越来越难。

八、区块链的分叉即使区块链是可靠的,现在还有一个问题没有解决:如果两个人同时向区块链写入数据,也就是说,同时有两个区块加入,因为它们都连着前一个区块,就形成了分叉。

这时应该采纳哪一个区块呢?现在的规则是,新节点总是采用最长的那条区块链。

如果区块链有分叉,将看哪个分支在分叉点后面,先达到6个新区块(称为"六次确认")。

按照10分钟一个区块计算,一小时就可以确认。

由于新区块的生成速度由计算能力决定,所以这条规则就是说,拥有大多数计算能力的那条分支,就是正宗的区块链。

九、总结区块链作为无人管理的分布式数据库,从2009年开始已经运行了8年,没有出现大的问题。

这证明它是可行的。

但是,为了保证数据的可靠性,区块链也有自己的代价。

一是效率,数据写入区块链,最少要等待十分钟,所有节点都同步数据,则需要更多的时间;二是能耗,区块的生成需要矿工进行无数无意义的计算,这是非常耗费能源的。

因此,区块链的适用场景,其实非常有限。

1.不存在所有成员都信任的管理当局2.写入的数据不要求实时使用3.挖矿的收益能够弥补本身的成本如果无法满足上述的条件,那么传统的数据库是更好的解决方案。

.. 目前,区块链最大的应用场景(可能也是唯一的应用场景),就是以比特币为代表的加密货币。

下一篇文章,我将会介绍比特币的入门知识。

十、参考链接•How does blockchain really work?, by Sean Han•Bitcoin mining the hard way: the algorithms, protocols, and bytes, by Ken Shirriff(完)。

相关文档
最新文档