基于NuBits充值提现的商城自收付系统设计
核心特点
采用区块链技术,POS机制运维网络。 基于币值稳定的加密币充值(外部价值注入)、提现-定期清转(块链重置)。 收款地址实时辅助验证,交易瞬时确认。 监管友好。
程序逻辑
充值:NBT => 管理员( NBT >> Pt ),任意数量。 提现:Pt => 管理员( Pt >> NBT ),年度清转归零。 消费:Pt => PtX,收款地址(专用),专人管理。 运维:SPt+PPC,股东运维(硬件需求:廉价树莓派,功耗<10瓦),用PPC发红利。 界面参考 Nu 客户端,NuShares版类似,NuBits版不同。 标价单位暂命名为“Pt”(Peer-Trade),1 NBT = 100 Pt。
要点说明
*全链交易定期清算提现或结转,旧的历史块链可脱离工作链,使得每年都是一个新的块链在运行。有效控制区块链的膨胀,降低运维硬件要求。
*引入收款地址“在线验证签名,实时广播互助”的机制,支付可以被即时确认是否合法。这使得区块的确认时间间隔不必受支付体验约束,可以被设定得更为合理。
*商品收款地址被设计为专用,专人管理(实时在线),除非出现商品购买纠纷可执行退款交易外,该地址不允许被用于其它支付行为。
*因为商品收款地址无法用于消费,这样负责充值提现的管理员的NuBits地址,其最终的充值/提现差额就是企业的销售/营业额。
*网络由股东运维,为了激励小股东参与运行节点增加分散性,可设计适当的激励机制(分散节点是为了提高网络的鲁棒性,对安全性的影响并不大)。
*NuBits目前锁定美元实现约1:1的固定汇率,所以企业的商品标价会很稳定(PS:锁定美元或许是为了简化,货币是市场本位,如果可能应当针对商品设计锚定)。 总结:用“充值”实现外部价值注入(不铸币),故不影响已有货币系统的价值;用“提现”实现链上交易结清,使得区块链可以被重置;专用商品收款和资金地址,使得职责清晰便于管理;收款验证辅助实现交易即时确认,提升消费体验。
适用性
这是用于企业商品销售的实时收付款系统,所有权属于企业,系统的运营也由企业自身负责。因为运维成本低廉,它适合于各种规模企业的商品直销、网上代销、大中小型超市、线下实体商城等。其强壮的安全性和P2P网络传输,使得它对于跨国跨地区的连锁经营模式具有天然的优势。
如果基于块链交易的财务应用发展成熟,小企业也可以方便的进行财务结算、业务分析,因为块链交易的公开性,政府部门对企业的税务审计,财务审查也会更高效,并且公平公正。
在线下的商城或超市里,印刷于商品包装上的二维码可以包含商品的价格,这样消费者在选中商品后就可以即时扫码支付,无需通过柜台收银员。这可以降低或去除部分的人才物资和管理成本。消费者购物离开一般需要查验,应该可以实现流程化,极致的情况下无人超市都是可能的。另外,二维码中也可以包含商品相关的其它信息,在移动网络无处不在的情况下,这会有很多很多的含义(如意见反馈、消费调查、营销运作…)。
对于网上的商品销售,这一技术应该也同样适用。
消费者可即时付款、实时反馈的这种自助购物方式,或可让商品的“信息、价格、销售和反馈”成为一体,让生产商与消费者形成某种互动,从而有力地促进商品的改进和升级。
监管友好
因为系统是属于具体的法人实体,在控制权上是中心化的,所以天然地它具有监管友好的特点。同时,因为区块链的开放性,它还是财务公开的,这也便于政府的税务部门开展相关工作。如果系统或市场向更深入和广泛发展,基于开放交易系统的消费者保护,也会有更多想象的空间。
随着技术的成熟,最终,区块链财务工具会是一些公开和通用的软件或系统,这不论是对政府部门还是企业自身,都是一件经济和有效率的事。
*货币的三项基本职能中,价值尺度(稳定的计量)一直是Bitcoin难以达到的,这使得BTC更像一种资产(虽然流通性非常好)。本系统基于目前能够稳定锁定美元汇率的NuBits而设计,从它的运作机制上看,它是可以根据市场需求来调整其“货币供应量”的。也就是说,NuBits在区块链技术的基础上实现了货币“价值尺度”的功能。
*NuBits技术上是去中心化的——由P2P节点运维,但它的货币发行是中心化的——由保管人执行。如果政府借鉴著名经济学家哈耶克先生的货币市场化理论,明确私人公司可以发行货币,让良币从市场的自由竞争中诞生,那像NuBits这样的系统就可以成为一个现实世界里的货币公司。这样,政府就便于进行良好的监管。
技术细节
交易定期清算或结转
*在正常的区块链交易系统中(比如Bitcoin),所有的区块需要一直存在以帮助验证后期的交易是否合法,这样的结果就是块链的无限增长。或许科技的发展会比块链的膨胀速度更快,但也不一定,庞大的区块链至少是一个负担。
*本系统虽然采用同样的区块链技术,但因为自身不铸币,交易的金额由外部充值引入,所以原则上可以价值清零。通过提现的方式,企业可以定期(如每年)将系统内剩余的资金退回,重新开启一个新的工作块链。或者,因为这是一个消费系统(资金购买商品花掉了),系统积存的实际金额并不多,也可以将资金结转到新的块链上。
*这样,企业的这个收付款系统就可以一直轻装运转,而旧的历史块链可以冷存档——或用作其它与当前工作链不相牵涉的用途,如大数据挖掘、消费研究、业务分析等。
收款签名与广播互助
*在目前的区块链交易中,只有发送方需要签名交易以证明自己是账户的拥有者。如果只是实现转账,这个证明已经足够。但现实的情况是,在没有一个区块确认该笔交易合法之前,发送者是可以发送多笔合法但总额超出的交易的,严格来说,接收者也不应该在至少一个区块确认之前认可。发送者和接收者一般需要等待至少一个确认完成,这个时间就是创建一个区块的平均间隔时间,比特币是10分钟,莱特币是2.5分钟,NuBits是1分钟。各币种都试图尽量缩短出块的时间间隔,从而提升交易的体验友好,但这其实引出了另外一些问题,比如孤块率高、数据广播密集、P2P传递不充分、块链加长等。
*现在我们增加一种机制,如果付款时接收方在线,接收方可以实时验证每一笔发送给自己的交易:发现交易、验证是否合法,等待约10秒,监察发送方是否有新交易并导致超发,如果正常则签名该笔交易转播出去,否则该笔交易不签发。另一方面,矿工对收款方已签名的交易优先采纳和计算。这样,我们就确保了超额交易不会被签名,而没有签名的超额交易在矿工验算时也不会被确认。于是就实现了交易“安全性与一个确认相当”的即时到账能力。
*这种机制其实是收款方的一种联合互助行为——实时验证,延迟签发。它需要矿工实施“收款方已签名交易优先采纳”的原则进行配合。延迟的10秒是交易数据的P2P广播时间,如果企业是内部高速网络,这个时间可以更短(个人觉得3秒可能是个最低值)。
*更进一步,如果我们设计商品收款地址的验证签名的优先级,比普通消费者接收转账签名(不是必须的)优先级更高呢?发动51%攻击需要攻击者私铸块链构造双花交易(适时放出替代主链)。如果商品收款地址的签名优先级更高,那攻击者私铸块里的双花交易其实是天然无效的,攻击者不可能得到商品收款地址对双花交易的签名——于是,51%的双花攻击在这里被消除了。这样,我们就实现了“即便只是一个交易确认也是安全的”(只适用于购买支付,不适用于消费者之间转账),而同时,因为广播互助的机制,“与一个确认安全性相当”的10秒即时确认也是安全的。
*PS:在PoW系统中,51%攻击还包括拒绝服务攻击(铸造区块但不打包交易),但在PoS系统中,因为是以消耗币龄的多少来判断主链(而不是高度),所以拒绝服务攻击基本不可行。
商品收款地址与消费者账户
*作为一个内部系统,消费者购买商品支付到的收款地址可以被专门对待——即实施一种约束:收款地址仅可发起退款支付,并且退款目标为对应商品付款的地址。这些收款地址由专人管理,24小时在线,实时验证收款并转播互助(跨国连锁网点)。
*将收款地址设计为专一的职能在技术上可以实现更好的安全性,在企业的经营上也有重要意义:它将收款人(收款地址管理者)和真实的资金掌握者(充值提现管理员)分开了。除此以外,专用的收款地址还可以便于企业查看各地的经营状况,比如销售额、消费纠纷(商品退款)、消费高峰时间分析、商品的地域性差别等,帮助企业改进决策。
*普通的消费者账户地址是普通的,它们之间也可以自由转账付款,系统提供完整的货币流通性(系统内)。这些地址没有特别之处,付款、转账、提现,或其它待开发。
充值提现管理员
*负责对外充值的账户直接接受充值进来的资金,同时生成相应的内部交易币Pt发送给充值者,它是企业资金的直接掌管者,所以该账户是特殊的。为了使股权和经营分开,它并不由股权的多少直接决定,但它应当有特别的权限,我们可称之为“资金管理员”。与商品收款地址类似,资金管理员的账户地址也是特别的,在系统内,它仅能用于“接收外部充值/内部生成新币/发送给充值者”和“接受内部提现交易/销毁收到的币/发送外部提现资金”的用途,这是一种系统内的设计约束。
*因为消费者购物消耗了内部交易币,所以资金管理员账户中的充值(NBT)和余额提现(Pt)会产生一个差额(以NBT的形式)。逻辑上这个差额就是销售额。
*提醒一下:资金管理员拥有外部NBT账户的私钥,所以这是一个重要的职位!当然资金管理员可以不止一个。如果必要,企业可以限制资金管理员仅拥有部分NBT转账能力(大金额多重签名,或者余额控制),这可以根据消费者有效消费的比率(减去提现率)来大致估算。
企业股东分红
*与NuBits类似,系统采用PPC为股东分红。用Peercoin这种外部资产来分红是必要的,虽然NBT也是外部资产,但在系统的设计思想里,NBT被当作一种在一定时期内价值稳定的货币单位,用它来充值主要是为了标价稳定。分红更倾向于长远的价值考虑,故我们选择侧重价值存储并设计良好的Peercoin。——这也是个人的选择。
*PS:个人的观点,长远看,货币其实并没有价值存储的功能。货币要执行交换媒介的职能,它充其量只需要具备“价值持续”的属性即可——在一定时期内价值稳定。远观黄金贝壳,近看各国的信用纸币皆可验证。如果货币发行市场化,这样的特征就会更明显:劣币在竞争中逐渐消逝,而良币也只是尽量保持自身价值的稳定,在竞争中力争不被淘汰。
区块生成时间间隔
*考虑矿工出块的孤块率、用户体验、可能的交易规模、以及链块数据的分担和P2P广播效果,综合权衡设计出块时间间隔为2分钟(直觉,无计算支持)。
*这是默认的设置,每个企业在启动各自系统之前应该可以预先修改该配置,只要内部统一即可。
攻击的利益驱动
*出于系统内设计上的约束,对商品收款地址的入侵(盗取私钥)没有什么直接的利益。如果实现了对资金管理员账户的多重签名或余额限制,对资金管理员账户的攻击也不会有太多的利益回报,并且资金管理员应该具有极强的安全意识和专业的账户保护能力才对。
*对于普通用户而言,因为本系统是一个“充值-购物-年终余额回提”的系统,所以一般来说用户不会在账户中存款太多,攻击的利益驱动其实也不大。
*在网络安全性方面,系统由股东运行维护,大股东攻击自身系统的动机也应该不大(当然不论攻击与否,股东有操作自身财产的权利)。
常见问题
1. 或许有人会问,如果NuBits(或Bitcoin甚至Peercoin)已经实现了货币本身的功能,商场或企业就可以直接使用这些便捷的货币,为什么还要这个类似“第三方支付”的系统呢?不是多了一道手续,更麻烦了吗?
答:是的,对消费者而言是更麻烦了一些,但并不多。这就像流行于市场上的商家的购物卡,每种卡都是专属的,只能在内部使用。它是商家留住顾客的一种策略,并且方便公司开展促销运作等。而本系统提供了完全属于商家自己的网络且成本低廉,除了购物支付、转账、财务结算、业务分析外,附带营销应用也应该不成问题,并且系统“监管友好”——理论上可以与政府部门实现监管对接。
2. 绑定NuBits充值是必须的吗?可否采用Bitcoin或Peercoin或者其它数字货币甚至法币充值呢?
答:从理论上来说,绑定NuBits不是必须的。程序应当设计为可以绑定其它加密货币充值和提现,这决定于采用本系统的企业的决策。但如果想要商品的标价保持稳定,就需要绑定一个币值稳定的外部货币。绑定法币会很困难,因为它们采用的技术大不相同。
3. 我想问个专业点的问题,你这个系统把NuBits充值进来自成一体的使用,那样NuBits的交易量不就被瓜分了么?这是否影响NuBits自身的利益?
答:NuBits作为一种试图提供稳定价值的货币(目前简单地锁定美元),它有它自己盈利的方式,不完全依赖交易费收入,并且消费者的充值和提现也是NBT交易。区块链技术从理论上说不太适合高频大量的微支付交易,如果NuBits发展壮大,庞大的区块链会是一种负担。本系统对NuBits类似一种侧链分流,只会让NuBits更健壮和更流行,两者是共赢的关系。
4. 我是想用用你这个系统,但你所说的那些财务工具貌似目前还木有啊?
答:是滴,不是貌似而是确实没有,因为它们目前只是一种逻辑上可推导的未来。是否出现取决于你我,准确地说取决于其他人的努力、市场的成长和这些功能的吸引力。^-^
5. 你把这个系统说得那么“前途光明”,难道它就没有什么缺点吗?。。呵呵
答:负责任地说,确实,它有一个很明显的缺点:用户进入商城购物,不论是线下还是线上都需要有一个“充值”的环节。虽然用户可以一次多冲些(像话费,但可以取回来),但这确实降低了用户的愉悦体验,没办法,支付宝也得充值啊。不过鉴于系统对商家的众多好处,或许商家会让你“充值有惊喜”呢?另外,便利性其实是可以不断被提升的。另一个问题,我无法预见未来如果真出现一种大一统的货币流行后,是否会让本系统变得多余……但谁知道呢?
Scan QR code with WeChat