OKCoin

比特币离线支付方案

Satoshi代码学习 发布在 技术指南,比特币 39 14143

比特币离线支付方案
–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

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:39

您需要登录后才可以回复 登录|注册
    Author Image
    yuanhaha 800 天前

    比特币不需要离线支付,离线支付必须要有信用做支撑,没有信用的离线支付就是漏洞。

    +1
    +1
    我要点评
    Author Image
    changjia 1142 天前

    不过把离线支付改为区块外支付可能更准确些

    +1
    +1
    我要点评
    彩云比特-walker
    彩云比特-walker 1152 天前

    回复@方淼owl:就是,就是,[嘻嘻]

    +1
    +1
    我要点评
    美国二叔
    美国二叔 1153 天前

    //@Satoshi代码学习: 回复@方淼owl:支付宝就是中心化机构,需要有公司信用为依托,这样的公司一样可能卷铺盖跑路的。交易数据没上block chain就是离线交易,离的就是比特币p2p网络。 //@方淼owl:我也不觉得离线交易有什么可为的,未来主流一定是属于类似支付宝这样的离blockchain交易的。

    +1
    +1
    我要点评
    BTC_吃猫的鱼
    BTC_吃猫的鱼 1153 天前

    应该用另一个不混淆的词,例如“脱链交易”。

    +1
    +1
    我要点评
    BTC_吃猫的鱼
    BTC_吃猫的鱼 1153 天前

    应该用另一个不混淆的词,例如“脱链交易”。 //@Satoshi代码学习:回复@方淼owl:支付宝就是中心化机构,需要有公司信用为依托,这样的公司一样可能卷铺盖跑路的。交易数据没上block chain就是离线交易,离的就是比特币p2p网络。

    +1
    +1
    我要点评
    Author Image
    changjia 1153 天前

    资助 0.2BTC
    交易ID 5d6a34219676f7a4bd3994716732235f9a9ada9301c78df2de19475943439c86

    +1
    +1
    我要点评
    方淼owl
    方淼owl 1153 天前

    不离线根本就无法解决确认时间慢的问题,比特币要在日常生活中普及应用就必须解决这个问题。没有人有耐心去吃碗面条付完钱还要等十分钟的一个确认。

    +1
    +1
    我要点评
    方淼owl
    方淼owl 1153 天前

    信用问题不是问题,只要它足够快速便捷,就像今天的交易所还有支付宝,我们都是放心地在用。去中心化也不是问题,普通人根本就不关心它是否中心,是否偏离中本聪的设计本意。只要它足够安全便捷还能抗通涨。

    +1
    +1
    我要点评
    彩云比特-walker
    彩云比特-walker 1153 天前

    回复@方淼owl:支付宝就是中心化机构,需要有公司信用为依托,这样的公司一样可能卷铺盖跑路的。交易数据没上block chain就是离线交易,离的就是比特币p2p网络。 //@方淼owl:我也不觉得离线交易有什么可为的,未来主流一定是属于类似支付宝这样的离blockchain交易的。

    +1
    +1
    我要点评
    方淼owl
    方淼owl 1153 天前

    我也不觉得离线交易有什么可为的,未来主流一定是属于类似支付宝这样的离blockchain交易的。

    +1
    +1
    我要点评
    比特集
    比特集 1153 天前

    区中心化,指的是去掉发行货币、调控货币的中心,不是指这些第三方功能性的机构吧 //@BTC_吃猫的鱼:我持不同意见,未来离线交易是主流,把币充到淘宝类的机构在里面交易再提现。这是比特币应用的需要。用比特币买股票不都这样吗。

    +1
    +1
    我要点评
    比特集
    比特集 1153 天前

    区中心化,指的是去掉发行货币、调控货币的中心,不是指这些第三方功能性的机构吧

    +1
    +1
    我要点评
    灶蔚恒科
    灶蔚恒科 1153 天前

    #国庆深宅晒桌面安卓市场好礼送不停#国庆深宅晒桌面,安卓市场好礼送不停! 地址:

    +1
    +1
    我要点评
    小甜甜郑雪瑞
    小甜甜郑雪瑞 1153 天前

    //@Daigs-Ylw: 转发微博

    +1
    +1
    我要点评
    BTC_吃猫的鱼
    BTC_吃猫的鱼 1153 天前

    我持不同意见,未来离线交易是主流,把币充到淘宝类的机构在里面交易再提现。这是比特币应用的需要。用比特币买股票不都这样吗。 //@Satoshi代码学习:比特币的革命性意义就在去中心化,因为去中心化,所以比特币是无需信用、背书、政府强权的自由货币。离线支付却又不得不再把中心机构引入进来,这是一

    +1
    +1
    我要点评
    彩云比特-walker
    彩云比特-walker 1153 天前

    比特币的革命性意义就在去中心化,因为去中心化,所以比特币是无需信用、背书、政府强权的自由货币。离线支付却又不得不再把中心机构引入进来,这是一个退步,是在不得已的环境条件下才用的手段。在移动互联网越来越普及的形势下,比特币离线支付的应用会很狭窄。

    +1
    +1
    我要点评
    Author Image
    吃猫的鱼 1154 天前

    我对离线支付的认识是这样的,由离线客户端生成一个脚本,支付一定数量的BTC到特定的地址,然后在线客户端可以执行。当然这不是用来信用交易,而是保护私钥在任何情况下不联网,但依然可以交易。

    +1
    +1
    我要点评
    Author Image
    changjia 1154 天前

    这是一篇非常好的文章,每一种方案都可能是未来的一个商业模式。

    +1
    +1
    我要点评
    比特点点
    比特点点 1154 天前

    感觉银票方式倒是有些意义,有效降低小额交易数量~~

    +1
    +1
    我要点评

    回复@中本蒜:哈哈,另一半在去BD的路上

    +1
    +1
    我要点评
    中本蒜
    中本蒜 1154 天前

    回复@比特币一出天下反:赌王有1300多个B啊,拿出一半在BD,太有气魄了。

    +1
    +1
    我要点评
    投资小郭
    投资小郭 1154 天前

    目前来看,比特币缺乏货币必须的信用基础。目前比特币的基本信用来源是全球的供电。电能是二次能源,也是人类产物,非自然产物。

    +1
    +1
    我要点评
    李珣-JiaFeiX
    李珣-JiaFeiX 1154 天前

    //@真聊比特币:转发微博

    +1
    +1
    我要点评
    朗豫-fred
    朗豫-fred 1154 天前

    比特币离线支付是一条拓宽使用面的途径。但我认为btc既然诞生于互联网,就应该重心放于互联网支付。相对于传统法币,btc的线下支付并没有多大的优势,较难被普通用户接受。

    +1
    +1
    我要点评
    Author Image
    爱比特 1155 天前

    离线钱包,是一个思考方向,但也不能太执着。因为,网络的多样化也是个趋势。

    +1
    +1
    我要点评
    比特集
    比特集 1154 天前

    有勇气,有魄力,

    +1
    +1
    我要点评
    牵起呢个女孩玫
    牵起呢个女孩玫 1154 天前

    #国庆#我来支持,快让我爆发吧,我会认真写获奖心得的,拍漂亮的照片来秀[礼物] 地址:http://t.cn/zRZvj3A

    +1
    +1
    我要点评
    Dersonlwd
    Dersonlwd 1154 天前

    [笑哈哈]//@比特币一出天下反: 回复@medscape:我全部资产都是BTC,大概100万 //@medscape:有本事把你家人民币统统换成比特币再来秀智商。

    +1
    +1
    我要点评
    等待戈多555天
    等待戈多555天 1154 天前

    90%还是太多了。。。

    +1
    +1
    我要点评
    戒贪侠爆股伤
    戒贪侠爆股伤 1154 天前

    普通工薪,80%比特币资产

    +1
    +1
    我要点评
    Bitcoin酱
    Bitcoin酱 1155 天前

    学生一个,本来没啥资产。现在100%比特币资产。

    +1
    +1
    我要点评

    回复@medscape:我全部资产都是BTC,大概100万

    +1
    +1
    我要点评
    白手创业哥
    白手创业哥 1155 天前

    世界最大的差别即是

    +1
    +1
    我要点评
    晨风思以自娱
    晨风思以自娱 1155 天前

    回复@长铗:我50%,看来成色不足了。

    +1
    +1
    我要点评
    真聊比特币
    真聊比特币 1155 天前

    回复@长铗:哇。。。。资产比例确实是衡量bitcoiner成色的一个重要标准。可以搞个投票统计下。[思考]

    +1
    +1
    我要点评
    长铗
    长铗 1155 天前

    俺的90%资产都是比特币。

    +1
    +1
    我要点评
    medscape
    medscape 1155 天前

    有本事把你家人民币统统换成比特币再来秀智商。

    +1
    +1
    我要点评
    长铗
    长铗 1155 天前

    人与人的见识确实存在巨大的鸿沟,看丝路事件的评论,有种无力吐槽的感觉。幸好,还可以欣赏那些对汇率漠不关心、亲自描绘比特币前程的人的文章《比特币离线支付方案》http://t.cn/zR2EAGV 与聪明的头脑同行真是一件惬意的事

    +1
    +1
    我要点评