比特币离线支付方案

区块链技术巴比特2017-11-25 06:43:48  阅读 -评论 0

比特币离线支付方案
–Satoshi代码学习
特币离线支付就是off chain支付,交易不是通过发送和接收比特币完成的,交易数据也不会上block chain。为什么要讨论离线支付方案,其目的有以下几个:
1.快速完成支付
2.不增加block chain的数据量负荷
3.在没有比特币网络的情况下也能完成支付

大家都知道,satoshi的论文里提到为了保证安全,建议一个交易被确认的数量达到6次才认为交易成功,不过比特币网络已经正常运行了快五年了,再要有51%攻击想造出一条假的block chain完全不可能。目前比特币的算力爆涨,涨到一个令普通矿工瞠目结舌的地步,探矿难度提高得吓人,就算有算力大户想51%攻击造假一个block也是非常困难的,但是为了避免双重支付的欺骗,至少还是需要一个确认才能认为交易成功。就算是只需要一个确认,平均确认时间也差不多是10分钟。

现在整个block chain占用的空间约12G,这个数据量不算大,但是我不得不说它现在小是有原因的。目前整个比特币网络每天平均的交易笔数约6万,这样的交易笔数如果和银联比,那真是少得可怜,以工行为例,一个三级城市的日交易笔数都能超过10万。比特币是一个全世界通用的货币,随着比特币的应用推广,使用她的人会越来越多,日交易笔数会越来越大,这样一来block chain的数据量负荷会非常大。肯定会有人说block chain越来越大没有关系,大家都使用瘦钱包。是的,普通大众可以使用瘦钱包,block chain由专门处理数据的服务器来做就行,但是block chain变大对矿工而言却不是什么好事,矿工要负责交易确认,一方面是当前block待确认的交易过多,确认时间变长;另一方面是历史的交易过多,比特币溯源工作变得较麻烦;还有一方面是整个block的占用空间变大,需要的存储更多。不知道现在的矿机芯片设计的存储空间是否足够大,能否应付大量交易的情况。bitcoin-qt就block的空间上限进行过几次调整,目前上限好像是32M,以后这32M是否能够胜我表示担心。

虽然只要有internet的地方就有比特币网络,这比银行的终端要方面多了。找一个有internet的地方就找一个有银行终端的地方容易太多了。但是这并不意味着到处都有internet,总会有些地方因为这样那样的原因断网,就算是有这种恶劣的环境也能用比特币进行支付的话,那就太棒了!

OK,正式开始讨论我们的方案吧:

方案一、银票式
经常看一些古装剧,里面常有拿出银票付账的镜头,动不动一百两,一千两,一万两……银票应该就和宋朝的交子是一回事,先把自己的银子拿到一个钱庄存放,由钱庄签出一张银票,然后拿着银票当货币进行交易,这样一来这些高富帅不用整天背它一万两的银子就能完成价值一万两的交易。同样的道理,把比特币存到一个值得依赖的网站,由网站发行出一个比特币凭证,用这个凭证就可以做交易了。银票式的离线交易有一个鲜活的例子就是796交易所

比特币离线支付方案

在796交易所可以把充入的比特币兑换成BTC码(BTC码是一串字符),又可以随时使用BTC码再把比特币充值到796交易所。

比特币离线支付方案

这样的BTC码就是银票啦,可以做交易用。对于796的BTC码我这里有一个建议:请提供一个BTC码有效性查询功能,避免接受BTC码交易的人被无效码和已充值码骗(现在已充值码在充值框中输入后依然显示对应的比特币数量)。
现在已经有一个充值码交易网站支持796交易所的BTC码交易,www.btgtrade.com。
方案效果:可以达到第1、2点的要求,快速完成支付,不增加block chain的数据量负荷。
方案弊端:发行银票的钱庄需要有极要信用,如果钱庄卷钱走人,那比特币就全损失了。

方案二、支票式
比特币发送时会向网络广播一个交易单,一个交易单会包含以下内容:
交易单的ID
发送人比特币来源列表
接收人地址和比特币数量列表
签名
在没有比特币网络的情况下,这样的一个交易单就成了一张支票。

比特币离线支付方案

应用场景大概是这样:一个无比特币网络的地方,顾客A向商家B买物品,顾客A发送比特币支票给商家定货,商家B接收到比特币支票,比特币支票就是一张比特币交易单(A发一个数量比特币给B并由A完成了签名),商家B可以认为顾客A已经预定物品,待商家B到有比特币网络的地方,再把这张交易单广播到比特网络,由矿工确认完成后,商家B可以知道这张支票是否是空头支票,用以决定是否向顾客A发货。
这种方式与正常的比特币交易不同,正常交易情况是由顾客A把交易单广播到比特币网络,而这种支票式交易模式是由商家B把交易单广播到比特币网络。这种支付方式其实现实意义不大,原因是要求商家B在无网络情况下交易,到有网张情况下确认,这不是有毛病嘛,何不克服困难一步到位,直接就在有网络的情况下交易得了。
方案效果:可以达到第3点的要求,在没有比特币网络的情况下也能完成支付。
方案弊端:顾客A和商家B都需要有极高的信用,不然商家B容易收到空头支票,顾客A容易被欺诈收不到货。

方案三、钞票式
这种方式就是把不固定额的比特币账户拆分成固定额的账户集合,举个例子:有一个BTC地址记账有10BTC,把这个地址的10BTC转到四个地址,A地址包含5BTC,B地址包含2BTC,C地址包含2BTC,D地址包含1BTC,这样一来,这四个地址可以组合出1BTC到10BTC的任何一个整数支付额。这其实就是使用钞票的方式,一元、两元、五元;当然,为了支付更小或者更大的交易可以制成更小或者更大的固定额的地址。这有什么用呢?这就是在为离线交易做准备,这都需要在有比特币网络的情况下预先制作好。

比特币离线支付方案

在一个没有比特币网络的地方,顾客A向商家B买物品,需要支付3BTC,那顾客A就发送B和D两个地址的私钥给商家B,商家B发送确认信息给顾客A后,顾客A删除B和D两个地址的私钥。由于商家B不知道收到的两个地址是否真的包含有3BTC,所以顾客A和商家B之间不光是要发送地址私钥,还需要对私钥进行一次包装,也就是为私钥贴上丝印(面额),表明该地址下包含有多少BTC。
上面描述的交易方式当然需要一个软件来自动化完成,否则顾客A和商家B都可能出现作弊行为。2013年创新中国杭州总决赛一个一自台湾的coinpok团队申称要开发这样一个钱包软件。[链接]
方案效果:可以达到第1、2、3点的要求,快速完成支付,不增加block chain的数据量负荷,在没有比特币网络的情况下也能完成支付。这种支付可以一直离线使用下去,并且就算开发这种支付方式的公司已经跑路了也没有关系,他不能卷走你的比特币,因为比特币存在于你的钱包,而不是他们的网站。
方案弊端:这种方案最重要的是要求钱包软件的安全性,避免存在漏洞导致比特币被偷;这种方案最致命的弱点是交易协议必需闭源,不然被篡改的钱包版本与正式的钱包版本一起交易就会出现欺诈行为,比如制作假币、交易后不删除地址等等;因为闭源,导致钱包开发商又成为一种风险,他可能设置后门偷走你的比特币,比如把你的比特币或者私钥地址发送到他那儿。

结论:
对于比特币这种自由的货币,没有人来管你限制你,但也没有人来保护你,大家都需要通过深入学习比特币原理来武装自己,让自己脱离小白,避免被其他歹人坑杀了。比特币就是一种网络货币,需要有网络的支持才能正常地运行,离线支付只是一种尝试,每种离线支付方案有自己的优势也有明显的缺点,大家需要明白其弊端才知道如何避免损失。

本文参加巴比特“光之锥”开放原创计划。
接受捐助,作者BTC地址:1MrPengMav16pw5Vj3uoT48GPPHfYg1uY9

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们100@7234.cn

    参与讨论 (0 人参与讨论)

    相关推荐

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    来自:https://mp.weixin.qq.com/s?__biz=MzI4NzIxOTY1NA==&mid=2650632639&idx=1&sn=e6d1c29731d992a80410aaee82ec3ea6&chksm=f3d8db16c4af520097e4a64a71b1d4743ac326b9f027

    重新发明货币

    重新发明货币

    一、货币的演化过程 先简单回顾一下人类货币的演化过程,大概有以下阶段: a. 1.0版本:自然货币(贝壳、牲口、金银……) 这个阶段,货币基于一般等价物的稀有性或者实用性,货币不可能出现人为操纵的超发。 b. 2.0版本:早期纸币、银票到本位纸币 当贸易量越来越大,实物货币太不方便了,而且大家发现其实并不在意货币本身有什么价值,在意的只是这么多的货币能不能交换到足够的物品,于是纸币这种信用货

    从比特币交易看欧洲央行虚拟货币分类

    从比特币交易看欧洲央行虚拟货币分类

      互联网对传统社会的颠覆从未停止,在其完成对信息流、商流、物流、资金流的初步改造之后,或将以虚拟货币的形式打破现有货币体系   4月18日,在中国极客张沈鹏创办的比特币交易平台(42BTC.com)上,比特币对人民币的平均交易价为576元。当天,该平台完成了100个比特币的交易量。仅仅过去一周,4月25日上午,比特币对人民币的平均交易价已达到906元。据42BTC网站统计:在过去的32个月

    欧洲央行-比特币报告

    3.1 比特币 3.1.1 基本特征          比特币可能是最成功的,也可能是最有争议的虚拟货币方案,由日本程序员中本聪(译者注:事实上,中本聪是不是日本人,甚至是不是单个人无从考证)在2009年设计并实现。该计划基于一个类似于BitTorrent的P2P网络。BitTorrent是互联网上著名的共享文件协议,应用在电影,游戏和音乐领域。比特币在全球层面上运作,可用于各类货币交易(虚

    彻底玩转比特币地址和私匙

    彻底玩转比特币地址和私匙

    比特币地址和私匙是所有比特币初学者面对的一大难题,再加上那一串超长的字符串,让人更是摸不到头脑。 现在编者以问答的形式,带你一步步的揭开比特币地址和私匙的面纱。 还不知道什么是比特币地址和私匙的同学请点这里 问题一、比特币钱包由什么组成? 答 我们知道,比特币地址和私匙组成了比特币钱包,而私匙则决定了比特币地址上比特币的归属。 地址和私匙 问题二、如果只记得私匙我们还能还原比特币地址么? 答

    用GO语言实现比特币算法

    用GO语言实现比特币算法

    本节的这个例子展示一点点高精度数学包math/big、一点点散列包hash、一点点加密包crypto,还有一点点测试包testing的知识。这里不介绍bitcoin协议和算法——尽管它们很有趣,而是试图指出,Go对多种操作系统的支持,是实现这种跨平台应用的理想语言。 位钱(bitcoin)是一种使用加密手段制作的分布式电子货币。它最初于1998年由Wei Dai提出,并由中本聪(Satoshi

    详解比特币的找零机制

    详解比特币的找零机制

    比特币的找零机制一直让人有些迷惑,明明只向一个地址发送了比特币为什么 blockchain 上面的显示的有时是1个地址对多个地址,有时是多个地址对1个地址,有时又显示多个地址对多个地址? 为什么比特币资深用户要提醒大家当比特币钱包交易100次以上时再次交易后要重新备份钱包,恢复以前的钱包备份有可能会遭遇损失? 是的,这一切都是因为比特币的找零(Change)机制。本文参考 Bitcoin的维

    玩转比特币客户端之一:C盘转移和加速下载

    玩转比特币客户端之一:C盘转移和加速下载

    C盘空间不足?交易数据下载速度太慢?别着急,乐享比特币教你轻松玩转比特币官方客户端。 所有新人开始接触比特币时做的第一件事情大多数是安装比特币的官方客户端。 安全起见大家最好直接访问官方发布渠道sourceforge的地址进行下载:http://sourceforge.net/projects/bitcoin/files/Bitcoin/ 该网页列出了各版本的官方比特币客户端,目前

    麦妖榜
    更新日期 2019-03-21
    排名用户贡献值
    1BitettFan23752
    2等待的宿命23696
    3六叶树20309
    4天下无双16192
    5区块大康15902
    6lizhen00214889
    7让时间淡忘14256
    8linjm122712327
    9冷风大q11188
    10momo11174
    返回顶部 ↑