比特币现金社区里现在有些重大疑问,其中一个就是如何志愿给公共事业提供资金。
不论什么方法,它能有我们需要的规模吗?
若它依赖一群分散的支持者,它能保持问责性吗?
一群志愿者正在打造Flipstarter,跨出一步,对以上的问题说 “行”!
目标一:无须信赖、无须第三方保管地,以Assurance Contract為第一个项目筹集资金。
我们已与慈善组织EatBCH合作,并将发表一小型的募款提案。此提案将包括:
他们如何保证可问责性
他们需要多少
然后您就可以自己决定要不要支持。此法与一般捐款的不同是您将使用一无须信赖、无须第三方保管的Assurance Contract (AC)。 什么是AC? 维基百科上介绍:
Assurance Contract是一种为解决公共建设、集体行动和搭便车问题而生的博奕论机制,也是一种金融科技。
一群人在有约束力的条件下,同意若总额达到了一定量,就集体为一项目捐献。如果约好的量在期限前达到了,项目就得到资助,公共建设得以完成;若不然,参与者无须捐献,可以取回置入的金额。
比特币现金链上有几种不同方式来实现这合约,以下详述。
目标二:英文及中文社区共同参与
我们认为有必要在互相沟通不畅的社区间增进交流,所以所有的项目至少会以英文及中文双语刊登。如果您有兴趣协助翻译其他语言,请联络我们。
技术细节:比特币现金上的Assurance Contract
有些圈内老手可能记得Lighthouse。Flipstarter的第一阶段与Lighthouse非常相似,但围绕著最主要的功能简化过。两者的核心都是比特币存在已久的一种特殊交易: “AnyoneCanPay”。
在一普通交易中,发送者签名包括:
所有输出
所有输入
在AnyoneCanPay交易中,发送者签名可只含交易的一部分:
所有输出
只含发送者自己的输入
换句话说,只要所有参与者对输出同意,任何人可在任何时候参加,所有动作都无须信赖。
用户体验
目前大多数的钱包只支持普通交易,并没有任何一个主要钱包内建AnyoneCanPay交易。Lighthouse自身有钱包可处理,但存在著诸多问题,并因后来的区块扩容之争而被忽略了。
我们打造了一个方便各位参与Assurance Contract的新方法。在考虑过诸多选项后,我们选择了在Electron Cash上建立插件,用法如下:
首先在Electron Cash上安装指定的插件。
在Flipstarter网站上阅读项目介绍,输入您想要的金额。
网站会提供一串文字,请复制粘贴到Electron Cash插件上。这串文字中包含参与项目所需的信息。
插件处理后提供另一串文字,可复制粘贴回网站。这串文字包含您已签名的部份交易。插件会将参与的金额冻结,以确保您不会花掉而意外退出。如您想退出,可自行解冻。
网站将计算收到的参与金额,直到满足目标,能建立完整交易為止。
然后,网站将Assurance Contract交易完成,付款给目标地址。
如果项目期限内无法收到目标金额,所有参与者皆可自行解冻。在目标达成之前,一毛钱也不会离开您的Electron Cash钱包。
这过程可能让人觉得略有不便,但更安全、无须第三方保管,用户全程不需要把币提出Electron Cash,是我们在有限的时间及资源下能做到最妥善的方案。
我们考虑了其他方案:
用户直接付款给一暂时网页上的二维码,此网页代用户建立AnyoneCanPay交易。
好处: 用户体验相对简单
坏处: 网页或网路出错,或用户犯错时可能失币
使用一系列互相连结的智能合约 (感谢@TobiasRuck设计)
好处: 用户体验相对简单
坏处: 智能合约的复杂度将使第一个项目延后出炉,用户必须等到前一个参与者付款后,下一人才可继续。
使用树状连结的智能合约(emergent_reasons#100🌵设计中)
好处: 用户体验相对简单
坏处: 智能合约的复杂度将使第一个项目延后出炉。
如您能想到其他无须信赖、无须第三方保管,用户体验更好的设计,请联络我们。
前景
在达成初步目标后,我们还有许多待处理的事。志愿者将继续开发此平台,营利机构也有机会能将其开发成功能更完备的平台。不论前路如何,我们都将释出可用的第一版,任何人都可分叉并创建自己的项目。
参与
我们很快将在EatBCH主要项目前进行一些私下测试,如果您想参与,请联络我们。
我们有能力将眼下的任务完成,但初版后您如有好计划并愿意持之以恒,能做的事非常多。
目前本平台源码在Gitlab上Flipstarter组裡。有些部份仍待清理,所以未公开。
谢谢!
特别感谢志愿帮忙的人们,以下各位出力尤其多:
@Dagur (Electron Cash 插件)
Jonathan#100☯ (前端、后端设计、nodejs实施)
@Leandro_DiMarco (标志、设计、图表)
@Sploit (golang后端实施)
read.cash 上收到的打赏将送到一Flipstarter多签捐助地址。此地址由emergent_reasons与im_uname共同保管。
联络
telegram @im_uname
keybase @im_uname