比特币区块

比特币学习

匿名 (未验证) 提交于 2019-12-03 00:27:02
可以说比特币最大的创新是用非中心的方式解决了“双花问题”。之前已存在的交易系统,都是中心化的,由一个中心化的机构(例如银行)来管理记录一个账本,可以说非常简单粗暴的解决了“双花问题”,其安全保证是这个中心机构自身非常强大,很难攻破。而比特币解决“双花问题”,不是依靠单个节点的强大,而是依靠整个网络,通过整个网络维护一个公共的账本。 可以这样理解,中心化机构解决“双花”,不是因为它是中心化机构,不是因为它自身强大安全系数高,而是因为它知道所有人的交易。同一笔钱,A发B,A又发给C,系统因为掌握了所有的交易,所以能够检测出第二笔交易是非法交易。但是这个中心化机构的安全成本是非常高的。比特币为了解决“双花”,它的思路是,既然我单个节点不足以保证安全性,我就依靠整个网络来保证,我将每笔交易都告诉网络上所有的人(交易创建后会广播到全网),把整个网络看为一个中心化系统。这样这个网络知道所有的交易,“双花问题”就解决了。但是一个新的问题是,这么多节点(网络中可能存在恶意节点),到底谁说了算,于是POW共识算法诞生,由POW算法,随机的从分布式网络中选取一个节点,由这个节点处理交易(出新块,广播到全网,经过验证后加到最长链中,如果分叉,较短的链会被抛弃)。由于诚实节点拥有系统大部分的算力,恶意攻击者的拥有的算力少,其攻击链长度是很难超过正常链攻击成功的。其系统安全性,由整个网络的算力保证

以太坊如何控制区块大小

匿名 (未验证) 提交于 2019-12-03 00:26:01
比特币是通过固定大小控制区块,上限是1M 以太坊采用了完全不同于比特币的做法,使用gaslimit来限制,所以以太坊的区块大小是不固定的 Gaslimit确定 每次开始打包的时候都会确定当前包Gaslimit的大小,以下函数确定大小 func CalcGasLimit ( parent * types . Block ) uint64 { // contrib = (parentGasUsed * 3 / 2) / 1024 contrib := ( parent . GasUsed () + parent . GasUsed ()/ 2 ) / params . GasLimitBoundDivisor // decay = parentGasLimit / 1024 -1 decay := parent . GasLimit ()/ params . GasLimitBoundDivisor - 1 /* strategy: gasLimit of block-to-mine is set based on parent's gasUsed value. if parentGasUsed > parentGasLimit * (2/3) then we increase it, otherwise lower it (or leave it unchanged if it's

区块链白皮书阅读笔记

匿名 (未验证) 提交于 2019-12-03 00:21:02
使用P2P的信任网络来防止double spending问题. 每个交易都需要owner使用私钥对前一个TX和下一个拥有者的公钥进行签名,保证owner是有钱并且不会被仿冒 对每笔交易都打上一个时间点,并且公布到p2p网络上,经过大家检验.通过打上timestamp并且公布来证明这个交发生过(跟看刊登到报纸上类似).并且形成一条链来反复验证加强. 对于PoW信任网络,矿工不断增加block中的nonce值(而nonce值又在block里面,所以每增加nonce的时候整个block的哈希值也会发生改变), 直到整个block的SHA-256哈希值小于一个固定数值时才成功(以d个连续的0开头) .PoW是 one-CPU-one-vote 的,而不用 one-IP-one-vote 的原因是防止伪造IP来进行攻击. 对于成功完成的人,也会给予比特币 激励(incentive) 如果每笔交易都要遍历整个区块链来看owner是否有钱,那么这个过程将会十分耗时.实际上用户只需要保存主区块链的头部,然后通过头部来找到连接着UTXO的Merkle branch.(根据什么来搜索?TimeStamp?) 从技术角度来说,比特币账本可以被认为是一个状态转换系统.比特币系统的“状态”是所有已经被挖出的、没有花费的比特币(技术上称为“未花费的交易输出,unspent transaction

区块链入门教程之从比特币到以太访再到智能合约从架构概念到应用实战(DAPP)(二、比特币原理、概念讲解)

匿名 (未验证) 提交于 2019-12-03 00:18:01
作者: AlexTan CSDN: http://blog.csdn.net/alextan_ Github: https://github.com/AlexTan-b-z e-mail: alextanbz@gmail.com (ps:这是本博主撰写的第二部系列作品,第一部是写的 java入门教程 ,受到了不少读者的喜欢,如果你也喜欢的话,欢迎关注哟!) 本教程主要面向区块链新手,用通俗易懂的方式讲解区块链技术。 本章节内容是以比特币为例讲区块链技术原理。 如图所示,哈希函数,指无论输入什么值,其输出结果为固定长度的字符串的函数,这串字符串就被命名为哈希值。哈希函数它是不可逆的,即是单向的,只能通过输入计算得到输出,不能通过输出得到输入。且只要输入结果不一样,其输出结果也不一样。 SHA256 SHA: Secure Hash Algorithm(安全哈希算法),256代表无论输入什么值(可以是文件、也可以是文本),其输出结果为256位的二进制数。 比特币采用SHA256算法,该算法属于SHA-2系列,在中本聪发明比特币时(2008)被公认为最安全最先进的算法之一。除了生成地址中有一个环节使用了REPID-160算法,比特币系统中但凡有需要做Hash运算的地方都是用SHA256。随着比特币被更多人了解,大家开始好奇中本聪为何选择了SHA256

澜天娱乐php+mysql程序源码修复采集完美版区块链概念入门

匿名 (未验证) 提交于 2019-12-02 22:06:11
区块链的本质 区块链是什么?一句话,它是一种特殊的分布式数据库。 首先,区块链的主要作用是存储信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个结点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。 区块链的诞生是为了满足什么需求?还是解决什么问题? 溯源区块链,我们发现区块链诞生于比特币,是从比特币的技术中衍生出的。 在2008年全球金融危机中,美国政府因为有记账权,所以可以无限增发货币,一位自称中本聪的人觉得这样很不靠谱,于是他想创建一种新型支付体系,大家都有权记账,货币不能超发,整个账本完全公开透明十分公平。 2008年11月1日中本聪在网络上发表了一篇《比特币――一种点对点的电子现金系统》的论文,文中描述了一个全新的电子现金系统 比特币。比特币是一种去中心化的电子现金系统,它解决了在没有中心机构的情况下,总量恒定的数字资产的发行和流通问题,通过比特币系统转账,信息公开透明,可以放心的把比特币转给另一个人,每一笔转账信息都会被全网记录。白皮书的问世,标志着比特币的底层技术区块链的诞生。(这里要着重区分一下Bitcoin和bitcoin,大写的B是代表点对点的电子现金系统,小写的b是指比特币。

区块链来源比特币,区块链基础构造

浪子不回头ぞ 提交于 2019-12-02 16:02:11
区块链起源于 比特币 ,2008年11月1日,一位自称 中本聪 (Satoshi Nakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文 ,阐述了基于 P2P 网络技术、加密技术、 时间戳 技术、区块链技术等的电子现金系统的构架理念,这标志着比特币的诞生。两个月后理论步入实践,2009年1月3日第一个序号为0的 创世区块 诞生。几天后2009年1月9日出现序号为1的区块,并与序号为0的创世区块相连接形成了链,标志着区块链的诞生 。 讲述比特币之前,我们先看下区块链存储接口,或者说是比特币存储结构,如下图所示: 区块可以大体分为块头(header)和块身(body)两部分。 块头一般包括前一个区块的哈希值(父哈希)、时间戳以及其他信息。 哈希是一类密码算法,将任意一段信息都可以通过某种加密算法表现为一串“乱码”,也就是哈希值。父哈希指向上一个区块的地址(头哈希),如此递推可以帮我们一直回溯到区块链的第一个头部区块,也就是创世区块(genesis block)。 每个特定区块的块头都具有唯一的识别符,即头哈希值。任何节点都可以简单地对区块头进行哈希计算独立地获取该区块的哈希值。区块高度是区块的另一个标识符,作用与区块头哈希类似。创世区块高度为0,然后依次类推。 一、比特币基础简介 就如比特币2009年第一块创世块出世,然后一直活跃到今天,无论是炒币还是挖矿而言

区块链比特币科普

微笑、不失礼 提交于 2019-12-02 02:51:18
引言 比特币和区块链总是让人感觉高深莫测,网上一搜总会搜到各种:去中心化、分布式、甚至无政府等更让人摸不清方向的东西。哪些是对的,哪些是错的,接下来我们就来探讨下。 区块链技术诞生于比特币,所以一切都还得从比特币谈起! 什么是比特币? 比特币是一个虚拟货币,就像QQ币、游戏币等等,而比特币底层产用的技术被称作区块链技术,这个技术的神秘之处就在于:它让比特币在没有第三方担保情况下在网上交易了7年多。而游戏币和QQ币是由游戏和腾讯公司来管理控制,每一笔交易都得通过服务器的审核。 比特币的由来 2008年10月31日,中本聪给密码学邮件列表发了一封邮件,邮件里说:“我一直在研究一个新的电子现金系统,完全点对点,无需任何可信的第三方”。 2009年1月11日,中本聪发布了比特币钱包第一个版本0.1版本,右边是比特币其中一个版本的客户端0.10.1版本。 从此中本聪就再也没有出现过,谁也不知道中本聪是谁。 比特币为什么会火起来? 比特币第一笔交易 2010年5月22日,一位美国程序员用10000个比特币在论坛上购买了两个披萨。现在一个比特币已经快被炒到了40000了,这可真是世界上最贵的披萨了。这也是比特币的第一笔交易。 比特币的奖励制度 不管中本聪多了解金融货币和经济学,不管比特币钱包涵盖了多少密码学和技术增加信任的方法,但是在普通人看来这就是一个很简单甚至简陋的小软件。你把电脑一打开

区块链挖矿原理

寵の児 提交于 2019-12-02 02:49:11
区块链挖矿原理 目录 区块链挖矿原理 目录 导言 1.ICO 2.数字货币的发行模式 3.挖矿原理 3.1工作量证明函数 3.2区块 3.3难度值 3.4工作量证明的过程 导言 提起比特币和区块链,很多人都觉得如数家珍,实则知其然不知所以然。比特币是区块链的第一个实际应用,区块链是比特币的技术支持;如果初次接触比特币,当你想和别人交流的时候,面对的第一个概念可能就是挖矿。 1.ICO 首先,我们来思考一下为什么每个区块链系统都要发行自己的数字货币?也就是前段时间的ICO热。 这里面就涉及到区块链的根本作用,这个作用就是:实现社会价值在区块链上的自由流通(类比互联网的根本作用:实现信息的自由流通)。 比如我可以针对汽车开发一个汽车链,针对房子开发一个房子链,针对母猪开发一个母猪链等等。如果一个组织或个人的能量足够大,也可以发布一个面向全行业的链,那汽车、房子、母猪……想在各自的链上自由流转,从A的名下流转到B的名下,或者从C的名下流转到D的名下,一定需要个度量的尺度。 这个尺度就是靠支出相应的数字货币来完成的。换句话说,每条链发布的数字货币,充当的是该链上价值流通的一般等价物。 做个现实的类比:也就是我们生活中用于交易的人民币、美元、泰铢、英镑等中央货币,在我们购物时充当的作用。 每条链可以类比成一个国家,每个国家是不是都有自己的货币系统?这样一想

科普解析区块链里的软分叉和硬分叉是什么,为什么要分叉

二次信任 提交于 2019-12-02 02:45:59
欢迎来到懒区块(ID:lanqukuai),人人都能看懂的区块链技术解读,深入浅出的解剖整个区块链系统。 本文由懒区块整理撰写,不经过允许,切勿转载。 今天懒区块来跟大家聊一聊区块链中分叉的问题,经常在某某新闻或者其他地方看到XX币进行了分叉,分叉到底是什么,有什么影响,为什么要分叉。 区块链中的分叉 区块链中的分叉就像我们平时走路一样,本来只有一条路的,到了一个路口就被分成了两条,这个是分叉的最基础概念 。那么为什么会产生分叉呢?今天懒区块就来给大家科普下分叉的问题,我们就拿最成功的区块链应用——比特币来进行举例吧。我们都知道BTC的价格这一两年涨得跟疯了一样,比特币网络的用户数越大,交易转账也开始频繁起来,整个比特币网络也开始拥堵、交易费用也开始上升,小额交易可能永远不会被打包。 在区块链网络中,产生一个区块的时间间隔大约为10分钟,一笔交易所占的大小为250B,一个区块的大小为1M, 我们来简单做一个计算: 1MB=1024*1024=1048576B 1048576/250=4194.3笔 10*60=600秒 4194.3/600=6.99笔/秒 我们通过上面的计算公式可以看得到比特币网络 每秒能处理的交易笔数大约为7笔 左右,这个速度对于支付网络来说是异常慢的。为了提升交易拥堵的问题,开发者们提出了扩容的概念。玩过iPhone手机的都知道,升级一个应用是十分简单的

大白话科普区块链原理【子豪兄区块链讲义】

限于喜欢 提交于 2019-12-02 02:43:56
用大白话和可视化展示区块链基本原理、共识机制、虚拟货币、挖矿原理、智能合约,区块的产生与溯源及应用场景,并教你如何上传信息到以太坊主链上,并发行自己的数字代币。用可视化网页制作区块链,演示区块链中的哈希加密、工作量证明、分布式存储基本原理。 让初学者用十分钟时间了解改变世界的区块链技术,并理解为什么区块链能做到去中心化、公开透明、难以篡改、可溯源。 本文配套B站视频:01大白话讲解区块链基本原理 本文配套B站视频:02可视化网页搭建区块链 关注微信公众号 人工智能小技巧 回复 区块链 即可看到所有文章及视频链接、可视化区块链网站、区块链浏览器。 知乎专栏: 人工智能小技巧 ,所有文章欢迎转载! 作者:张子豪(同济大学在读研究生) 2018-11-24发布 文章目录 第一讲 区块链原理 第二讲:可视化网页搭建区块链 第三讲 大白话讲解比特币 第四讲 大白话讲解以太坊 补充内容:趣闻 第一讲 区块链基本原理 区块链ABC 区块链的本质:分布式数据库 区块数据结构 区块链的特点 区块链解决的问题 区块链为什么能保证数据安全 区块链的升级:智能合约 传统的中心化第三方资金托管 智能合约 以太坊:支持智能合约的区块链系统 区块链应用场景 区块链浏览器 比特币浏览器 以太坊浏览器 可视化区块链讲解 哈希256加密算法 单个区块内部的数据结构 单条区块链的形成 分布式区块链——工作量证明