
区块链
文章平均质量分 96
KAZIMIYA
这个作者很懒,什么都没留下…
展开
-
【 BlockChain 】零知识证明
【 BlockChain 】零知识证明一、零知识证明起源“零知识”的概念最早在80年代由麻省理工学院的研究人员 Shafi Goldwasser,Silvio Micali 和 Charles Rackoff 所提出。当时这些人正在研究与交互证明系统相关的问题——即一种理论系统,使得甲方(证明者)可以和乙方(验证者)交换信息,并借此说服乙方接受(通过验证)某个数学论述为真 [作者注1]。在Goldwasser等人之前,这个领域的研究工作主要聚焦在加强证明系统的可靠性(Soundness)。也就是说原先原创 2022-02-22 11:10:31 · 24754 阅读 · 6 评论 -
【BlockChain】go实现区块链7:网络
【BlockChain】go实现区块链7:网络引言到目前为止,我们所构建的原型已经具备了区块链所有的关键特性:匿名,安全,随机生成的地址;区块链数据存储;工作量证明系统;可靠地存储交易。尽管这些特性都不可或缺,但是仍有不足。能够使得这些特性真正发光发热,使得加密货币成为可能的,是网络(network)。如果实现的这样一个区块链仅仅运行在单一节点上,有什么用呢?如果只有一个用户,那么这些基于密码学的特性,又有什么用呢?正是由于网络,才使得整个机制能够运转和发光发热。你可以将这些区块链特性认为是规则(ru转载 2022-02-15 13:22:50 · 632 阅读 · 0 评论 -
【BlockChain】go实现区块链6:含有merkle树的交易
【BlockChain】go实现区块链6:含有merkle树的交易引言在这个系列文章的一开始,我们就提到了,区块链是一个分布式数据库。不过在之前的文章中,我们选择性地跳过了“分布式”这个部分,而是将注意力都放到了“数据库”部分。到目前为止,我们几乎已经实现了一个区块链数据库的所有元素。今天,我们将会分析之前跳过的一些机制。而在下一篇文章中,我们将会开始讨论区块链的分布式特性。本文的代码实现变化很大,请点击 这里 查看所有的代码更改。奖励在上一篇文章中,我们略过的一个小细节是挖矿奖励。现在,我们转载 2022-02-14 16:24:43 · 1128 阅读 · 0 评论 -
【BlockChain】go实现区块链5:地址
【BlockChain】go实现区块链5:地址引言在上一篇文章中,我们已经初步实现了交易。相信你应该了解了交易中的一些天然属性,这些属性没有丝毫“个人”色彩的存在:在比特币中,没有用户账户,不需要也不会在任何地方存储个人数据(比如姓名,护照号码或者 SSN)。但是,我们总要有某种途径识别出你是交易输出的所有者(也就是说,你拥有在这些输出上锁定的币)。这就是比特币地址(address)需要完成的使命。在上一篇中,我们把一个由用户定义的任意字符串当成是地址,现在我们将要实现一个跟比特币一样的真实地址。转载 2022-02-14 16:23:59 · 1213 阅读 · 0 评论 -
【BlockChain】go实现区块链3:持久化和命令行接口
【BlockChain】go实现区块链3:持久化和命令行接口引言到目前为止,我们已经构建了一个有工作量证明机制的区块链。有了工作量证明,挖矿也就有了着落。虽然目前距离一个有着完整功能的区块链越来越近了,但是它仍然缺少了一些重要的特性。在今天的内容中,我们会将区块链持久化到一个数据库中,然后会提供一个简单的命令行接口,用来完成一些与区块链的交互操作。本质上,区块链是一个分布式数据库,不过,我们暂时先忽略 “分布式” 这个部分,仅专注于 “存储” 这一点。选择数据库目前,我们的区块链实现里面并没有用到数转载 2022-02-14 16:22:06 · 857 阅读 · 0 评论 -
【BlockChain】go实现区块链2:工作量证明
【BlockChain】go实现区块链2:工作量证明引言上一篇中,我们构造了一个非常简单的数据结构 – 区块,它也是整个区块链数据库的核心。目前所完成的区块链原型,已经可以通过链式关系把区块相互关联起来:每个块都与前一个块相关联。但是,当前实现的区块链有一个巨大的缺陷:向链中加入区块太容易,也太廉价了。而区块链和比特币的其中一个核心就是,要想加入新的区块,必须先完成一些非常困难的工作。在本文,我们将会弥补这个缺陷。工作量证明区块链的一个关键点就是,一个人必须经过一系列困难的工作,才能将数据放入到区转载 2022-02-14 15:34:09 · 751 阅读 · 0 评论 -
【BlockChain】go实现区块链1:基本原型
【BlockChain】go实现区块链1:基本原型引言区块链是 21 世纪最具革命性的技术之一,它仍然处于不断成长的阶段,而且还有很多潜力尚未显现。 本质上,区块链只是一个分布式数据库而已。 不过,使它独一无二的是,区块链是一个公开的数据库,而不是一个私人数据库,也就是说,每个使用它的人都有一个完整或部分的副本。 只有经过其他“数据库管理员”的同意,才能向数据库中添加新的记录。 此外,也正是由于区块链,才使得加密货币和智能合约成为现实。在本系列文章中,我们将实现一个简化版的区块链,并基于它来构建一个简转载 2022-02-14 15:33:07 · 1386 阅读 · 0 评论