比特币区块

区块链学习

北城余情 提交于 2019-12-05 19:47:14
慕课@Tiny熊 @cy 区块链不是单一技术,而是一系列技术的集合。 核心技术: 密码学额和数字签名用于身份地址标识; 共识算法用于工作量证明; 分布式存储技术用于存储交易记录和区块,分布式网络技术用于网络通信和结点发现; 本质:一个分布式的、公开的数据库,是加密货币和智能合约的基础; 为什么叫区块链? 数据是以一个个区块链式存储的,通过hash的方式把一个一个区块相连;即从第一个创世区块开始,之后产生的每一个区块都新增到上一个区块的后面。 区块:分为区块头部和区块数据,头部中存储了上一个区块的哈希值。 序号 时间戳 Hash值 交易记录 应用场景: 资产:数字资产发型、支付、交易、结算 记账:股权交易、供应链金融、商业积分 基于区块链不可篡改的特性:溯源、众筹、医疗证明、存在性证明 不可篡改:因为每一个块都记录了前一个块的哈希值,一个块的改变会引起之后每一个块的改变,因此要修改前面的数据成本非常昂贵。 点对点技术:共享经济、物联网 隐私:匿名交易。交易过程中交易双方的个人信息保密,也没有第三方机构的参与。 比特币是什么? 一种数字货币,当一串数字可以当做货币的时候,它的价值来自大家的信任;由计算(挖矿)产生;交易过程具有安全性、隐私性、可追溯、不可篡改等特性;采用区块链作为底层技术来实现上述特性。 信任从何而来? 1.财产只受自己的私钥控制。财产安全转变成保证私钥不暴露。 2

05.比特币区块链的数据结构

久未见 提交于 2019-12-05 19:28:46
我们回到两个人转账交易的过程中,去理解比特币 区块链 的 数据结构 。 我发起一笔交易,即我向整个区块链网络广播,我和你两个人想进行这笔交易:我向你的地址中转入一笔比特币,无须你的许可。 但只有当这笔交易被打包进最新的比特币区块中时,这笔交易才真正完成。通常来说,当在一笔交易所在的区块之后又增加 5 个区块,即包括它自己在内一共经过 6 次确认时,这笔交易可认为被完全确认。按比特币每个区块的确认时间 10 分钟估算,即一笔交易最终确认要经过约 1 小时。 这里包括了两步:一是交易被打包进候选区块,每个节点可以按规则生成不同的候选区块;二是节点 挖矿 成功,候选区块被成功地加到区块链的尾部,成为最新的正式区块。 那么,把一笔交易打包进区块是什么意思呢?这涉及区块链最基础的数据结构,这也是它不可篡改的基础。 以下讨论可能略显枯燥,但却是认识比特币与区块链的最基础的知识,我尽量以通俗的语言来解释。 区块链之所以被称为 blockchain,是因为它的数据块以链状的形式存储着。从第一个区块即所谓的创世区块开始,新增的区块不断地被连到上一个区块的后面,形成一条链条。 每个区块由两个部分组成——区块头部和区块数据。其中,区块头部中有一个哈希指针指向上一个区块,这个哈希指针包含前一个数据块的哈希值。哈希值可以被看成是数据块的指纹,即在后一个区块的头部中均存储有上一个区块数据的指纹

07 挖矿是什么意思?矿工都做了什么?

白昼怎懂夜的黑 提交于 2019-12-05 19:28:41
挖矿节点计算机在挖矿时要做两个任务: 第一个任务是把比特币网络中未确认的交易按梅克尔树组装成候选区块,未被纳入的交易则往下顺延。 在创建候选区块时,除了普通的交易之外,矿工在其中增加一个特殊的交易:币基交易(coinbase transaction)。如果挖矿成功,则币基交易会凭空转出新区块的奖励比特币到矿工的钱包地址中,从而发行这些比特币出来。这个特殊交易也被叫作“创币交易”,新的比特币是在这一交易中被创造出来的。 挖矿节点计算机的第二个任务是真正的挖矿,即进行加密哈希计算,解决一个计算难题,进行算力竞争。在众多争夺记账权的节点中,谁最先完成这个计算,它打包的区块就被加到了 区块链 的最后,成为最新的区块。率先完成计算的矿工会赢得新区块的挖矿奖励。最初,成功挖出一个区块,矿工可以获得 50 个比特币的奖励,按规则,这个挖矿奖励每四年减半一次,分别为 25 个、12.5 个,以此类推。 我们再讨论两个问题,以深入了解比特币的工作量证明共识机制与它的挖矿机制。 第一,先向内看,比特币矿工挖矿是在做什么? 在候选区块的头部有一个 32 位的随机数区域,矿工需要反复调整随机数并计算,目标是让整个区块的哈希值小于一个“目标值”。如果试过所有的 32 位随机数可能性后,计算仍未能成功,那么就要改变币基(coinbase)的一个随机数,接着进行反复计算。 这个计算是加密哈希计算(对比特币来说是

06.工作量证明共识机制

家住魔仙堡 提交于 2019-12-05 19:28:36
什么是共识机制 区块链作为一个去中心化的分布式账本系统,然而在实际运行中,怎么解决因为去中心化后,保证整个系统能有效运行,各个节点诚实记账,在没有所谓的中心的情况下,互相不信任的个体之间就交易的合法性达成共识的共识机制。 为什么需要共识机制? 在分布式系统中,各个不同的主机通过异步通信方式组成网络集群。为了保证每个主机达成一致的状态共识,就需要在主机之间进行状态复制。异步系统中,可能会出现各样的问题,例如主机出现故障无法通信,或者新能下降,而网络也可能发生拥堵延迟,类似的种种故障有可能会发生错误信息在系统内传播。因此需要在默认不可靠的异步网络中定义容错协议,以确保各主机达成安全可靠的状态共识。所以,利用区块链构造基于互联网的去中心化账本,需要解决的首要问题是如何实现不同账本节点上的账本数据的一致性和正确性。 共识机制有哪些? 常见的共识就机制包括:POW(工作量证明机制)、POS(权益证明机制)、DPOS(股份授权证明)POW+POS(混合共识机制)等等,另外还有Pool验证池、Ripple瑞波共识协议等等 比特币的去中心网络采用的是工作量证明共识机制。 去中心网络之所以需要共识机制,是因为这是一个非基于信任(non-trust-based)的网络,任何人无须许可都可以接入这个网络。并且,这些节点分散在网络条件差异非常大的全球互联网之中。在完全无中心的情况下,这些节点要同步一致

08.区块链的应用有什么?区块链将带来什么变革?

匆匆过客 提交于 2019-12-05 19:28:35
“ 区块链 ,是互联网的二次革命。” “区块链,是互联网2.0。” “区块链,让我们从信息互联网跨越到价值互联网。” 这是从互联网发展的视角出发,对区块链有什么意义做出的一些回答。 谈起区块链的前景,人们会列举它能改变金融、能源、零售、文化、社交、游戏、物联网等,但我觉得,以上回答更为有力。 从 1994 年互联网开始商业化,经过近 25 年的发展,互联网已经彻底改变了我们周围的一切——经济、产业、生活。互联网从 1995 年左右的“信息高速公路”的说法,变成了无处不在的力量。现在,如果区块链是互联网 2.0,互联网曾经带来的改变以区块链的方式再来一次,随着区块链技术的进步和相关基础设施的完善,各种意想不到的应用会涌现出来。 信息传递 VS 价值转移 之前,互联网处理的是“信息”;现在,互联网可以处理“价值”。从 2008 年到 2018 年,酝酿了近十年的区块链技术弥补了互联网与数字世界中一直缺失的另一半。区块链提供了在数字世界中处理价值所需的两个基础功能:价值表示与价值转移,让互联网跃迁到价值互联网(见图1)。 图:信息互联网 VS 价值互联网 1990 年,万维网协议发明者蒂姆·伯纳斯-李写道:“一旦我们通过万维网连接信息,我们就可以通过它来发现事实、创立想法、买卖物品,以及创建新的关系,而这一切都是通过在过往时代不可想象的速度和规模来实现的。”到现在

GO语言区块链技术---传智黑马(比特币&以太坊)

半城伤御伤魂 提交于 2019-12-05 07:44:27
判断ICO项目: 免费送币的直接Pass 白皮书用简单易懂的语言表达(模式是否清晰) 解决了什么问题,区块链是必须的吗(看产品) 发型代币有无必要,使用系统是否消耗使用代币(如果没有必要,公司的成败和投资者也许没有太大关系) 能否快速上交易所,有交易所的背书 代码是否开源,Github代码更新频率和数量 创世团队的背景(学历、工作),技术团队是否有区块链开发经验 站台的早期投资人,相关领域专家 区块链主要是数字版权和金融,其他都是伪需求,没有区块链也可以把产品做的很棒 ipfs? 比特币的起源: 中本聪,神一样存在的人物 Bitcoin白皮书:A Peer-to-Peer Electronic Cash System 去中心化,P2P分布式的数字货币系统 共识机制---POW工作量证明 运用非对称密码学 区块链作为账本 比特币特性: 硬通货:跨境交易 易携带:只需一个私钥 隐秘性:只暴露钱包地址;非法用途 无货币超发:通货紧缩 Server-Based中心化服务器: C/S、B/S架构 客户端完全信任服务器 DDOS攻击---Distributed Denial of Service分布式拒绝服务攻击 P2P(Peer-to-Peer)网络: 去中心化; 地位对等,无主从之分 用户越多速度越快 抗攻击 拜占庭将军问题(Byzantine Generals Probblem):

区块链简介

半世苍凉 提交于 2019-12-04 20:44:28
转自:http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html 区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。 可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。 下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块链,还会明白什么是挖矿、为什么挖矿越来越难等问题。 需要说明的是,我并非这方面的专家。虽然很早就关注,但是仔细地了解区块链,还是从今年初开始。文中的错误和不准确的地方,欢迎大家指正。 一、区块链的本质 区块链是什么?一句话,它是一种特殊的分布式数据库。 首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。 二、区块链的最大特点 分布式数据库并非新发明,市场上早有此类产品。但是,区块链有一个革命性特点。 区块链没有管理员,它是彻底无中心的。其他的数据库都有管理员,但是区块链没有

比特币如何运作

跟風遠走 提交于 2019-12-04 19:06:55
概要 比特币诞生于 2009 年, 已经有 10 年多的历史. 但是, 依然是知道的人多, 了解其运作原理的人少. 区块链的概念是伴随着比特币的流行而兴起的, 但是区块链并仅仅是比特币, 它是更广泛的技术. 比特币其实就是区块链的一种应用形式, 也是目前最成功的形式. 比特币中的概念其实并不复杂, 只是这种去中心化的形式和我们已经熟悉的方式大相径庭, 才会觉得难于理解. 我根据自己的理解整理了比特币中的相关概念, 并将自己对其中流程的理解整理如下, 希望能有所帮助. 比特币中的一些概念 这些概念是理解比特币整个运作的基础, 不先理解这些概念, 是无法理解比特币的运作机制的. 地址(Address) 用户可以产生任意数量的私钥, 并基于这些私钥构建一个公钥. 地址是基于一个公钥得到的, 并且被用来标识比特币系统中一笔金额的接收者 一个公/私钥对被用来唯一地标识某个地址(以及相应的一笔金额)的拥有者 输出(Output) 一个输出是一个元组, 包含一定数额的比特币以及一个使用条件. 绝大多数情况下, 使用条件需要一个和某地址对应私钥相关联的有效签名 输入(Input) 一个输入是一个元组, 包含对前面一个已经创建的输出的引用, 以及用于该输出中使用条件的一组参数(签名) 这些参数将证明交易创建者有权使用所引用的输出 未花费的交易输出(UTXO, Unspent Transaction

[转帖]Merkle树

核能气质少年 提交于 2019-12-03 07:00:01
Merkle树 https://www.jianshu.com/p/fc439a8fd0de 所谓比特币交易就是从一个比特币钱包向另一个中转账,每笔交易都有数字签名来保证安全。一个交易一旦发生那么就是对所有人都公开的,每个交易的历史可以最终追溯到相应的比特币最初被挖出来的那个点。 先简单回顾一下比特币交易过程。 其实比特币并不存在于任何地方。有人如果持有比特币,那么他们其实是拥有特定比特币的地址,但是所谓的币并不是直接就存在于这个地址中的,地址就相当于你的银行账户。 有的只是各个地址之间的转账记录,余额时增时减。所有的交易都存放在一个非常大的账本文件中,这个文件叫做“区块链”。一个比特币地址中的余额,不是直接存放在比特币地址中的,我们需要到区块链中去计算出来。 如果 Alice 给 Bob 发送一些比特币,那么这个交易就有三项信息: § 输入。这里面记录了最初 Alice 拥有的这些币是从哪个地址转给她的,假设她是从她的朋友 Eve 那里得到的币。 § 数目。这个就是 Alice 到底给 Bob 转了多少个比特币。 § 输出。Bob 的比特币地址。 发送交易需要两样东西,比特币地址和对应的私钥。比特币地址跟银行账号不一样,不需要签署一堆文件去申请,它们是随机生成的,就是一串由字母和数字组成的字符串。私钥也是类似的一个字符串,但是这个是要严格保密的。比特币地址就好像一个透明的存钱罐

大话区块链【Blockchain】

风格不统一 提交于 2019-12-03 04:52:44
最近这几天区块链又粉墨登场了,新闻媒体也一直在大量报道,宣称可能要在金融界掀起一番浪潮。甚至有人说很久之前中国就出现了区块链的产物——麻将。那么区块链到底是什么,麻将和区块链又有什么关系呢? 笔者这两天也阅读了相关文献和资料,下图是我学习的一个路径,本文也是按照自己了解区块链的路径做的一些总结,篇幅较长,写这篇文章的目的也是希望能简单地向对区块链技术不了解但是想知道区块链是什么的人介绍区块链技术,因为自己在区块链方面也是一个小白,如果有错误的地方,还望各位留言指正。 区块链 -> 比特币 首先我们得先知道,区块链和比特币之间并不等同,如果要论辈分,区块链应该是比特币的爸爸,为什么这么说呢?我们先来了解下区块链是什么,以及区块链是用来干嘛的。 什么是区块链?区块链是做什么的? 一提到区块链,相信很多人都会想到什么去中心化、分布式、不可篡改之类的名词。说实话我刚开始由于姿势水平不够看到这些名词的时候也是一头雾水,《区块链技术发展现状与展望》一文给出如下定义: 狭义来讲,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构, 并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账(Decentralized shared ledger),能够安全存储简单的、有先后关系的、能在系统内验证的数据。 广义的区块链技术则是利用加密链式区块结构来验证与存储数据