766培训网
电脑培训
怎么搭建区块链

怎么搭建区块链

发布时间 :2021-02-03 11:30:35 浏览量:382 收藏
导读:

近年来,区块链非常的热门,很多人想知道搭建区块链的方法,所以下面小编给大家介绍怎么搭建区块链,一起来看看吧。

怎么搭建区块链

搭建区块链的方法

一、创建区块链

打开你常用的编辑器,我个人比较喜欢PyCharm。创建一个新的文件,命名为 blockchain.py。整个项目,我们都只会用到这一个文件。有不清楚的地方,可以参考源代码。

二、创建 API

我们打算使用 Python 的 Flask 框架,它是一个轻型框架,可以很容易实现端点到Python函数的映射。这样,我们就可以使用 HTTP 请求通过网页访问我们的区块链了。我们用以下三个方法创建:

/transactions/new 为一个区块创建一个新的交易。

/mine 告诉我们的服务器开采一个新的区块。

/chain 返回完整的 Blockchain 类。

三、实现与 Blockchain 类交互

你可以使用普通的 cURL 或者 Postman 通过网络和刚才生成的 API 进行交互。

四、形成共识

终于写到共识了,共识机制是我认为区块链中最有意思的部分。 在上面的步骤中,我们已经创建完成了一个简单的区块链,并且能够实现交易、挖矿等基本功能。 不过,区块链上的节点应该是分散的。 如果它们是分散的,我们究竟如何确保它们记录的都是同一条链? 这就叫共识问题。如果我们的网络中需要多个节点,我们必须实现共识算法。

区块链的分类

区块链主要分为三大类,公有链、私有连和联盟连。

公有链是指没有官方组织和管理机构,完全去中心化的区块链。任何人都可以发送交易,任何人都可以进行数据访问。节点间基于共识机制开展工作。公有区块链是最早的区块链,也是目前应用最广泛的区块链。

私有链由名字可想而知,具有一定程度上的中心化控制,换句话说它对于数据访问和使用都具有严格的权限管理。他可以为个人所有,也可以建立在某个公司内部,运作规则由个人或企业要求设定,并设置相应的权限分工。联盟链介于公有链和私有链之间。是指有若干个机构共同参与管理的区块链。该区块链上的读写权限以及其他权限仅对联盟成员开放。

联盟链是一种需要注册许可的区块链,这种区块链也成为许可链。

区块链系统运行原理

1、防止交易作假机制——时间戳。为了防止交易作假,中本聪创新性的给每一笔交易盖上一个时间戳。系统会保证每十分钟产生一个区块,这十分钟内的全网交易都会被正确的盖上时间戳,而后计入区块。

2、竞争记账机制。为了解决这个问题,中本聪开创了一个竞争记账机制。系统中,每十分钟进行一轮基于加密哈希算法的数学竞赛,优先解出题目的人就会获得一次记账的权力,以及25个数字资产的奖励。其他竞赛者在得知已经有人解出题目之后,就会立马开始下一道题的解题工作。题目难度由节点根据解题速度,自动调整,整体维持十分钟进行一轮数学竞赛的频率。

3、挖矿与工作量证明原理。通过一个大家都可以验证的结果,就可以确认你做过一定量的工作。监测工作的过程效率很低,但是通过对结果进行认证,来证明完成了相应的工作量,就是一种相对高效的方式。