PPIO是我和姚欣发起的去中心化存储项目(
https://pp.io),这是为开发者提供的存储和分发网络平台,使得比云存储更廉价,更高速,更隐私。
我在设计PPIO的时候,设计了一个商业角色——支付代理节点(也叫币池节点)。下面我来详细讲解关于支付代理节点的思考。
什么是支付代理节点?
PPIO提供一个类似于支付网关的节点,称为支付代理节点。支付代理节点是一个自负盈亏的盈利机构,用户或开发者可以和支付代理节点签约,购买该节点提供的各种PPIO服务套餐,这个套餐包含了价格,容量,和费用。后续在使用PPIO服务的时候,只要在套餐约定时间和容量范围,所有费用均由该节点来代理支付。
PPIO项目是由技术实现的区块链,这条链称为PPIO链。在PPIO网络上使用、分享存储服务和流量服务,使用的计量单位是PPIO币,PPIO币基于区块链技术保证,但不同于比特币等数字货币的一点是,它不具有投机属性,我称其为使用型数字币。它更类似于游戏中的金币,通过区块链保证信用,后面我会详细介绍。
用户购买PPIO链上的存储服务套餐后,会按照约定的价格将PPIO币(比如一年多少空间的费用)提交给支付代理节点;
租户的零散支付行为将由支付代理节点完成,而用户数据链上操作,如上传和下载,还是直接由用户节点完成;
为了保证支付代理节点的相对稳定性,申请成为支付代理节点必须抵押足够的PPIO币, 如果该节点不能按时履行自己的代理责任,则抵押的PPIO币将会被没收;
PPIO公链上能查询到所有支付代理节点的信息, 用户在选择支付代理节点的时候,可以看到该节点的相关信息, 包括抵押的PPIO币数量, 暂存的PPIO币数量, 和支付代理节点的签约用户数等等;
PPIO网络为支付代理节点提供了一套开发API,使得该节点能够代理用户支付PPIO币;
开发者可以基于支付代理节点的API自行开发支付网关,不仅支持用PPIO币来支付,也可以支持法币支付,这样大大降低了用户的使用门槛;
支付代理节点是自负盈亏的盈利机构,多个节点之间的相互竞争可以有效降低存储服务价格来吸引用户,同时维护整个PPIO网络经济的健康发展。
为什么要设计支付代理节点?
1)普通用户很难理解PPIO的原生支付方式
PPIO设计的原生支付方式,是完全精确到硬盘和流量的。所有的存储行为都做成了存储智能合约,所有的下载行为也都做成下载智能合约,任何合约产生的费用都是由合约来定价,根据具体实际发生的存储时空和使用流量来确定费用,这个精确的微粒就是Gas。而每存储、下载一个文件,都会进行智能合约的约定, 在约定智能合约的时候,会预测使用量(包括存储时空和带宽),也会约定GasPrice,Cost=Gas*GasPrice 这样就能确定总的费用。这个机制和以太坊比较类似。但以PPIO的商业服务,采用这样的机制将非常不人性化。
商业服务产品一般会设计阶梯定价,甚至还有一定的免费量和试用期,以诱导用户来试用,这样才会产生购买行为。例如Google Drive给用户这样的付费方式。
- 15G以下空间免费; - 100G空间3个月费用 5.99 美元,12个月费用 19.99 美元;
- 1TG空间3个月费用 29.99 美元,12个月费用 99.99 美元;
对商家来说,很少的付费用户就足以支撑所有用户产生的成本,这个商业模式是成立的。
在PPIO中,用户也使用同样的支付方式,为此我设计了支付代理节点。用户在一次性付费支付代理节点后,就可以在指定的空间大小范围内,获得无限使用的权利。用户可以和支付代理节点签约,购买支付代理节点提供的各种存储服务套餐,后续使用服务的时候,所需的PPIO币均由支付代理节点来代理支付。
2)普通用户普遍希望稳定的定价
众所周知,不论是普通用户还是开发者,他们在购买服务时,都希望有稳定的竞价,谁都不希望今天购买的商品,明天价格就下跌。我在设计PPIO的时候,为了稳定物价,虽然设计了预言机机制来给出指导价格,但PPIO上最终的合约成交价格是由PPIO本身的市场交易撮合来决定的。虽然物价能够相对稳定些,但是很难做到绝对的稳定。
而有了支付代理节点之后,用户每次使用的时候,不用每次都要去查询价格,不用花时间等待价格低的时候才付款。他只需要在该节点一次性购买使用套餐,后续每次使用的时候都有支付代理节点在链上代支付。这样对他来说,就不在有价格的波动,而价格波动的风险由支付代理节点来承担。
3) 短期内,不是所有的用户都理解使用型数字币,我们要给用户支付法币的可能。
在之前一段时间,数字货币是炙手可热的话题。大部分用户对数字货币的理解停留在,低买高卖,投机套利上。市场好的时候,大肆宣扬一币一别墅,而随着这段时间的数字货币泡沫破灭,币价的持续下跌,大量的投资人亏损,大量的区块链从业者离场。甚至引发了许多社会问题,合法性问题,金融监管问题,中小投资者利益保护问题。
我在设计PPIO的时候,对PPIO的定位是共享存储,为了刺激共享,必须有激励,区块链主要用于保证激励的公正和透明。PPIO的激励并不是传统意义上的投机性数字货币,甚至从根本上来说就不是货币,所以我称为使用型数字币 (utility coins),但它也是基于区块链技术来保证的。因为用户使用PPIO的存储分发服务时,需要消耗PPIO币,而分享存储和网络资源可以赚取PPIO币。
我认为短期内主流人群是很难区分使用型数字币和投机型数字货币,为了解决这个问题,所以我引入了支付代理节点。用户一次性在支付代理节点购买使用套餐,之后在PPIO上使用存储和下载服务时,都由支付代理节点代其支付。这样做,该节点在接收用户付款的时候,就不仅仅可以接收PPIO币,还能接收其他币种,包括法定货币(如人民币)。
这样用户和开发者在使用PPIO存储服务的时候,可以完全不接触PPIO币,使用体验如同使用普通的互联网服务一样。只要PPIO能做到比其他云服务更便宜,更快,更隐私;我相信PPIO的使用者会越来越多。
4) 开发者存在替用户付费的可能
作为用户,我们在网上使用了大量的免费服务,例如在网上看视频,听音乐等,我们并没有付钱。但是用户看视频,听音乐也用到了存储和带宽,用户没有付钱,那是谁付了钱呢?答案是商家(开发者)替用户付了钱,因为可以通过其他方式挣到更多的钱(如广告)。这是非常成熟的模式,我设计支付代理节点,就是加入一个代付款的商业机构。开发者(商家)在开发App的时候,告诉支付代理节点,后面用户使用的下载费用都由开发者来支付,只要开发者和支付代理节点之间结算就可以了。开发者使用支付代理节点就像使用AWS一样,采用充值模式,如果费用用完了,开发者再充值就行了。支付代理节点也可以向开发者提供一些特别的套餐和优惠,从而吸引开发者在上面做开发。
支付代理节点是盈利的吗?
我在设计时,对支付代理节点的定位是个自负盈亏的商业机构。既然是自负盈亏,就不保证盈利。PPIO的架构设计支持无限多个支付代理节点。用户和开发者,可以选择适合自己的支付代理节点。这样设计的目的是让支付代理节点之间能够相互竞争,维持价格的合理性。支付代理节点有自主定价权,如果定价很高,用户和开发可能会选择其他支付代理节点。而定价低可能就会亏损。另外支付代理节点还要应对币价波动的风险。
这样设计的好处在于用市场经济的手段,来让支付代理节点之间良性竞争,从而让用户和开发者拿到最合理的价格,同时也让支付代理节点服务商保持合理的利润。
怎么实施支付代理节点?
支付代理节点,最简单地理解,其实就是代付款。本来应该用户直接付款的,但是用户和支付代理节点签订了包年或者包月合约。那么在该合约的有效期内,只要该用户或开发者在符合条件下,都由支付代理节点代替用户付款。
首先,PPIO将会开放支付代理节点API,基于支付代理节点API就能做二次开发。这个API主要包含了支付代理节点使用PPIO的接口,基于这个API和自己的功能就能实现支付代理节点的完整功能。我后面也会给出部署支付代理节点机器的参考建议,支付代理节点对机器的性能还是有些要求的。
另外,要部署支付代理节点,需要抵押大量的PPIO币。支付代理节点是先从用户那里收款,然后再为用户代付款,因此我们对支付代理节点的信用要求非常高。首先是作恶问题,如果支付代理节点作恶,从用户和开发者那里收了钱但不做代支付操作,就必须对支付代理节点进行惩罚。不仅仅用支付代理节点的抵押金来做代支付,还会进行额外处罚。然后是稳定性问题,支付代理节点也是计算机程序,所以可能有BUG,也可能有故障,服务就有挂的可能。一旦支付代理节点挂了,短期内会导致大量的用户无法使用服务,所以只要支付代理节点的服务出现异常,就必须进行惩罚措施。
支付代理节点不能无限制地签约用户,支付代理节点能签多少用量,受限于支付代理节点抵押多少PPIO币。支付代理节点的抵押物越多,服务的用户用量就越多。支付代理节点和用户签约的时候,其用量和用时都会做成智能合约上链。如果支付代理节点的抵押物有限,而签约的用户数,用量数,用时数过多了,PPIO将会阻止这个智能合约的签订,直到支付代理节点充入更多地抵押物。
我能马上建设自己的支付代理节点吗?
现在还不能,因为PPIO项目还处于最早期的阶段,早期只允许合作伙伴部署支付代理节点。这样做主要有几个原因。
1)PPIO的通证经济模型需要探索。支付代理节点是非常重要的节点,所以它自身的抵押数量和签约量之间的关系还是需要探索的。我们不能保证前期的经济模型合理。如果经济模型不合理,可能会导致用户的利益收到侵犯。所以我在确定经济模型合理之前,不会开放支付代理节点的部署。
2)支付代理节点是个对信誉要求极高的节点。因为支付代理节点服务的用户比较多,一旦支付代理节点出问题,影响会非常大。例如支付代理节点收了用户钱之后,不给用户做代付款。所以早期的支付代理节点,除了要上链外,还需要链下的纸质合同,一定对支付代理节点的资格进行严格审查。
3) 支付代理节点的安全性要求极高。因为支付代理节点服务的人数多,涉及的PPIO币金额大,所以支付代理节点很容易被黑客盯上。为了防止支付代理节点被攻破,黑客盗取资金,我们不仅仅要做好程序,保证没有安全漏洞外,还要对早期支付代理节点部署合作方进行严格的网络安全资格审查。为了对用户的资金负责,我们早期不开放支付代理节点的部署。
1)开始只向紧密合作伙伴开放。确保合作伙伴的可信和可靠。
3)当前面三个问题彻底解决之后,最后才向所有人开放部署。
总结
PPIO是为开发者提供存储和分发的网络平台,使得比云存储更廉价,更高速,更隐私。
我在PPIO上设计了支付代理节点的机制,支付代理节点给用户和开发者提供了简单定价的套餐,用户和开发者购买后,后续实际使用PPIO服务的时候,付款就由支付代理节点来代为付款了。
我设计支付代理节点的目的是为了适应互联网时代消费者的使用习惯,让PPIO项目能够真正落地。我希望开发者能在PPIO网络上做出各种各样,真正有用的APP出来。
如果有关于PPIO的交流,可以通过下面的方式联系我:
- Coherence代理节点在离开集群时的恢复
Coherence的架构参考 在极端压力之下,有时候代理节点会忙于处理请求而不响应其他的心跳,同步,导致其他节点传输的报文没有回应,而被认为是离开集群,从而影响业务. 写了一段代码,能让进程在监听到有 ...
- 微信JSApi支付~微信支付代理模式的实现(原创)
返回目录 起因(大叔原创) 对于微信支付来说,你的发起者需要配置对应的域名来获取code(获取用户信息接口),而这意味着,你的多个项目(域名不同)不能同时使用一个公众号,这是一件很操蛋的事,对于我们开 ...
- nginx反向代理、让代理节点记录客户端真实IP
环境:根据http://www.cnblogs.com/zzzhfo/p/6032095.html环境配置 在web01或web02上查看用户访问日志 先客户端访问 [root@web_backup ...
- 递归与树的写法-多种支付的设计-支付的接通-celery订单的回退实现
递归与树的写法 data: data=[ {"cat_id":1,"name":"北京","parent_id":0}, ...
- 爬虫入门到放弃系列05:从程序模块设计到代理IP池
前言 上篇文章吧啦吧啦讲了一些有的没的,现在还是回到主题写点技术相关的.本篇文章作为基础爬虫知识的最后一篇,将以爬虫程序的模块设计来完结. 在我漫(liang)长(nian)的爬虫开发生涯中,我通常将 ...
- java设计优化--代理模式
代理模式使用代理对象完成用户的请求,屏蔽用户对真实对象的访问. 代理模式的用途很多,比如因为安全原因,需要屏蔽客户端直接访问真实对象:或者在远程调用中,需要使用代理对象处理远程方法中的技术细节:或者为 ...
- 计算机设计思想 —— 代理(proxy)
0. 理解 两个说着不同母语国家的人想要交流通话,各人说着各自的母语显然是无法沟通的,此时需要一个翻译,一个媒介(medium).中介,或者一个代理(proxy),比如通用的国际语言英语,比如全世界人 ...
- php 23种设计模型 - 代理模式
代理模式(Proxy) 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能.这种类型的设计模式属于结构型模式. 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口. 介 ...
- PPIO去中心化存储的了解和记录
目录 介绍 FileCoin P2P技术给去中心化云存储的好处 剩余资源的再次使用 市场竞争会激发民间的智慧 PPIO的2种冗余模式 全副本模式 纠删副本模式 为什么PPIO要设计支付代理节点? 一些 ...
随机推荐
- 监测NGINX服务的shell脚本
Nginx 虽然处理并发量比 apache 确实要强点,但它这种 php-cgi 模式不是太稳定,这点网上也有朋友总结了,我在实现项目中也感受到了. 偶尔会出现以下情况的:php-cgi 进程突然消失 ...
- Js/如何修改easyui修饰的input的val值
1.关于js对input值的修改介绍:一般js改变input的val值,我一直使用的方法是: $('#id').val('test');这样的方式来进行修改.但是我使 用了class="ea ...
- c++中的两种getline用法
参考 https://blog.csdn.net/Big_laoshu/article/details/79345351
- 关于atom无限意外退出的一个原因
atom很好用,也有开发直接使用这个工具进行编码,我经常使用,最近突然会报意外退出的错误. 再重启应用依然会报这个错,然后重启电脑后可以正常使用. 非常疑惑. 原来,是因为Shadowsocks开启的 ...
- Python学习之路基础篇--06Python基础+dict的学习
字典和列表其实差不多,所说3.6 之前的版本字典是没有顺序的.是Python中唯一的映射数据类型,key 是可哈希(不可变数据类型),如元组.bool.int 和 str:value 是任意数据类型. ...
- 博客作业06--结构体&指针
1.本章学习总结 1.1思维导图 1.2.本章学习体会 结构体突破了数组的局限,把不同类型有内在联系的数据汇聚成一个整体,这种新的构造数据类型,提供了更便利的手段,更好的实现代码功能.通过代码建立文件 ...
- webpack 学习之旅
首先理解wepack的打包原理:一般单页面应用,你的页面都会引入一个类似bundle.js的文件,在react项目中,你会发现index.html中并没有引入css,那么css哪里去了?答案是它被打包 ...
- vue 数字随机滚动(数字递增)
html: <span v-for="i in numArr">{{i}}</span> data: numArr: [], methods: perN ...
- c#上课总结
private 是完全私有的,只有当前类中的成员能访问到. protected 是受保护的,只有当前类的成员与继承该类的类才能访问. Ctrl+k+c 多行注释Ctrl+k+u 解除注释 e ...
- 一个简单的定向python爬虫爬取指定页面的jpg图片
import requests as r import re resul=r.get("http://www.imooc.com/course/list") urlinfo=re. ...