最近比特币网络爆肚(个人比较喜欢),大量手续费少的交易被滞留不能及时确认。
这里不介绍viaBTC的免费加速(需要手续费不低于0.0001才给加速处理),也不说BTC.COM的付费加速,重点谈谈个人怎么自己加速已经发出去的比特币交易。当然,代价不是免费的,需要自己增加手续费。
首先,理论上一个交易被发出后是不能被收回的,也没有交易过期的说法(有3天过期的说法,经过本人测试,不成立,全节点可以设置72小时过期,但是还是有没设置过期时间的节点继续广播之前的交易,所以会被重新加入到其他节点)。
1、有些矿池提供交易加速功能,其实是你提交交易ID,矿池收录后,当自己挖到一个块后,人为把你之前低费用的交易加入这个块中,如果矿池挖不到新块,就不可能加速确认你的交易。矿池通常选择收取一些额外的费用或者手续费至少不少于某个特定费用。
2、Opt-in Replace-by-Fee (RBF)。在electrum等钱包软件中,发送比特币的时候有一个选项:replaceable,如果你想侥幸用一个低手续费发送交易,不行再追加,可以在发送的时候选中这个选项。这样发送后,如果迟迟不能确认,选择在钱包已经发送还没确认的交易,点击右键,直接有追加费用的选项,增加费用后可以更快被确认;
3、Child Pays For Parent (CPFP) 。通常是比特币接收方实现。这个不是软件的选项,而是想加速之前的一个交易A,需要发起一个新的交易B,把原来A的接收作为新交易的输入,同时适当提高B的手续费。支持CPFP的矿工(bitcoin 0.13以上)当看到一个子交易有很好的手续费想收录进区块的时候,必须把父交易一起收录,因为没有父交易,子交易是不成立的,矿工没办法在不接受父交易的情况下接受子交易,实现了加速父交易的目的;
4、双重支付的思路。有人认为CPFP也可以由父交易的发送方发起,其实我个人认为如果这样,就是类似双重支付(双花)的意思了,当然不是真正的双花,比特币是坚决不能双花的。具体做法是:用热钱包(不要bitcoin core这样的全节点钱包)类似electrum这种把之前的交易重新发一次,这类钱包发送交易的时候会根据本地钱包状态并查询网上全节点数据判断发送地址中是否有可以发送的比特币数量,在配置中可以配置不同的全节点的网站。有人说不可能重发,这就是为什么要用热钱包的原因,有些节点由于设置了交易最低矿工费用,不接收你之前发送的交易,所以用热钱包连接这样的节点,就查询不到你之前发送的交易,就可以再次发送。而新的交易费用高,很快被区块收录确认,老交易被认为是双花,直接被从mempool中清除。但这里有个问题,如果从A发给B,A有10个币,先发给B5个币,交易费少没有被确认,然后你在从A发5个币到B,结果很可能是把另外5个币发给了B,所以是你总共给B发了10个币,不是同样的5个币发了2次。这个如果理解UTXO的就明白,没法多解释了。如果A只有5个币都发给了B,再次发送5个币就不会有问题,看具体情况。如果真的是A有10个币的情况,建议用钱包的命令行方式发送,可以选择UTXO。
OTC场外交易发布广告时价格如何填写才合理?
USDT兑换人民币的价格是OTC交易价格的成本因素。那么发布广告时如何填写溢价才是包涵成本因素的合理价格?
广告溢价=USDT价格/USD汇率±买卖系数;目前溢价应在10%~16%之间较合理。发布广告或持有广告的用户要关注USDT的价格变化,以免成本提高了,在交易时产生价差损失。
备注:手续费是平台收取的费用,不管是撮合还是OTC,都是比较低的,一般是千分之几。OTC交易中的溢价是个人赚取的利差,目前主要表现在USDT上面,因为当前获得USDT的渠道比较困难,导致USDT的商家掌握了相对的定价权,从而导致场外交易如比特币,以太坊等币种的价格成本上涨。
比特币白皮书:一种点对点的电子现金系统
原文作者:中本聪(Satoshi Nakamoto)
作者邮箱:Satoshin@gmx.com
[摘要]:本文提出了一种完全通过点对点技术实现的电子现金系统,它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构。虽然数字签名(Digital signatures)部分解决了这个问题,但是如果仍然需要第三方的支持才能防止双重支付(double-spending)的话,那么这种系统也就失去了存在的价值。我们(we)在此提出一种解决方案,使现金系统在点对点的环境下运行,并防止双重支付问题。该网络通过随机散列(hashing)对全部交易加上时间戳(timestamps),将它们合并入一个不断延伸的基于随机散列的工作量证明(proof-of-work)的链条作为交易记录,除非重新完成全部的工作量证明,形成的交易记录将不可更改。最长的链条不仅将作为被观察到的事件序列(sequence)的证明,而且被看做是来自CPU计算能力最大的池(pool)。只要大多数的CPU计算能力都没有打算合作起来对全网进行攻击,那么诚实的节点将会生成最长的、超过攻击者的链条。这个系统本身需要的基础设施非常少。信息尽最大努力在全网传播即可,节点(nodes)可以随时离开和重新加入网络,并将最长的工作量证明链条作为在该节点离线期间发生的交易的证明。
1. 简介
互联网上的贸易,几乎都需要借助金融机构作为可资信赖的第三方来处理电子支付信息。虽然这类系统在绝大多数情况下都运作良好,但是这类系统仍然内生性地受制于“基于信用的模式”(trust based model)的弱点。我们无法实现完全不可逆的交易,因为金融机构总是不可避免地会出面协调争端。而金融中介的存在,也会增加交易的成本,并且限制了实际可行的最小交易规模,也限制了日常的小额支付交易。并且潜在的损失还在于,很多商品和服务本身是无法退货的,如果缺乏不可逆的支付手段,互联网的贸易就大大受限。因为有潜在的退款的可能,就需要交易双方拥有信任。而商家也必须提防自己的客户,因此会向客户索取完全不必要的个人信息。而实际的商业行为中,一定比例的欺诈性客户也被认为是不可避免的,相关损失视作销售费用处理。而在使用物理现金的情况下,这些销售费用和支付问题上的不确定性却是可以避免的,因为此时没有第三方信用中介的存在。
所以,我们非常需要这样一种电子支付系统,它基于密码学原理而不基于信用,使得任何达成一致的双方,能够直接进行支付,从而不需要第三方中介的参与。杜绝回滚(reverse)支付交易的可能,这就可以保护特定的卖家免于欺诈;而对于想要保护买家的人来说,在此环境下设立通常的第三方担保机制也可谓轻松加愉快。在这篇论文中,我们(we)将提出一种通过点对点分布式的时间戳服务器来生成依照时间前后排列并加以记录的电子交易证明,从而解决双重支付问题。只要诚实的节点所控制的计算能力的总和,大于有合作关系的(cooperating)攻击者的计算能力的总和,该系统就是安全的。
2. 交易(Transactions)
我们定义,一枚电子货币(an electronic coin)是这样的一串数字签名:每一位所有者通过对前一次交易和下一位拥有者的公钥(Public key) 签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者。而收款人通过对签名进行检验,就能够验证该链条的所有者。
该过程的问题在于,收款人将难以检验,之前的某位所有者,是否对这枚电子货币进行了双重支付。通常的解决方案,就是引入信得过的第三方权威,或者类似于造币厂(mint)的机构,来对每一笔交易进行检验,以防止双重支付。在每一笔交易结束后,这枚电子货币就要被造币厂回收,而造币厂将发行一枚新的电子货币;而只有造币厂直接发行的电子货币,才算作有效,这样就能够防止双重支付。可是该解决方案的问题在于,整个货币系统的命运完全依赖于运作造币厂的公司,因为每一笔交易都要经过该造币厂的确认,而该造币厂就好比是一家银行。
我们需要收款人有某种方法,能够确保之前的所有者没有对更早发生的交易实施签名。从逻辑上看,为了达到目的,实际上我们需要关注的只是于本交易之前发生的交易,而不需要关注这笔交易发生之后是否会有双重支付的尝试。为了确保某一次交易是不存在的,那么唯一的方法就是获悉之前发生过的所有交易。在造币厂模型里面,造币厂获悉所有的交易,并且决定了交易完成的先后顺序。如果想要在电子系统中排除第三方中介机构,那么交易信息就应当被公开宣布(publicly announced)[1] ,我们需要整个系统内的所有参与者,都有唯一公认的历史交易序列。收款人需要确保在交易期间绝大多数的节点都认同该交易是首次出现。
3. 时间戳服务器(Timestamp server)
本解决方案首先提出一个“时间戳服务器”。时间戳服务器通过对以区块(block)形式存在的一组数据实施随机散列而加上时间戳,并将该随机散列进行广播,就像在新闻或世界性新闻组网络(Usenet)的发帖一样[2][3][4][5] 。显然,该时间戳能够证实特定数据必然于某特定时间是的确存在的,因为只有在该时刻存在了才能获取相应的随机散列值。每个时间戳应当将前一个时间戳纳入其随机散列值中,每一个随后的时间戳都对之前的一个时间戳进行增强(reinforcing),这样就形成了一个链条(Chain)。
4. 工作量证明(Proof-of-Work)
为了在点对点的基础上构建一组分散化的时间戳服务器,仅仅像报纸或世界性新闻网络组一样工作是不够的,我们还需要一个类似于亚当•柏克(Adam Back)提出的哈希现金(Hashcash)[6] 。在进行随机散列运算时,工作量证明机制引入了对某一个特定值的扫描工作,比方说SHA-256下,随机散列值以一个或多个0开始。那么随着0的数目的上升, 找到这个解所需要的工作量将呈指数增长,而对结果进行检验则仅需要一次随机散列运算。
我们在区块中补增一个随机数(Nonce),这个随机数要使得该给定区块的随机散列值出现了所需的那么多个0。我们通过反复尝试来找到这个随机数,直到找到为止,这样我们就构建了一个工作量证明机制。只要该CPU耗费的工作量能够满足该工作量证明机制,那么除非重新完成相当的工作量,该区块的信息就不可更改。由于之后的区块是链接在该区块之后的,所以想要更改该区块中的信息,就还需要重新完成之后所有区块的全部工作量。
同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将在后文证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。
另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。
5. 网络
运行该网络的步骤如下:
- 1) 新的交易向全网进行广播;
- 2) 每一个节点都将收到的交易信息纳入一个区块中;
- 3) 每个节点都尝试在自己的区块中找到一个具有足够难度的工作量证明;
- 4) 当一个节点找到了一个工作量证明,它就向全网进行广播;
- 5) 当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性;
- 6) 其他节点表示他们接受该区块,而表示接受的方法,则是在跟随该区块的末尾,制造新的区块以延长该链条,而将被接受区块的随机散列值视为先于新区快的随机散列值。
节点始终都将最长的链条视为正确的链条,并持续工作和延长它。如果有两个节点同时广播不同版本的新区块,那么其他节点在接收到该区块的时间上将存在先后差别。当此情形,他们将在率先收到的区块基础上进行工作,但也会保留另外一个链条,以防后者变成最长的链条。该僵局(tie)的打破要等到下一个工作量证明被发现,而其中的一条链条被证实为是较长的一条,那么在另一条分支链条上工作的节点将转换阵营,开始在较长的链条上工作。
所谓“新的交易要广播”,实际上不需要抵达全部的节点。只要交易信息能够抵达足够多的节点,那么他们将很快被整合进一个区块中。而区块的广播对被丢弃的信息是具有容错能力的。如果一个节点没有收到某特定区块,那么该节点将会发现自己缺失了某个区块,也就可以提出自己下载该区块的请求。
6. 激励
我们约定如此:每个区块的第一笔交易进行特殊化处理,该交易产生一枚由该区块创造者拥有的新的电子货币。这样就增加了节点支持该网络的激励,并在没有中央集权机构发行货币的情况下,提供了一种将电子货币分配到流通领域的一种方法。这种将一定数量新货币持续增添到货币系统中的方法,非常类似于耗费资源去挖掘金矿并将黄金注入到流通领域。此时,CPU的时间和电力消耗就是消耗的资源。
另外一个激励的来源则是交易费(transaction fees)。如果某笔交易的输出值小于输入值,那么差额就是交易费,该交易费将被增加到该区块的激励中。只要既定数量的电子货币已经进入流通,那么激励机制就可以逐渐转换为完全依靠交易费,那么本货币系统就能够免于通货膨胀。
激励系统也有助于鼓励节点保持诚实。如果有一个贪婪的攻击者能够调集比所有诚实节点加起来还要多的CPU计算力,那么他就面临一个选择:要么将其用于诚实工作产生新的电子货币,或者将其用于进行二次支付攻击。那么他就会发现,按照规则行事、诚实工作是更有利可图的。因为该等规则使得他能够拥有更多的电子货币,而不是破坏这个系统使得其自身财富的有效性受损。
7. 回收硬盘空间
如果最近的交易已经被纳入了足够多的区块之中,那么就可以丢弃该交易之前的数据,以回收硬盘空间。为了同时确保不损害区块的随机散列值,交易信息被随机散列时,被构建成一种Merkle树(Merkle tree)[7] 的形态,使得只有根(root)被纳入了区块的随机散列值。通过将该树(tree)的分支拔除(stubbing)的方法,老区块就能被压缩。而内部的随机散列值是不必保存的。
不含交易信息的区块头(Block header)大小仅有80字节。如果我们设定区块生成的速率为每10分钟一个,那么每一年产生的数据位4.2MB。(80 bytes * 6 * 24 * 365 = 4.2MB)。2008年,PC系统通常的内存容量为2GB,按照摩尔定律的预言,即使将全部的区块头存储于内存之中都不是问题。
8. 简化的支付确认(Simplified Payment Verification)
在不运行完整网络节点的情况下,也能够对支付进行检验。一个用户需要保留最长的工作量证明链条的区块头的拷贝,它可以不断向网络发起询问,直到它确信自己拥有最长的链条,并能够通过merkle的分支通向它被加上时间戳并纳入区块的那次交易。节点想要自行检验该交易的有效性原本是不可能的,但通过追溯到链条的某个位置,它就能看到某个节点曾经接受过它,并且于其后追加的区块也进一步证明全网曾经接受了它。
当此情形,只要诚实的节点控制了网络,检验机制就是可靠的。但是,当全网被一个计算力占优的攻击者攻击时,将变得较为脆弱。因为网络节点能够自行确认交易的有效性,只要攻击者能够持续地保持计算力优势,简化的机制会被攻击者焊接的(fabricated)交易欺骗。那么一个可行的策略就是,只要他们发现了一个无效的区块,就立刻发出警报,收到警报的用户将立刻开始下载被警告有问题的区块或交易的完整信息,以便对信息的不一致进行判定。对于日常会发生大量收付的商业机构,可能仍会希望运行他们自己的完整节点,以保持较大的独立完全性和检验的快速性。
9. 价值的组合与分割(Combining and Splitting Value)
虽然可以单个单个地对电子货币进行处理,但是对于每一枚电子货币单独发起一次交易将是一种笨拙的办法。为了使得价值易于组合与分割,交易被设计为可以纳入多个输入和输出。一般而言是某次价值较大的前次交易构成的单一输入,或者由某几个价值较小的前次交易共同构成的并行输入,但是输出最多只有两个:一个用于支付,另一个用于找零(如有)。
需要指出的是,当一笔交易依赖于之前的多笔交易时,这些交易又各自依赖于多笔交易,但这并不存在任何问题。因为这个工作机制并不需要展开检验之前发生的所有交易历史。
10. 隐私(Privacy)
传统的造币厂模型为交易的参与者提供了一定程度的隐私保护,因为试图向可信任的第三方索取交易信息是严格受限的。但是如果将交易信息向全网进行广播,就意味着这样的方法失效了。但是隐私依然可以得到保护:将公钥保持为匿名。公众得知的信息仅仅是有某个人将一定数量的货币发所给了另外一个人,但是难以将该交易同特定的人联系在一起,也就是说,公众难以确信,这些人究竟是谁。这同股票交易所发布的信息是类似的,股票交易发生的时间、交易量是记录在案且可供查询的,但是交易双方的身份信息却不予透露。
作为额外的预防措施,使用者可以让每次交易都生成一个新的地址,以确保这些交易不被追溯到一个共同的所有者。但是由于并行输入的存在,一定程度上的追溯还是不可避免的,因为并行输入表明这些货币都属于同一个所有者。此时的风险在于,如果某个人的某一个公钥被确认属于他,那么就可以追溯出此人的其它很多交易。
11. 计算
设想如下场景:一个攻击者试图比诚实节点产生链条更快地制造替代性区块链。即便它达到了这一目的,但是整个系统也并非就此完全受制于攻击者的独断意志了,比方说凭空创造价值,或者掠夺本不属于攻击者的货币。这是因为节点将不会接受无效的交易,而诚实的节点永远不会接受一个包含了无效信息的区块。一个攻击者能做的,最多是更改他自己的交易信息,并试图拿回他刚刚付给别人的钱。
诚实链条和攻击者链条之间的竞赛,可以用二叉树随机漫步(Binomial Random Walk)来描述。成功事件定义为诚实链条延长了一个区块,使其领先性+1,而失败事件则是攻击者的链条被延长了一个区块,使得差距-1。
攻击者成功填补某一既定差距的可能性,可以近似地看做赌徒破产问题(Gambler’s Ruin problem)。假定一个赌徒拥有无限的透支信用,然后开始进行潜在次数为无穷的赌博,试图填补上自己的亏空。那么我们可以计算他填补上亏空的概率,也就是该攻击者赶上诚实链条,如下所示[8] :
假定p>q,那么攻击成功的概率就因为区块数的增长而呈现指数化下降。由于概率是攻击者的敌人,如果他不能幸运且快速地获得成功,那么他获得成功的机会随着时间的流逝就变得愈发渺茫。那么我们考虑一个收款人需要等待多长时间,才能足够确信付款人已经难以更改交易了。我们假设付款人是一个支付攻击者,希望让收款人在一段时间内相信他已经付过款了,然后立即将支付的款项重新支付给自己。虽然收款人届时会发现这一点,但为时已晚。
收款人生成了新的一对密钥组合,然后只预留一个较短的时间将公钥发送给付款人。这将可以防止以下情况:付款人预先准备好一个区块链然后持续地对此区块进行运算,直到运气让他的区块链超越了诚实链条,方才立即执行支付。当此情形,只要交易一旦发出,攻击者就开始秘密地准备一条包含了该交易替代版本的平行链条。
然后收款人将等待交易出现在首个区块中,然后在等到z个区块链接其后。此时,他仍然不能确切知道攻击者已经进展了多少个区块,但是假设诚实区块将耗费平均预期时间以产生一个区块,那么攻击者的潜在进展就是一个泊松分布,分布的期望值为:
当此情形,为了计算攻击者追赶上的概率,我们将攻击者取得进展区块数量的泊松分布的概率密度,乘以在该数量下攻击者依然能够追赶上的概率。
化为如下形式,避免对无限数列求和:
写为如下C语言代码:
#include double AttackerSuccessProbability(double q, int z)
{
double p = 1.0 - q;
double lambda = z * (q / p);
double sum = 1.0;
int i, k;
for (k = 0; k <= z; k++)
{
double poisson = exp(-lambda);
for (i = 1; i <= k; i++)
poisson *= lambda / i;
sum -= poisson * (1 - pow(q / p, z - k));
}
return sum;
}
对其进行运算,我们可以得到如下的概率结果,发现概率对z值呈指数下降。
当q=0.1时
z=0 P=1.0000000
z=1 P=0.2045873
z=2 P=0.0509779
z=3 P=0.0131722
z=4 P=0.0034552
z=5 P=0.0009137
z=6 P=0.0002428
z=7 P=0.0000647
z=8 P=0.0000173
z=9 P=0.0000046
z=10 P=0.0000012
当q=0.3时
z=0 P=1.0000000
z=5 P=0.1773523
z=10 P=0.0416605
z=15 P=0.0101008
z=20 P=0.0024804
z=25 P=0.0006132
z=30 P=0.0001522
z=35 P=0.0000379
z=40 P=0.0000095
z=45 P=0.0000024
z=50 P=0.0000006
求解令P<0.1%的z值:
为使P<0.001,则
q=0.10 z=5
q=0.15 z=8
q=0.20 z=11
q=0.25 z=15
q=0.30 z=24
q=0.35 z=41
q=0.40 z=89
q=0.45 z=340
12.结论
我们在此提出了一种不需要信用中介的电子支付系统。我们首先讨论了通常的电子货币的电子签名原理,虽然这种系统为所有权提供了强有力的控制,但是不足以防止双重支付。为了解决这个问题,我们提出了一种采用工作量证明机制的点对点网络来记录交易的公开信息,只要诚实的节点能够控制绝大多数的CPU计算能力,就能使得攻击者事实上难以改变交易记录。该网络的强健之处在于它结构上的简洁性。节点之间的工作大部分是彼此独立的,只需要很少的协同。每个节点都不需要明确自己的身份,由于交易信息的流动路径并无任何要求,所以只需要尽其最大努力传播即可。节点可以随时离开网络,而想重新加入网络也非常容易,因为只需要补充接收离开期间的工作量证明链条即可。节点通过自己的CPU计算力进行投票,表决他们对有效区块的确认,他们不断延长有效的区块链来表达自己的确认,并拒绝在无效的区块之后延长区块以表示拒绝。本框架包含了一个P2P电子货币系统所需要的全部规则和激励措施。
- W Dai(戴伟),a scheme for a group of untraceable digital pseudonyms to pay each other with money and to enforce contracts amongst themselves without outside help(一种能够借助电子假名在群体内部相互支付并迫使个体遵守规则且不需要外界协助的电子现金机制), “B-money”, http://www.weidai.com/bmoney.txt, 1998↵
- H. Massias, X.S. Avila, and J.-J. Quisquater, “Design of a secure timestamping service with minimal trust requirements,”(在最小化信任的基础上设计一种时间戳服务器) In 20th Symposium on Information Theory in the Benelux, May 1999.↵
- S. Haber, W.S. Stornetta, “How to time-stamp a digital document,” (怎样为电子文件添加时间戳)In Journal of Cryptology, vol 3, No.2, pages 99-111, 1991.↵
- D. Bayer, S. Haber, W.S. Stornetta, “Improving the efficiency and reliability of digital time-stamping,”(提升电子时间戳的效率和可靠性) In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993.↵
- S. Haber, W.S. Stornetta, “Secure names for bit-strings,”(比特字串的安全命名) In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997. on Computer and Communications Security, pages 28-35, April 1997.↵
- A. Back, “Hashcash – a denial of service counter-measure,”(哈希现金——拒绝服务式攻击的克制方法)http://www.hashcash.org/papers/hashcash.pdf, 2002.↵
- R.C. Merkle, “Protocols for public key cryptosystems,” (公钥密码系统的协议)In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980.
S. Haber, W.S. Stornetta, “Secure names for bit-strings,”(比特字串安全命名) In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997. on Computer and Communications Security, pages 28-35, April 1997.
H. Massias, X.S. Avila, and J.-J. Quisquater, “Design of a secure timestamping service with minimal trust requirements,”(在最小化信任的条件下设计一种时间戳服务器) In 20th Symposium on Information Theory in the Benelux, May 1999.↵ - W. Feller, “An introduction to probability theory and its applications,” (概率学理论与应用导论)1957↵
回看比特币:90%跌幅又如何
比特币之开天辟地
2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了第一批比特币50个。
2010年5月21日,第一次比特币交易:佛罗里达程序员Laszlo Hanyecz用1万个BTC购买了价值25美元的披萨优惠券。这项交易诞生了比特币第一个公允汇率,后来面对高昂价格的比特币,LaszloHanyecz说“我没感到特别的沮丧,但披萨真的很好吃”。(具体数量其实不详,但意义重大,我们记住这一天就足够了。)
2010年7月11日,比特币新版客户端消息被著名新闻网站Slashdot提及,为比特币带来大量新用户。
2010年7月16日,经过为期5天的10倍暴涨,BTC价格从0.008美元升值0.08美元,第一次价格的剧烈波动,显示新生事物的崛起。
比特币之等价之旅
2010年7月17日,第一个比特币平台成立。
2010年10月28日,第一个比特币卖空交易发起。
2010年11月6日,MTGOX上的价格达到0.5美元,此时比特币经济达100万美元。
2010年12月7日,第一次便携设备到便携设备的交易在NOKIA900上实现,交易量为0.42BTC。
2011年1月27日,最大数字的比特币交易产生:三个来自津巴布韦的账单在Bitcion-otc上以每4个BTC换100万亿津元。
2011年2月9日,价格首次达1美元,与美元等价。BTC与美元等价的消息被媒体大肆报道后引发起人们的高度关注,新用户大增。此后2月内,比特币与英镑、巴西币、波兰币的互兑交易平台先后开张。
比特币之惊人新高
2011年3月1日,经过4个月谈判,MT.Gox转手到现在的投资人,原持有人转而开发一种叫ripple的网络货币xrp。再经过4个月的完善,MT成交量大增,价格大涨,市场份额达到76%。
2011年3月6日,全网计算速度达900ghash/sec,但很快又下跌了40%,显卡挖矿开始流行。
2011年3月18日,BTC/USD汇率创7周来新低,降为0.7美元。
2011年4月16日,美国《时代周刊》发表了关于比特币的文章,《福布斯》的“加密货币”报导问世。
2011年5月29日,瑞典海盗党的创始人Rickard Falkvinge宣布将自己所有的财产都换成了BTC,此外他还借了很多钱大量囤积BTC。
2011年6月8日,继6月2日汇价超过10美元后,MT.Gox上的成交价格高达31.91峰值,然而4天后价格暴跌至10美元,并历经了半年阴跌。
比特币之半年熊途
2011年6月19日,树大招风,黑客从感染木马的电脑上盗用了用户的MT.Gox证书,6万个用户数据被泄漏,进而黑客生成了大量0.01美元订单自己买入,而当时市价为17.51美元。相当于8750000美元的帐户受到影响,短期的异常价格被MT.Gox宣布无效,但MT.Gox被迫关闭交易7天以便修复BUG,此后数月多家平台被黑,Bitconinica平台因两次遭受攻击,最终停了服务。
2011年8月20日,第一次比特币会议和世博会在纽约召开,谷歌趋势曲线中,比特币的关注度创新高,当时价格为11美元。
2011年11月14日,比特币价格创半年新低,价格为1.99美元。
比特币之一年震荡
2012年3月1日,服务器超级管理密码泄漏,价值228845美元的46703个比特币失窃,黑客是比特币世界挥之不去的恶梦。
2012年7月22日,用户在bicoin官方论坛上总计发表了100万个帖子,此时比特币价格为8.77美元。
2012年9月15日,伦敦比特币会议召开,此时比特币价格为11.8美元。
2012年9月27日,比特币基金创立,此时比特币价格为12.46美元。
2012年11月25日,欧洲第一次比特币会议在捷克布拉格召开,此时比特币价格为12.6美元。
2012年11月28日,区块供应量首次减半调整,从之前每10分钟50个递减至25个,同时比特币发行量占到发行总量2100万的一半,此时比特币价格为12.4美元。
2012年12月6日,首家在欧盟法律框架下进行运作的比特币交易所:法国比特币中央交易所诞生,这是世界首家官方认可的比特币交易所,此时比特币价格为13.69美元。
2013年2月,日均PV4000万的社交新闻网站Reddit宣布付费服务将接受比特币付款。
2013年2月8日,coinbase宣称每月交易量达到100W枚比特币,此时比特币价格为22.7美元。
2013年2月19日,比特币客户端V8.0发布,此时比特币价格为28.66美元。
2013年2月28日,BTC价格在601天之后,终于又超越2011年6月8日的历史最高点31.91美元。
比特币之疯狂暴涨
2013年3月16日,人口仅110万的欧盟成员国塞浦路斯政府冻结民众银行转账交易,对银行存款账户征税,18日关闭银行和股市,此时比特币价格为47.45美元。
2013年3月18日,美国财政部金融犯罪执法系统FinCEN发布了虚拟货币个人管理条例,首次阐明了虚拟货币,此时比特币价格为47.8美元。
2013年3月28日,比特币总市值超过10亿美元,均价为92美元。
2013年4月1日,比特币价格在所有交易市场超过100美元。
2013年4月10日,BTC创下历史最高价,266美元。
比特币之理性回归
2013年4月16日,Mt.Gox平台成交创天量,达61W枚,换手率5.8%。此时比特币价格为71.76美元。
2013年4月20日,四川庐山地震当天,李笑来在bitcoin官网发起对灾区的比特币捐赠,中国壹基金此后宣称共计收到捐赠比特币233个,市值22万人民币,此时比特币价格为121美元。
2013年5月3日,中国央视《经济半小时》比较客观的向中国观众第一次介绍比特币这个新生事物,此时比特币价格为92美元。
2013年5月9日,比特币公司Coinbase获得了投资基金Union Square的500万美元A轮投资,此时比特币价格为112.09美元。
2013年5月14日,美国国土安全部获得法院许可,冻结了全球最大的比特币交易所Mt.Gox的两个账户,此时比特币价格为119.4美元。
2013年5月17日,2013年圣何塞比特币大会召开,1300人参与,此时比特币价格为119.1美元。
2013年5月28日,美国国土安全部以涉嫌洗钱和无证经营资金汇划业务取缔了位于哥斯达黎加的汇兑公司Liberty Reserve的虚拟货币服务,美国检察官称这将成为历史上最大的国际洗钱诉讼案,吸钱规模达到60亿美元,包括中国在内的大量用户血本无归,此时比特币价格为128美元。
2013年6月,网传美国将退出QE3,通缩的比特币,量化宽松的货币政策,两者是针尖对麦芒的关系。
2013年6月27日,德国会议作出决定:持有比特币一年以上将予以免税,被业内认为此举变相认可了比特币的法律地位,此时比特币价格为102.24美元。
2013年6月28日,MT.GOX获得美国财政部金融犯罪执法网络处颁发的货币服务事务许可,交易规范化可能意味着比特币开始走向正轨,政府风险降低,其融入显示经济的步伐将会加快,同时会对其它虚拟货币起到示范作用,此时比特币价格为97.99美元。
2013年7月7日,以中国为代表的矿机产业链日益成熟,比特币股票分红令人垂涎,随着越来越多的人士介入挖矿行业,挖矿难度与日俱增…..
以上是比特币(或者所数字货币)历史的上半场。
通过看过去,我想,朋友们应该就不会对短时的波动那么恐惧了,毕竟最难的时刻已经过去,未来充满了希望。这里有几点想说:
1、过去,比特币经历过多次短时90%的跌幅,都已王者归来;而今,比特币已经比以往任何时候都强大,强大的背后,是越来越多的参与者和支持者。我们让“我们”变得强大,这就是信仰的力量。
2、币圈没有永远的被套。每天研究价格,不仅耗神,而且容易被价格影响。最难的时候,不妨抬眼看看未来——区块链的未来。那样,你就会觉得:这并没有什么,毕竟趋势不可违。
3、规律。一个利空也许会让价格短期受影响;但是涅槃之后,一个利好总会让价格超越前高。
4、趋势是水。区块链代表的是未来趋势。趋势如水,中间纵有千难万险,也总能以柔克刚,蜿蜒前行,抓住每一次长大的机会,这便是生命力。
致敬历史,致敬时代!


“比特村”故事告诉你比特币的原理及运作机制
这篇文章告诉大家比特币提出的动机、解决了什么问题以及一些关键组件的目标和设计方案。
一、比特币产生的动因
以物易物的比特村
话说在这个世界上,有一个叫比特村的小村庄,村庄共有几百户人家。
这个村庄几乎与世隔绝,过着自给自足的生活。由于没有大规模贸易,比特村村民一直过着以物易物的生活,也就是说村民之间并没有使用统一的货币,互相间的贸易基本上就是老张家拿一袋面粉换老李家一只羊,王大嫂拿一筐野果换刘大婶两尺布。村民们一直就这么纯朴的生活着。
实物货币
终于有一天,村民觉得一直这样以物易物实在太不方便了!于是村子全员开会,讨论如何解决这个问题。有人提议,以便于分割且稀有的东西,例如黄金,作为一般等价物,把其它物品和黄金的对应关系编成一张表格,例如一克黄金对应一只羊,一克黄金对应一袋面粉等等。这样老张再也不用扛着一袋面粉气喘吁吁的去老李家换羊了,他只要从家里摸出一克金子,就可以去老李家牵回一只羊,而老李拿着这一克黄金可以从任何愿意出让面粉的人那里换回一袋面粉,当然也可以换取任何和一克黄金等值的物品。
此时比特村进入了实物货币时代。
符号货币
好景不长,过了一段时间,实物货币的弊端也出现了。因为比特村附近金矿并不多,开采和冶炼金子太费时费力了。随着使用,金子总是不断会因为磨损、丢失或有人故意囤积而发生损耗。全村人又一次坐在了一起,开始商讨对策。有人说,其实大家也不必一定要真的用黄金啊,随便找张纸,写上“一克黄金”,只要全村人都认同这张纸就等于一克黄金,问题不就解决了。其他人纷纷表示认同,但同时也有了新的问题:真实的黄金是需要开采和冶炼的,金矿有限,开采和冶炼也需要成本,所以没有人可以短期凭空制造大量的黄金,可写字就不同了,只要我纸够笔够,随便像写多少写多少,那这就变成拼谁家里纸多了,搞不好到时一万张纸才能换一只羊(通货膨胀)。
大家一想也是啊。不过此时又有人提出了解决方案:这个纸不是谁写都有效,我们只认村里德高望重的老村长写得,大家都认识老村长的字。老村长写一些纸,同时按照各家黄金存量发给大家等量的纸,例如老张家有二百克黄金,老村长就发给老张二百张写着“一克黄金”的纸,同时将老张家的黄金拿走作为抵押。就这样,老村长将村里所有黄金收归到自己的家里,并按各家上交的黄金数量发给等值的写有字的纸。此时村民就可以拿着这些纸当黄金进行贸易了,而且大家都认得老村长的字,其他人伪造不出来。另外,如果谁的纸磨损太严重,也可拿到老村长那里兑换新的等值的纸,另外老村长承诺任何人如果想要换成真黄金,只要拿纸回来,老村长就会把等值的黄金还给那人。因为老村长写得纸的黄金量和真实放在家里的黄金量是一样的,所以只要严格按照销毁多少纸新写多少纸的原则,每一张有效的纸总能换回相应的真黄金。
此时,比特村进入了符号货币(纸币)时代。而老村长就承担了政府和银行的角色。
中央系统虚拟货币
又过了几年,老村长由于每天都要核对大量的旧纸币,写新的纸币,还要把各种账目仔细做好记录。一来二去,老村长操劳过度不幸驾鹤西去了。
比特村再次召开全体大会,讨论应该怎么办。此时老村长的儿子二狗子自告奋勇接过了父亲的笔,承担起货币发行的责任。这个年轻的村长二狗子很聪明,他做了几天,发现好像也不用真的写那么多纸。完全可以这样:村民把纸币都交上来,销毁,但是二狗子会记录下每户上交的纸币数量。以后如果要进行付钱,例如老张要拿一克金子向老李换一只羊,就一起给二狗子打个电话,说明要将老张名下的一克金子划归老李名下,二狗子拿出账本,看看老张名下是否有一克金子,如果有就在老张的名下减掉一克,在老李的名下加上一克,这样就完成了支付,此时老李在电话中听到二狗子确认转账完成,就可以放心让老张把羊牵走了。
此时比特村进入了中央系统虚拟货币时代。每个村民都不需要用实物支付,支付过程变成了二狗子那边维护的账本上数字的变更。
分布式虚拟货币
这新上任的二狗子是聪明,不过这人有时候是聪明反被聪明误。有一天二狗子盯着这账本,心想这全村各户谁有多少钱就是我说的算,那我岂不是……。于是他头脑一热,私自从老张帐下划了十克金子到自己名下。
本以为天衣无缝,但没想到老张也有记账的习惯,有一天他正要付钱却被二狗子告知账户没钱了。老张核对了一下自己的账本,明明还有十克啊,于是拿着账本去找二狗子理论,这一核对发现了那笔未经老张同意的转账。
东窗事发!比特村炸开锅了!二狗子被弹劾了!
通过这件事,大家发现了账本集中在一个人手里的弊端:
这个体系完全依赖于账本持有人的个人信用,如果这个人不守规矩,随意篡改账本,那么整个货币系统就会崩溃。如果这个人家里失火或者账本失窃,同样也会为整个体系带来毁灭性的打击。
正当人们不知所措时,村里一个叫中本聪的宅男科学家走上了台,告诉大家他已经设计了一套不依赖任何中央处理人的叫比特币的虚拟货币系统,可以解决上述问题。
二、比特币基础设施搭建,账簿公开机制
中本聪首先说明,要对现有账簿进行如下改造:
1)账簿上不再记载每户村民的余额,而只记载每一笔交易,即记载每一笔交易的付款人、收款人和付款金额。只要账簿的初始状态确定,每一笔交易记录可靠并有时序,当前每个人持有多少钱是可以推算出来的。
2)账簿由私有改为公开,只要任何村民需要,都可以获得当前完整的账簿,账簿上记录了从账簿创建开始到当前所有的交易记录。
此言一出,下面立刻炸锅了。第一条还无所谓,但是第二条简直无法接受,因为账簿可是记录了所有村民的交易,这样大家的隐私不全暴露了吗?中本聪倒是不慌不忙,拿出了一对奇怪的东西。
身份与签名机制(公钥加密系统)
中本聪说,大家不要慌。在他的这套机制下,任何人都不使用真实身份交易,而是使用一个唯一的代号交易。
他展示了手里神奇的东西,说这两件东西分别叫保密印章和印章扫描器。他会给村里每一户发一个保密印章和一个印章扫描器。两者的作用如下:
保密印章可以在纸上盖一个章,每个印章盖出的章都隐含了一个全村唯一的一串字符,但是凭肉眼是看不出来的。也无法通过观察来制造出相应的印章。印章扫描器可以扫描某个已经盖好的章,读出隐含的信息,并在液晶屏上显示出一串字符。
有了这两个神奇的东西,大家就可以在不暴露真实身份的情况下进行交易了,而印章隐含的那一串字符就是这户人家的代号。具体如何巧妙利用保密印章和印章扫描器进行交易,会在下文详述。
成立虚拟矿工组织(挖矿群体)
下一步,中本聪面向全村招募虚拟矿工:
1)矿工以组为单位,一组可以是单独的一户,也可以是几户联合为一组。成为矿工不影响正常使用货币。
2)矿工每天要花费一定时间从事比特币“挖矿”活动,但是不同于挖金矿,虚拟矿工不需要拿着工具去野外作业,在家里就可以完成工作。
3)矿工有一定可能性获得报酬,在挖矿活动中付出的努力越多,获得报酬的可能性越大。
4)矿工可以随时退出,也可以随时有新的矿工加进来。
很快,大约有五分之一的村民加入比特币矿工组织,共分成了7个组。
建立初始账簿(创世块)
下面,中本聪宣布,先根据二狗子手里的账簿,把抵押的所有黄金按账簿记录的余额退还给每位村民,然后彻底销毁这本账簿。
然后,中本聪拿出一本新账簿,在账簿的第一页上记录了一些交易记录,特别的是,这些记录的付款人一栏全都是“系统”,而收款人分别是每个印章对应的隐含字符,代表初始时刻,系统为每一户默认分配了一定数量比特币,但是数量非常少,都只有几枚,甚至有些不幸的村户没有获得比特币。
接着中本聪说,由于目前市面上比特币非常少,大家可以先回到用黄金做货币的时代,由于我不是村长,我也没有权利强迫大家一定要承认比特币,大家可以自行决定要不要接受比特币。不过随着比特币的流动和矿工的活动,比特币会慢慢多起来。
三、支付与交易
在这样一个体系下如何完成支付?以老张付给老李10个比特币为例。
1)付款人签署交易单
为了支付10个比特币,老张首先要询问老李的标识字符串,例如是“ABCDEFG”,同时老张也有一个标识字符串例如是“HIJKLMN”,然后老张写一张单子,内容为“HILKLMN支付10比特币给ABCDEFG”,然后用自己的保密印章盖一个章,将这张单子交给老李。另外为了便于追溯这笔钱的来源,还要在单子里注明这笔钱的来源记在哪一页,例如这个单子里,老张的10比特币来自建立账簿时系统的赠送,记录在账簿第一页。
2)收款人确认单据签署人
老李拿到这个单子后,需要确认这个单子确实是来自“HIJKLMN”这个人(也就是老张)签署的,这个并不困难。因为单子上必须有保密章,老李拿出印章扫描器,扫一下章,如果液晶屏显示出的字符和付款人字符是一致的(这里是“HIJKLMN”),就可以确认单子确实是付款人签署的。这是因为根据保密印章的机制,没有其他人可以伪造印章,任何一个人只要扫描一下印章,都可以确认单子的付款人和盖章人是否一致。
3)收款人确认付款人余额
这个系统到目前还是很有问题。通过保密印章,收款人虽然可以确认付款人确实签署了这份单子,但是无法自行确认付款人是否有足够的余额支付。之前的中央虚拟货币系统中,二狗子负责检查付款人的余额,并通知收款人交易是否有效,现在把二狗子开了,谁来负责记账和确认每笔交易的有效性呢?
之前说过,中本聪设计的这个系统是分布式货币系统,不依赖任何中央人物,所以不会有一个或少数几个人负责这件事,最终承担这份工作的是之前所提到的矿工组织。老张、老李和全村其他任何使用比特币进行交易的村民都依赖矿工组织的工作才能完成交易。
矿工的工作
矿工的工作是整个系统的核心,也是最复杂性最高的地方。下面逐步介绍矿工的工作内容和目的。
1、矿工的工具
1)初始账簿。每个组首先自己复制一份初始账簿,初始账簿只有一页,记录了系统的第一次赠送。
2)空账簿纸。每个小组有若干账簿纸,每一页纸上仅有账簿结构,没有填内容,具体内容的书写规则后面讲述。
3)编码生成器(哈希函数)。中本聪又向矿工组织的每个组分发了若干编码生成器,这个东西很神奇,将一页账簿填好内容的账簿纸放入这个机器,机器会在账簿纸的“本账单编号”一栏自动打印一串由“0”和“1”组成的编号,共256个。最神奇的是,编号生成器有如下功能:
生成的编号仅与账簿纸上填入的内容有关,与填写人、字体、填写时间等因素均无关。
内容相同的账簿纸生成的编号总是相同,但是如果内容哪怕只改一个字符,编号就会面目全非。
编码生成器在打印编码时还需要将所有填入账簿纸的交易单放入,机器会扫描交易单和填入交易单的一致性,尤其是保密印章,如果发现保密印章和付款人不一致,会拒绝打印编码。
将一张已打印的账簿纸放入,机器会判定编号是否是有效的机器打印,并且判定编号和内容是否一致,这个编号无法伪造。
4)交易单收件箱。每个矿工小组需要在门口挂一个箱子用于收集交易单。
5)公告板。每个矿工小组同样需要一个公告板公示一些信息。
2、工作内容
1)收集交易单
中本聪规定,每笔交易的发起人,不但要将交易单给到收款人,还要同时复制若干份一模一样的交易单投递到每个矿工小组的收件箱里。
矿工小组的人定期到自己的收件箱里把收集到的交易单一并取出来。
2)填写账簿
此时小组的人拿出一张空的账簿纸,把这些交易填写到“交易清单”一栏,同时找到当前账簿最后一页,将最后一页的编号抄写到“上一张账单编号一栏”。 注意还有个“幸运数字”,可以随便填上一个数字,如12345。然后,将这样账簿纸放入编号生成器,打印好编号,一张账簿就算完成了。
注意:中本聪有个奇妙的规定:只有编号的前10个数均为0,这页账簿纸才算有效。
根据之前对编号生成器的描述,要修改编号,只能修改账簿纸的内容,而“交易清单”和“上一张账簿纸编号”是不能随便改的,那么只能改幸运数字了。于是为了生成有效的账簿纸,小组里的矿工就不断抄写账簿纸,但每张纸的幸运数字都不同,然后不断的重复将纸放入编码器,如果生成的编号不符合规定,这张纸就算废了,重复这个过程直到生成一串有效的编号。
我们知道,如果编号的每一个数字都是随机的,那么平均写1000多张幸运数字不同的纸才能获得一个有效的编号。那这些矿工为什么要拼命干这看似无意义的事情呢?中本聪规定:每一张账簿纸的交易清单第一条交易为“系统给这个小组支付50个比特币”。也就是说,如果你生成了一张有意义的账簿纸,并且被所有挖矿小组接受了,那么就意味着这条交易也被接受了,你的挖矿小组获得了50个比特币。
这就是矿工被叫做矿工的原因,也是为什么之前说随着交易和矿工的活动,比特币的数量会不断增多。例如下面是一个挖矿过程,这个小组的公共比特币帐号为“UVWXYZ”。在幸运数字尝试到“533”时,系统生成了一页有效账簿。
3)确认账簿
当某挖矿小组幸运的生成了一张有意义的账簿,为了得到奖励,必须立刻请其它小组确认自己的工作。前面说过,当前村里有7个挖矿组,所以这个小组必须将有效账簿纸誊抄6份快马加鞭送到其他6个小组请求确认。
中本聪规定,当某个小组接到其他小组送来的账簿纸时,必须立即停下手里的挖矿工作进行账簿确认。
需要确认的信息有三个:
(1)账簿的编号有效;(2)账簿的前一页账簿有效;(3)交易清单有效。
确认第一个比较简单。只要将送来的账簿纸放入编码生成器进行验证,如果验证通过,则编号有效。
第二部分需要将账簿页上的“上一页账簿纸编号”和这个小组目前保存的有效账簿最后一页编号比对,如果相同则确认,如果不同,需要顺着已有账簿向前比对,直到找到这个编号的页。如果没有找到指定的“上一页账簿纸编号”对应的页,这个小组会将此页丢掉。不予确认。
注意,由上面的机制可以保证,如果各个小组手里的账簿纸是相同的,那么他们都能按同样的顺序装订成相同的账簿。因为后面一张纸的编号总是依赖前面的纸的编号,编码生成器的机制保证了所有合法账簿纸的相对先后顺序在每个小组那里都是相同的(可能会有分支,但不会出现环,后面细讲)。
最后是如何确认交易清单有效,其实也就是要确认当前每笔交易的付款人有足够的余额支付这笔钱。由于交易信息里包含这笔钱是如何来的,还包含了记录来源交易的账单编号。例如,HIJKLMN要给ABCDEFG10个比特币,并注明了这10个比特币来自之前OPQRST支付给HIJKLMN的一笔交易,确认时首先要确认之前这笔交易是否存在,同时还要检查HIJKLMN在这之前没有将这10个比特币支付给别人。这一切确认后,这笔交易有效性就被确认了。
其中第一笔是系统奖励给生成这页账簿的小组的50个,这笔交易大家都默认承认,后面的只要按照上述方法追溯,就可以确认HIJKLMN是否当前真有10个比特币支付给ABCDEFG。
如果完成了所有了上述验证并全部通过,这个小组就认可了上述账簿纸有效,然后将这张账簿纸并入小组的主账簿,舍弃目前正在进行的工作,后面的挖矿工作会基于这本更新后的主账本进行。
4)账簿确认反馈
对于挖矿小组来说,当账簿纸送出去后,如果后面有收到其他小组送来的账簿纸,其“上一页账簿纸编号”为自己之前送出去的账簿纸,那么就表示他们的工作成功被其他小组认可了,因为已经有小组基于他们的账簿纸继续工作了。此时,可以粗略的说可以认为已经得到了50个比特币。
另外,任何一个小组当新生成有效账簿纸或确认了别的小组的账簿纸时,就将最新被这个小组承认的交易写到公告牌上,那么收款人只要发现相关交易被各个小组认可了,基本就可以认为这笔钱已经到了自己的账上,后面他就可以在付款时将钱的来源指向这笔交易了。
以上就是整个比特币的支付体系。下面我们来分析一下,这个体系为什么可以工作下去,以及这个体系可能面临的风险。
四、比特币工作机制分析
虽然上面阐述了比特币的基本运作规则,但是村民们还是有不少疑问。中本聪为此专门开了个答疑会,解答常见问题。下面总结一下村民最集中关心的问题。
核心问题答疑
1)如果同时收到两份合法的账簿页怎么办?
在上面的运行机制中,各个挖矿小组是并行工作的,因此完全可能出现这样的情况:某小组收到两份不一样的账簿页,它们都基于当前这个小组的主账簿的最后一页,并且内容也都完全合法,怎么办?
关于这个问题,中本聪说,小组不应该以线性方式组织账簿,而应该以树状组织账簿,任何时刻,都以当前最长分支作为主账簿,但是保留其它分支。举个例子,某小组同时收到A、B两份账簿页,经核算都是合法的,此时小组应该将两页以分叉的形式组织起来。
黑色表示当前账簿主干。此时,可以随便选择一个页作为当前主分支,例如选择A。
此时如果有一个新的账簿页是基于A的,那么这个主干就延续下去。
如果这个主干一直这么延续下去,表示大家基本都以A为主干,B就会被遗忘。但是也有可能忽然B变成更长了:
那么我们就需要将B分支作为当前主干,基于这个分支进行后续工作。
从局部来看,虽然在某一时刻各个小组的账簿主干可能存在不一致,但大方向是一致的,那些偶尔由于不同步产生的小分支,会很快被淹没在历史中。
2)如果挖矿小组有人伪造账簿怎么办?
关于这个问题,中本聪说,只要挖矿组织中大多数人是诚实的,这个系统就可靠,具体分几个方面给予答复。
首先,基于保密印章机制,没有人能伪造他人身份进行付款,因为编码生成器在打印编码时会核对所有交易单的保密印章,印章和付款人不一致会拒绝打印。
而且诚实的矿工也不会承认不合法的交易(如某笔交易付款方余额不够)。
所以只有一种可能的攻击行为,即在收款人确认收款后,从另一条分支上建立另外的交易单,取消之前的付款,而将同一笔钱再次付款给另一个人(即所谓的double-spending“双花”问题)。
下面用一个例子说明这个问题。
先假设有一个攻击者拥有10个比特币,他准备将这笔钱同时支付给两名受害者A和B,并都得到承认。
第一步,攻击者准备从受害者A手里买10比特币的黄金,他签署交易单给受害者A,转10个比特币给受害者A。
第二步,这笔交易在最新的账簿页中被确认,并被各个挖矿小组公告出来。受害人A看到公告,确认比特币到账,给了攻击者10个比特币等值的黄金。
第三步,攻击者找到账簿,从包含刚才交易的账簿页的前一页做出一个分支,生成更多的账单页,超过刚才的分支。由于此时刚才攻击者制造的分支变成了主干分支,而包含受害者A得到钱的分支变成了旁支,因此挖矿组织不再承认刚才的转账,受害者A得到的10比特币被取消了。
第四步,攻击者可以再次签署交易单,将同一笔钱支付给受害者B。受害者B确认钱到账后,支付给攻击者等值黄金。
至此,攻击者将10个比特币花了两次,从两名受害者那里各购得等值黄金。攻击者还可以如法炮制,取消与受害者B的转账,将同一笔钱再支付给其他人……
关于这种攻击,中本聪给出的解决方案是,建议收款人不要在公告挂出时立即确认交易完成,而是应该再看一段时间,等待各个挖矿小组再挂出6张确认账簿,并且之前的账簿没有被取消,才确认钱已到账。
中本聪解释道,之前设定的绝妙的编号规则,正是为了防御这一点。根据前面所述,生成有效账簿页不是那么简单的,要花费大量的人力反复试不同的幸运数字,而且过程完全是碰运气。如果某账簿页包含你收到钱的确认,并且在后面又延续了6个,那么攻击者想要在落后6页的情况下从另一个分支赶超当前主分支是非常困难的,除非攻击者拥有非常多的人力,超过其他所有诚实矿工的人力之和。
如果攻击者有如此多人力,与其花这么大力气搞这种攻击,还不如做良民挖矿来的收益大。这就从动机上杜绝了攻击的形成。
3)比特币会一直增加下去,岂不是会严重通货膨胀?
中本聪说,不必担心。我给矿工组织的操作细则手册有详细说明。刚开始我们协议每生成一页账簿,奖励小组50个比特币。后面,每当账簿增加21,000页,奖励就减半,例如当达到210,000页后,每生成一页账簿奖励25个比特币,420,000页后,每生成一页奖励12.5个,依次类推,等账簿达到6,930,000页后,新生成账簿页就没有奖励了。此时比特币全量约为21,000,000个,这就是比特币的总量,不会无限增加下去。
4)没有奖励后,就没人做矿工了,岂不是没人帮忙确认交易了?
到时,矿工的收益会由挖矿所得变为收取手续费。例如,你在转账时可以指定其中1%作为手续费支付给生成账簿页的小组,各个小组会挑选手续费高的交易单优先确认。
5)矿工如果越来越多,比特币生成速度会变快吗?
不会。中本聪解释,虽然可以任意加入和退出矿工组织,导致矿工人数变化,每个矿工也会拿到一个编码生成器,不过我已经在编码生成器中加入了调控机制,当前工作的编码生成器越多,每个机器的效率就越低,保证新账簿页生成速率不变。
6)每个人的代号是匿名的,但如果泄露了某个人的代号,账簿又是公开的,岂不是他的所有账目都查出来了?
确实是这样的。例如你要和某人交易,必然要要到他的代号才能填写交易单,因为收款人一栏要填入那人的代号。不过中本聪说,他可以提供数量无限的保密印章,并建议每一次交易用不同的保密印章。这样查账簿就追查不到同一个人的所有账目了。
大屠杀,今晚血流成河,无数人爆仓哭泣
真的是血流成河,一场大屠杀,比特币今天连续跌破1.5万美元、1.4万美元、1.3万美元、1.2万美元、1.1万美元五道重要关口,飞流直下三千尺,今天整体跌幅超过30%,从最高位跌幅达到了9000多美元,从最高位跌幅超过45%!
因为比特币期货的开通和肆虐,导致高杠杆投机,无数比特币投机者今天遭遇爆仓,形成踩踏,无数人一夜之间倾家荡产,无数人今晚在哭泣。
比特币突然高位跳水,大家都在猜测其中的原因,议论纷纷,到底是什么原因导致比特币高台跳水呢?
有一种说法是,有大型的比特币交易所遭到了黑客攻击,盗取了大量的比特币,然后疯狂出货,导致了比特币价格狂跌。
这很可能是原因之一,因为随着比特币价格的暴涨,一些比特币交易所受到了黑客疯狂的攻击,这几天出现了好几起这样的案例。
当然这不仅仅是比特币暴跌的原因,因为前段时间比特币价格之所以暴涨,是因为比特币期货开通是催化剂。
美国最大的期权交易所和全球最大的期货交易所开通比特币期货,这迅速导致比特币价格疯狂上涨,因为要做空的话,必须手里要有够多的筹码。
通过买进比特币现货,做高比特币价格,获得盈利,现在又通过卖空比特币赚钱,做多是同一批人,做空也是同一批人。
也就是说,现在比特币的价格很明显是被操纵了,所以才如此大起大落,表现得非常疯狂。
过去对比特币持有批评态度的人往往是一些金融大佬,如巴菲特、格林斯潘、戴蒙等,在这些金融大佬的批评中,比特币价格反而更加上涨。
但是现在出现了不同的声音,那就是比特币阵营内部开始了分化,比特币交易网站的创始人开始唱空比特币,认为比特币的价格泡沫太大,非常危险。
这是过去所没有出现的事情,比特币阵营内部的分化,不排除一部分人加入到了做空的阵营中。
过去只能做多比特币才能赚钱,现在做空也能赚钱,毫无疑问,总有一部分人或资金流向了空头阵营,这对多头阵营是一种分化和瓦解。
现在的比特币期货和比特币现货之间的差距已经被抹平了,几乎不存在套利的空间了,接下来比特币现货价格和比特币期货价格将会保持比较强的同步效应。
随着比特币期货已经进入了正常的交易,催化效应已经逐渐衰落,最终会尘归尘,土归土。
还有一个值得注意的现象是,高盛这段时间一直在放风说要推出比特币期货,但是要收取100%的保证金。
要知道高盛持有了约百分之十三的比特币,是比特币价格高涨的最大获益者之一,另一个是美国财政部。
如果高盛推出比特币期货,那将是华尔街传统金融巨头正式进入了比特币交易领域,这将会使得比特币受到极大的提振。
但是不排除是一边制造高盛要推出比特币期货的利好效应,一边在出货,毕竟今年以来比特币已经上涨了二十多倍,自成立以来上涨了2200万倍。
高盛过去也经常玩唱多做空的游戏,这次在比特币上会不会也故伎重演,这不是不可能的事情。
在暴跌前,比特币的总市值是3000亿美元,而所有数字货币的总市值是6000亿美元,这已经是一个庞大的市场了。
如果继续上涨,毫无财富对应的数字货币总市值超过万亿美元,这将是人类历史上最大的泡沫,因为背后真的没有财富对应,只有一行行代码,这是一件很可怕的事情。
在六千亿美元的总市值背景下,在比特币期货已经推出的情况下,比特币等数字货币的暴涨暴跌将成为常态,而这背后绝对是一批人或机构在操纵。
今天比特币这场暴跌,毫无疑问是一场大屠杀,因为在比特币期货已经推出的情况下,在高杠杆的疯狂投机下,不知道多少多头会爆仓,比特币投机者做多比特币过去一直狂笑,但是在比特币期货上,无数多头今晚在哭泣,如果你恨一个人,就让他加杠杆去投机比特币吧!
原创者:黄生
过去7年,比特币经历过的10次暴跌
垃圾场里的7500个比特币、你捡吗?
英国的一个填埋场里,埋着7500个比特币,你愿意花费百万美元来挖吗?
金条会沉入海底,沧海会化作桑田。在比特币八年的历史中,也会发生丢失事件。垃圾场里的7500个比特币就是一名叫做豪沃思的英国男子遗失的。
2009年开始在自己的笔记本电脑上“挖掘”比特币,总计挖了7500枚,储存在电脑硬盘里。2013年,在他停止开采后,这台笔记本电脑被拆成了几部分,在eBay拍卖。
豪沃思保留了电脑硬盘,希望有朝一日比特币变得值钱时,他能将这些比特币兑换成现金。然而不幸的是,在2013年清理房屋时,他误将这个硬盘扔进了垃圾箱,这些垃圾随后被送到当地的垃圾填埋场埋掉了。
自那之后的几年里,比特币的价格大幅上涨,特别是今年以来上涨了10多倍,目前每枚比特币价格在17000美元左右,意味着豪沃思如果没有丢掉他的比特币,这些比特币现在将价值超过1.27亿美元。
而在此期间,大量的垃圾也被倒进了这个填埋场里。如果他想找回自己的比特币,将是一项无比艰巨的工作。豪沃思表示:“现代填埋场是一个复杂的工程项目,挖掘一件东西会带来各种环境问题,例如危险气体,并可能引发火灾。这是一个巨大的、昂贵的和冒险的项目。”
此外,这项工作可能需要特别的建筑车辆,可能要花费数百万美元。虽然豪沃思已找到了足够的资金支持,但仍需获得批准,因为这个填埋场不向公众开放,非法进入将被视为刑事犯罪。
最重要的是这个硬盘可能已受到严重的腐蚀,即便找回也可能无法工作。
虽然遗失比特币是一件非常遗憾的事情,但是根据数字取证公司Chainalysis对比特币区块链进行的研究,大约有278万至379万个比特币已经永远消失。对应现有比特币的总数约为17%至23%。其中大部分来自技术早期开采的比特币,当时这些比特币几乎毫无价值,人们当时也不愿意费时保存这些比特币。
也就是说,还有很多人遗忘了自己的比特币,但是他们并不知道,也可能早就忘记了自己拥有比特币这件事情了。
希望想不起来自己有比特币的小伙伴就别想了。毕竟丢比特币这么刻骨铭心的悲伤,老优是不希望大家经历的。
海外各大交易平台录
BTC.COM交易加速
别人0.5BTC只要300加速,我0.014BTC居然要900加速!为什么?
BTC转账跟金额大小没有关系。你可以看下比特币白皮书里的说明。
主要因为Core团队坚持 BTC每个块大小为1MB = 1000kb =1000000字节
BTCore10分钟一个块,说白了10分钟能写入区块链的只有1000kb数据,一般一个固定地址转到另外一个地址是一个标准交易,大小为 255字节 但是很多时候你之前钱包里的钱是分散的多个地址或者多个前置交易。区块链本质是需要上一笔交易的tx来进行下一笔交易,也就是 1btc组合成一个交易 和10笔0.1btc组合成一个交易 转账是不同的交易体积。
这时候你给的手续费 / 交易体积 = xxBTC/字节 然后按照这个价格有个排序,价高的先走。每隔10分钟只能塞1MB数据,就是这样。所以你要900多说明你零碎的钱太多了。
未确认交易数查询:
https://btc.com/stats/unconfirmed-tx
https://blockchain.info/unconfirmed-transactions
BTC.COM交易加速链接:
https://pushtx.btc.com/?_ga=2.111710466.74789634.1513415831-1546488527.1512886254