专栏首页编程前沿Python技术:用不到50行的Python代码构建最小的区块链

前沿Python技术:用不到50行的Python代码构建最小的区块链

尽管一些人认为区块链是一个等待问题的解决方案,但毫无疑问,这种新技术是计算机的奇迹。但是,区块链到底是什么呢?

区块链

它是比特币或其他加密货币进行交易的数字账本,账本按时间顺序记录并对外公开。

在更一般的术语中,它是一个公共数据库,新数据存储在一个名为块的容器中,并被添加到一个不可变链(后来的区块链)中添加了过去的数据。在比特币和其他加密货币的情况下,这些数据是一组交易记录。当然,数据可以是任何类型的。

区块链技术已经催生了新的、完全数字化的货币,如比特币和莱特币,这些货币并不是由中央政府发行或管理的。因此为那些认为今天的银行系统是骗局或终将失败的人带来了新的自由。区块链所包含的以太坊技术对分布式计算进行了变革创新,它引入了一些有趣的概念,比如智能合约。

在本文中,我将用不到50行的Python2代码来做一个简单的区块链。我称它为SnakeCoin。

首先将定义块将是什么样子。在区块链中,每个块都存储一个时间戳和一个索引。在SnakeCoin中,需要把两者都存储起来。为了确保整个区块链的完整性,每个块都有一个自动识别散列。与比特币一样,每个块的散列将是块索引、时间戳、数据和前块哈希的加密哈希。数据可以是你想要的任何东西。

这一步后有块结构,但现在是创建区块链,所以需要向实际的链中添加块。如前所述,每个块都需要上一个块的信息。但是按照这个说法就有一个问题,区块链的第一个区块是如何到达那里的呢?不得不说,第一个块,或者说是起源块,它是一个特殊的块。在很多情况下,它是手动添加的,或者有独特的逻辑允许添加。

下面将创建一个函数简单地返回一个起源块以便产生第一个区块。这个块是索引0,它具有任意的数据值和“前一个哈希”参数中的任意值。

现在已经创建好了起源块,接下来需要一个函数,以便在区块链中生成后续的块。这个函数将把链中的前一个块作为参数,创建要生成的块的数据,并使用适当的数据返回新块。当新的块哈希信息来自前面的块时,区块链的完整性会随着每个新块而增加。如果不这样做,外部组织就更容易“改变过去”,用全新的方式取代已有的链条。这一系列的散列可以作为加密的证据,有助于确保一旦将块添加到区块链,它就不能被替换或删除。

大部分的工作已经完成,现在可以创建区块链了。在这次的示例中,区块链本身是一个简单的Python列表。列表的第一个元素是起源块。当然,还需要添加后续的块,因为SnakeCoin是最小的区块链,这里只添加20个新的块。可以用for循环来生成新块。

下面来测试一下目前产生的区块链。

本文来自企鹅号 - Python运维圈媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 区块链离我们到底有多远?区块链技术将引领未来变革

    2008年由中本聪第一次提出了区块链的概念,在随后的几年中,成为了电子货币比特币的核心组成部分:作为所有交易的公共账簿。 ? 那么什么是区块链?区块链就是通过密...

    企鹅号小编
  • 区块链为IBM与Visa等老牌公司注入新的生机

    区块链对蓝色巨人的意义越来越重大。 如今对于以比特币底层技术而广为人知的区块链技术的需求持续增加,以至于这很有可能会成为明年国际商业机器公司(IBM)向全球其他...

    企鹅号小编
  • 区块链重塑世界,人类还能走多远?

    养猫造成的拥堵,让大家开始惊异于区块链的力量,更多的人开始思考这个由数字构成的世界,也不得不承认,区块链技术正在潜移默化的改变着这个世界,或者说区块链技术正在重...

    企鹅号小编
  • 告别资本时间的区块链:走出寒冬的必由之路

    互联网时代的落幕给人们带来了无尽的彷徨与迷茫,区块链的出现则让人们重拾信心。无论是资本层面还是市场层面,我们似乎都看到了似曾相识的现象:资本圈不断投资区块链相关...

    孟永辉
  • 区块链技术和微服务架构的关系

    每一种新技术的产生与发展,都会与既有的技术与实践存在着联系。例如微服务作为一种技术架构,实际上是在SOA架构和JavaEE等分布式架构的基础上,进一步明晰了服务...

    物流IT圈
  • 【SAP HANA系列】SAP HANA和区块链

    随着新技术如涨潮般的发展,从技术和商业的角度来看,这些技术通常会经历不同的成熟阶段。技术应用总是从试点项目转向新项目的方式,从理论到大胆的设想,再到颠覆性的创新...

    matinal
  • 你要的区块链书单来了!

    作为一个现象级概念,金融科技创新在过去几年迎来了奇点式发展。其中引人注目的当属区块链技术。区块链技术正在动摇全球金融基础设施,它是全球*级银行和其他金融机构重点...

    黄小斜
  • 合约漏洞、黑客攻击……从业者论道区块链技术安全

    国家标准《信息安全技术区块链信息服务安全规范》研制启动会于10月19日召开,将区块链的安全问题提升到政府层面。

    用户7358413
  • “区块链中国日”一周年盘点,深圳“区块链+税务”布局提速

    ? “1024”作为中国区块链发展的关键节点,被认为是“区块链中国日”。2019年10月24日中共中央总书记习近平在主持中共中央政治局第十八次集体学习时强调,...

    腾讯TrustSQL
  • 23家上市公司抢先机落地区块链应用,政务、金融领域成果最吸睛

    区块链,是近年来资本市场关注的热门概念。试水区块链的上市公司最早可追溯至2016年或更早,随着政策的持续加码,布局区块链的公司骤增。短短数年,区块链概念股数量由...

    用户7358413

扫码关注云+社区

领取腾讯云代金券