当前位置:首页 > 技术分析 > 正文内容

比特币支付协议解读

ruisui884周前 (05-21)技术分析15

你拿比特币做什么?为什么这么问,当然是花掉!或者更准确地说用来支付或使用服务。支付使用比特币的具体流程被称为比特币支付协议,它在被称为BIP70的一个文档中得以体现。BIP是比特币的改进建议,也是供比特币“核心开发人员”改良比特币而使用的机制。目前有各种各样的BIP。可以亲自去
https://github.com/bitcoin/bips/核实检验一番。

现在我们把话题说回到BIP70的付款协议。有关它的描述写在
https://github.com/bitcoin/bips/blob/master/bip – 0070. mediawiki, 这也是本文技术内容的基础。

付款协议的摘要:

BIP描述的是一个商人和他们的客户之间的通信协议,它旨在实现更好的客户体验和更高的安全性保障,并防止中间人对付款过程的入侵。

请注意:中间人(有时缩写为MITM)攻击是当客户连接到一个商人,但客户不是真正在和商人谈判,而是跟一个坐在客户和商家之间(中间)的人谈判。这个“人”就可以看到所有客户和供应商之间的交流信息,也能够通过模仿供应商得到用户名、密码、信用卡信息和所有的个人物品,。因为模仿地非常逼真,客户可能还是不会明白。MITM攻击很危险,但用技术(如BIP70付款协议)去阻止他们是很重要的。

让我们打破付款协议的概念。首先,“付款”是价值从一人转移到另一个人的过程。第二,“协议”是一个必须以特定顺序执行的特定过程或序列消息。作为流程的一部分,某些“条件”可能需要验证成功才能完成。有时一个条件不满足,进程会异常终止或回复一个错误消息,但是协议本身应该能够处理所有这些情况,使它成为“健全”协议。

付款协议是一个在客户和供应商之间的序列消息,它有特定的顺序,也需要指定的回复或消息不可或缺的认证。让我们来看看一组特定的消息,我将称之为“在走廊通过的协议”(PITHP)。如果你在大楼里工作,碰巧撞见同事,可能会发生这样的情形:

and we’re done, exciting ayee?

Sandy说:嘿Sharon,最近如何?

Sharon说:嗨Sandy,,很好很好,你呢?

Sandy说:还是老样子,老样子。

这个简单的“在走廊通过的协议”是一个序列的消息,它以预期的顺序从一个人传递给另一个。当然事情可能不会像预期的那样,在这种情况下,可能需要附加条件处理消息:

Sandy说:嘿Judy,最近如何?

Judy说:嗨Sandy,那个现状报告你拿给我了吗?

Sandy说:嗯,我昨天发给你了,让我看看,该死的邮件出问题了。

Judy说:我今天下班前需要它。

Sandy说:没问题,我再发你一份。

实现协议的代码必须处理所有可能发生的各种异常和状况,必须是所有的!

这个插图很能说明BIP70的问题:

注意:客户要将消息发送给商家,而不管其他两个实体会怎样运作。首先是比特币钱包应用程序本身和比特币网络。你从上到下看过插图,它表示消息的特定序列。当然图片不能详细地列举代码可能要处理的所有选项。例如,如果商人服务器不响应一个“支付请求”消息,那么客户必须做一些操作,诸如重复“现在支付吗?”或“中止整个交易”。

让我们用平实的语言大致浏览一遍图表:

客户点击“支付”按钮,发送一条消息到商人服务器。商人服务器请求从钱包应用程序付款(这个钱包属于客户)。钱包应用询问客户:“你确定你想授权这个付款吗?”客户点击“OK”,发送消息给钱包应用程序。钱包付款给商人,并且可能同时启动比特币网络交易。比特币网络处理交易,从而使商人接受到比特币。商人服务器承认这个付款,发送消息到钱包,最后钱包(可选择地)将一条消息发送回客户。

非常彻底,但完全可以理解。解释付款协议的细节是来自Mike Hearn的,可登陆
:https://bitcointalk.org/index.php?topic=300809.0进行查看,那里有很多更详细的付款协议的细节。我只建议记住所讲述的BIP70摘要的关键步骤:那就是让客户有一个更好、更安全的体验。随着越来越多的钱包和商人提供更完整的付款协议支持,我们都将受益。

原文:
http://bitcoinmagazine.com/12774/bitcoin-payment-protocol-explained/

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4176.html

标签: blob协议
分享给朋友:

“比特币支付协议解读” 的相关文章

亚马逊推出 Amazon Linux 2023 发行版,专为 AWS 云进行优化

稿源:IT之家3 月 19 日消息,本周早些时候,亚马逊宣布推出其第三代 Linux 发行版 Amazon Linux 2023(AL2023)。亚马逊表示,该版本将带来高安全性标准、可预测的生命周期和确定性更新。Amazon Linux 2023 针对 Amazon EC2 进行了优化,与最新的...

2024最新版:前端性能优化方案汇总

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~Hello,大家好,我是 Sunday。前端性能优化一直是很多同学非常关注的问题,在日常的面试中也是经常会被问到的点。所以今天咱们就花一点时间来了解一下2024最新的...

深度解析!AI智能体在To B领域应用,汽车售后服务落地全攻略

在汽车售后服务领域,AI智能体的应用正带来一场效率和专业度的革命。本文深度解析了一个AI智能体在To B领域的实际应用案例,介绍了AI智能体如何通过提升服务顾问和维修技师的专业度及维修效率,优化汽车售后服务流程。上周我分享了AI智能体+AI小程序To C的AI应用场景《1000%增长!我仅用一个小时...

数组、去重、排序、合并、过滤、删除

ES6数字去重 Array.from(new Set([1,2,3,3,4,4])) //[1,2,3,4] [...new Set([1,2,3,3,4,4])] //[1,2,3,4]2、ES6数字排序 [1,2,3,4].sort(); // [1, 2,3,4],默认是升序...

22《Vue 入门教程》VueRouter 路由嵌套

1. 前言本小节我们介绍如何嵌套使用 VueRouter。嵌套路由在日常的开发中非常常见,如何定义和使用嵌套路由是本节的重点。同学们在学完本节课程之后需要自己多尝试配置路由。2. 配置嵌套路由实际项目中的应用界面,通常由多层嵌套的组件组合而成。同样地,URL 中各段动态路径也按某种结构对应嵌套的各层...

微信外H5跳转小程序——组件(vue项目)

场景有个H5(vue项目),需要实现点击商品item跳转到小程序,微信内和微信外都要支持,这里我们只介绍一下H5在微信外的跳转。如图所示,红框内是一个商品,就是点击这里,要跳转小程序:配置微信小程序云开发(云函数)1、开通云开发然后选择免费额度2、云开发权限设置找到权限设置,把这里的「未登录用户访问...