比特币

比特币之九匿名性

可紊 提交于 2020-02-10 18:00:15
正在学习区块链,如果我哪里有错误希望大家指出,如果有任何想法也欢迎留言。这些笔记本身是在typora上写的,如果有显示不正确的敬请谅解。笔记本身也是给我自己写的,所以如果有侵权的请通知我,我立即删除。 文章目录 9. 匿名性 9.1 匿名性的探讨 9.2 输入输出地址 9.3 现实世界的联系 9.4 盲签算法 9.5 零知识证明 9.6 零币和零钞 9. 匿名性 9.1 匿名性的探讨 比特币的匿名性只能说比较好,但是不特别好,和其它交易相比有一些优缺点。先和匿名性最好的现金相比吧。 现金匿名性几乎完美,到你手的钱你根本不知道已经过了几个人了,所以以前罪犯交易都是用的大额旧钞。 几乎 完美是指抢匪那种连号或者钱上有标记的。 银行转账的匿名性是没有的,所以这里考虑的是银行不需要身份证。匿名性也是和很好的,毕竟除了银行柜员和警察以外基本没人能查到交易。 这么一比,比特币的匿名性变的最差了,因为你的交易记录所有人都能查到。 9.2 输入输出地址 为了增强比特币的匿名性,有人建议每次输出都使用一个新地址,这样就没人能知道我到底是怎么交易的,因为输出是两个人,哪个是我,谁知道?不过地址之间是会有关联的,比如输入地址之间或者输入和输出地址之间会有联系。 输入与输入的关联 这种时候addr1和addr2很大程度是一个人的。因为比特币很难有正好的,总会有零钱出来,多个零钱凑起来一起花。

比特币之十 Q&A

泄露秘密 提交于 2020-02-10 17:57:36
正在学习区块链,如果我哪里有错误希望大家指出,如果有任何想法也欢迎留言。这些笔记本身是在typora上写的,如果有显示不正确的敬请谅解。笔记本身也是给我自己写的,所以如果有侵权的请通知我,我立即删除。 文章目录 10. Q&A 10.1 return既然直接返回错误,为什么还被矿工当做有效交易? 10.2 写入区块链的永远无法改变? 10.3 矿工会不会盗取nonce 10.4 哈希指针查询时指针对应的地址在哪里 10.5 区块恋 10. Q&A 10.1 return既然直接返回错误,为什么还被矿工当做有效交易? 因为return是写在输出脚本中的,只有花的时候才会验证,所以永远花不出去 10.2 写入区块链的永远无法改变? 不分叉回滚的情况下是的,所以如果你填错了收款人,恭喜你,GG吧。而且因为是去中心化,所以没有人会保证你的帐号安全,如果你的私钥丢了,白瞎。 10.3 矿工会不会盗取nonce 如果有一个矿工发现这个nonce正确,我把他的nonce盗过来我用行不行? 不行,因为在coinbase域中,收款人写的是之前矿工的地址。 我看我想问的盗取别人的输入脚本是否可行的问题还是没解决。 10.4 哈希指针查询时指针对应的地址在哪里 说叫哈希“指针”,其实根本没有地址,就是一个哈希值而已。那这个哈希值在哪里找呢?有一个(key-value)的数据库,哈希值就是key

白话区块链:区块链对普通大众的影响及其未来

痞子三分冷 提交于 2020-02-10 14:03:22
随着国家宣布把区块链作为核心技术自主创新重要突破口,比特币带领加密货币上演闪电式跳升行情,跟区块链概念沾边的公司股价也全线涨停,相对论、量子力学、人工智能正马不停蹄地赶往风场,为区块链盛宴添酒加菜。 那么对于普通大众来说,区块链到底意味着什么呢?本文所期望的目标读者是普通大众,而普通大众多数是区块链盲,所以本人尽量用盲们都能听懂的语言掀开区块链的面纱。去中心化、分布式账本、共识机制、工作量证明、非对称加密、智能合约,这些B星语词汇本文一概不提,请盲们放心阅读。 一、区块链的由来 区块链诞生于比特币(加密货币,属于数字货币的一种),2008年由一位自称中本聪的人提出。由于比特币的巨大成功,引来了众多的效仿者,莱特币、以太坊、瑞波币等争相上线;另一方面,比特币所采用的技术 - 区块链也受到很大的关注,在一些行业(金融、保险、版权、公共服务等)得到了初步的应用。 二、区块链是干什么用的 一句话概述:区块链是一项使互联网民主化的技术。传统的互联网应用都是集权式的:微信腾哥说了算,淘宝云哥说了算,京东强哥说了算。那么比特币谁说了算?51%的人说了算。也就是说:比特币并没有运营商,是大家一起把它搭建起来的。 举个例子:比特村的李一借给王二250元钱,李一要求王二写个借条,事后可以通过权威机构鉴定以防抵赖。如果我们拿掉权威机构,怎么来验证这件事呢?一个号称中本聪的家伙站在微光处说道:有人要借钱了

比特币四之实现

我是研究僧i 提交于 2020-02-10 13:01:59
正在学习区块链,如果我哪里有错误希望大家指出,如果有任何想法也欢迎留言。这些笔记本身是在typora上写的,如果有显示不正确的敬请谅解。笔记本身也是给我自己写的,所以如果有侵权的请通知我,我立即删除。 文章目录 4.1矿工的打包结果 4.2 节点的内容 4.3挖矿效率的概率分析 4.4 比特币的总量 4.5 分叉攻击 4.6 有效数据不上链 4.7 双花攻击 4.1矿工的打包结果 这个主要是UTXO相关的,下面这张图是一个矿工打包的结果 ![avatar][pic4.1-1] Number Of Transactions :该区块中交易的数量 Output Toltal :总共输出的比特币个数 Transaction Fees :整个区块的交易费 Block Reward :矿工的出块奖励(100倍) Height :区块的序号 Timestamp :时间戳 Difficulty :挖矿难度,保证出块时间大概是10分钟,2016个块后修改一次。 nonce :前面说过了 ![avatar][pic4.1-2] Hash :当前block header的哈希值 Previous Block :前一个区块的哈希值 Merkle Root :merkle树的根哈希 上图中hash和previous hash的前面一堆0不是偶然,而是挖矿的要求。 4.2 节点的内容 下面的概念很好理解

比特币五之网络

左心房为你撑大大i 提交于 2020-02-10 11:05:49
正在学习区块链,如果我哪里有错误希望大家指出,如果有任何想法也欢迎留言。这些笔记本身是在typora上写的,如果有显示不正确的敬请谅解。笔记本身也是给我自己写的,所以如果有侵权的请通知我,我立即删除。 5.网络 区块链网络的特点: simple,robust,not efficent 比特币工作在应用层,网络层是个P2P Overlay Network。比特币的P2P网络很简单,每个节点都是对等的,不像有些网络中超级节点。想加入这个网络要知道一个种子节点,它会告诉我它知道的网络中其它节点。离开比特币网络的话,没心跳就行了。 消息的传播使用的不是广播也不是点对点,是flooding的方式。每个节点会把数据发送给它的”邻居节点“,这个“邻居”没有任何“相近”的概念,咱连面对面,我发送数据,你收到数据和南极的朋友收到数据可能是同时的。 再有就是交易的记录。如果网络中同矿效率的概率分析时有两笔交易,A->B和A->C,假如是double spending交易,有的节点如果先收到了A->B,它就不会再收A->C,反之亦然。如果有一个节点已经把A->B的交易打包好了,你手里要是还有A->B的那你就得丢掉了,那如果你有A->C的呢?也丢掉。肖老师就说到这,所以才猜,我要是同时在网络中发两笔交易,我有两个比特币,一个给A,一个给B,也只有一个会生效。这也迎合了not effient的特点。 来源:

老码农的踩坑之旅

感情迁移 提交于 2020-02-07 02:23:27
一、前言 女怕嫁错郎,男怕入错行。这句话是真真切切的刻在老夫脸上。大学双本毕业,加入中国的制造业大军,从事传统行业(汽车电子)的软件设计。刚开始用asm编写第一份程序,配合女朋友帮忙设计的pcb, 制作了第一份产品与发明专利。原本以为自己从事的行业是首屈一指的行业。慢慢的,逐渐的发现并非如此。。。 二、互联网+ 做过8位,16位,32位的mcu软件设计,从传统行业,至现在的ai+行业。这些行业的门槛很高,投入资金与时间周期都很大。没过多长时间,互联网行业风靡,资本泡沫需要被消化,提出了互联网+,互联网开始逐步渗透与蚕食传统行业。大数据,物联网,工业4.0,智能交通v2x等,逐步蚕食,挤压传统行业的利润,倒逼传统行业升级改革。导致传统行业的整体薪酬不高,特别是中部城市中,从一个坑跳入另外一个坑,也只是一点点涨幅,还要承担翻船的风险。老码农捉襟见肘的收入已满足不了现代生活,啃老本了。 三、个人投入与产出 在老码农的成长道路上,一直探索‘睡后收入’,’知识变现‘。与朋友利用业余时间做过几个项目,AGV的储能电池管理系统, 基于3G/4G的车辆监控系统,岩石扫描仪,电解液分离控制台等大大小小项目,最后都没成功,白天上班老老实实工作,晚上回来熬夜搬砖,投入了大量的时间与精力,甚至人格分裂,产出却很惨淡。 与小伙伴们写过白皮书,见VC, 拉投资,与小伙伴们干得热火朝天

AAX学院丨什么是比特币合约?

六月ゝ 毕业季﹏ 提交于 2020-02-05 00:49:14
近年来,比特币的交易方式不断发展。从基于点对点的简单买卖,发展到通过大型数字货币交易所进行交易。 现在,甚至不需要实际拥有比特币,就可以进行比特币交易。 听起来是不是很奇怪? 本文将全面解析比特币合约及其运作方式,探讨人们为何进行交易以及如何入门。 比特币合约的基础 比特币合约,是指无需实际拥有比特币也可进行交易的合约。 它与必须实际持有数字货币才可进行的币币交易有很大不同。 比特币合约使你能够预测比特币的价格走势和对冲风险。 这种交易方式,意味着你投资的是价格趋势,而非资产本身。 在交易比特币合约时,你可以决定做空还是做多。 选择做多,表明你预计比特币价格将会上涨。 另一方面,选择做空表明你预计价格将会下跌。 杠杆交易 可以选择高杠杆率进行交易,是比特币合约的一项特性。 使用杠杆, 意味着你在进行合约交易时,不必投入100%的交易金额。 相反,你只需要存入初始保证金,而保证金额度仅占合约总价值的一小部分。 杠杆交易让你在风险管理的同时,用少量的资金占有较大敞口。 永续合约 虽然合约有许多不同类型,本文主要关注永续合约。 顾名思义,这些合约没有到期日。 使用永续合约做多或做空的交易者,可以无限期持有头寸,除非合约爆仓,这意味着他们遭受的亏损不会超过初始保证金。 永续合约中,比特币的定价以特定的指数价格为基础。 指数价格基于多个币币交易市场上比特币的平均价格。

关于比特币的共识协议

。_饼干妹妹 提交于 2020-02-04 03:36:36
一、分布式共识理论 1. FLP不可能原理 在一个异步的系统中,网络延时没有上限,即使只有一个成员有问题,也不可能取得共识。 FLP 不可能原理告诉我们,不要浪费时间,去试图为异步分布式系统设计面向任意场景的共识算法。但是我们在实际工程当中可以付出一些代价来做到共识。 2. CAP定理 任何一个分布式系统无法同时满足一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance),往往需要弱化某一个特性的需求。例如Paxos算法可以达成一致性,但是存在某种情况会一直无法达成共识。 二、比特币的共识设计 比特币的共识设计没有拘泥于传统的分布式共识理论,引入了经济博弈机制,采用挖矿奖励来达成区块链的共识。 1. 区块设计 完整的区块包括区块头(Block header)和区块体(Block body),区块头包括版本信息、上一个区块头的哈希、Merkle根哈希、挖矿目标阈值、nonce值;区块体则是交易列表组成,所有交易组成Merkle tree,计算出根哈希,也就是区块头中的Merkle根哈希(详解见 默克尔树(Merkle tree)章节 )。 2. 交易信息设计(Tx) 双花攻击(double spending attack) 双花攻击是数字货币领域中的一个比较常见的问题,顾名思义,就是将数字货币付给两个人或多个人

比特币自动交易代码和套利机器人 (开源软件)

和自甴很熟 提交于 2020-01-28 04:58:35
简单介绍几个比特币/山寨币的自动交易系统,利用开源代码自己可以再定制好的交易策略,有兴趣的朋友一起来探讨。 如果您知道其它好的开源自动交易系统,欢迎添加。 软件名称: Blackbird 编程语言: C++ 下载地址: https://github.com/butor/blackbird 支持平台: Bitfinex, OKCoin, Bitstamp, Kraken, ItBit, Gemini 软件简介: 比特币多交易平台间套利系统。利用平台间价格变化盈利,无需在平台之间转账。 软件名称: Gekko 编程语言: Javascript / nodejs 下载地址: https://github.com/askmike/gekko 支持平台: Bitstamp, CEX.io, Kraken, BTC-e, Bitfinex, LakeBTC, Cryptsy 软件简介: 比特币交易机器人,可以依据单个DEMA, MACD, RSI 或者 PPO 指标操作,参数可定制,可以自己添加交易算法,Gekko 还可通过插件增加资讯、邮件、盈利模拟等功能。 软件名称: Bitcoin Arbitrage 编程语言: Python 下载地址: https://github.com/maxme/bitcoin-arbitrage 交易平台: Bitstamp 软件简介: 比特币套利机器人

比特币时间戳

自古美人都是妖i 提交于 2020-01-28 02:19:59
疑问 每个区块都引用前一个区块的哈希值,所以这些区块已经有先后顺序,那么时间戳是否就没有必要了呢? 回答 为了保证比特币的精确减半时间或者说发行规律,必须具有根据当前算力在一定间隔周期内调整挖矿难度的机制。 在比特币上面,这个一定间隔周期就是两星期,即比特币每两星期根据当前算力调整一次采矿难度,以实现区块出块间隔十分钟左右的目标。为了对两星期的时间进行计算,需要将时间概念引入区块链并成为一致性系统的一部分。 因此区块必须含有时间戳,那么比特币也就是一个分布式电子时钟。 时间 在比特币区块产生时,涉及两个时间: 区块头中的时间,由矿工放置 区块产生的实际时间,比特币系统生成 当然,这两个时间应当几乎相同,这里有两种情况 矿工本身的时钟非人为的不准确,例如晚了1天 矿工具有准确的时钟,但是矿工选择作恶,放一个假的时间戳 那么矿工有没有作恶的动力? 矿工的确存在在时间上作恶的动力。例如,如果产生一个区块实际只花了10 分钟,但是矿工可以通过增加 5 分钟的时间戳来声称花了 15 分钟。如果这种增加 5 分钟的做法在整个两星期的难度调整周期都持续 ,平均区块时间会看起来像是 15 分钟,而实际上比这要短。那么下一个周期的难度可能会向下调整,由于区块时间加快,增加采矿收入。 防止矿工篡改时间戳 过去时间中值(MPT)规则 - 时间戳必须比过去 11 个区块的中值更靠前。11