Your location: Home > News > Details

恒星币的多重签名和简要合约

2015-10-10 16:54

恒星基金会在过去数月一直为升级版分布式网络闷头写代码,现在终于可以准备投入使用了。



恒星 CTO 杰德·麦凯莱布(Jed McCaleb)在官博上发表文章说道:


“对于恒星即将使用的全新代码,我不确定能否表达出我的激动之情,但是值得一试。这就像……在清晨雨露中,在遍布三叶草,有着刺猬出没的草地上自由奔跑。更重要的是,这意味着平台已经确实做好准备,开发者们可以创建世界的新金融服务了。”

杰德在博文中详细地介绍了升级后的恒星网络的一些优势和特性,并给出了一些的例子。




 

不同之处

 


升级后的恒星网络比原来更加安全,更具伸缩性,以及更加模块化。恒星共识协议(SCP)在网络不满足共识条件时更注重安全性(safety)而不是活性(liveness),因此新系统更不容易发生分叉。


恒星的核心程序现在更加易读和优雅。代码量不及原版本的一半,运行却更加快速,耗费更少的内存和磁盘空间(升级后的核心程序只处理共识,同时Horizon,即API服务,处理路径查找以及为恒星核心程序提供web界面)。它还以更简单明晰的形式在更安全的地方保存数据。例如,程序将持续进行备份动作,将数据以XDR格式(XDR是一个互联网标准格式)备份到离线存储上。实时总帐则存在于传统的SQL数据库中。

Batch-001.png



新特性:批量操作和多重签名

 


虽然新代码有很多值得说道的地方,但是杰德重点讲述了两个特性:批量操作(batching operations)和多重签名账户( multisignature accounts)。


在升级后的网络中,事务(Transactions)将以一组操作(operations)链的方式批量执行。事务满足原子性,即操作要么全部成功,要么全部失败。同一个事务中的操作甚至可以来自不同账户。例如,你可以创建一个事务,其中甲要支付乙,此时丙支付甲。在这种情形下,这个事务将同时需要甲和丙的签名。


并非只有事务可以拥有多重签名,账户也可以拥有多个签名人。多重签名为恒星账户的安全性和权限方面增添了灵活性。你可以为每个签名人分配不同的权重,每个操作分配不同的阈值。如此设计,你可以轻松设计一个m/n方案。例如你可以管理一个多重签名账户,事务可以由一人验证,或者其他三人一起验证。


这一设计提供了多种多样的可能性。例如,将批量操作和多重签名组合使用将使你能够构造所谓的简要合约。简要合约按照以下条件执行约束:1 必须同意总帐中的某一特定变更,和/或 2 变更必须一起发生。这样可以无需使用脚本即可实现约束。


阅读关于操作多重签名的资料,来获取它们如何一起工作的更多信息,或者查看下面的例子。

 


简要合约例子:联合众筹

 


约翰内斯堡需要一座新医院。市政府和一个非政府组织都愿意捐献100万美元,而总花费需要300万美元。它们都希望众筹剩余的100万美元,并确保筹来的每分钱都用于建造医院。同时它们向捐款者保证,如果2016年三月之前没能完成众筹,则将返还捐款。


市政府和非政府组织创建了一个寄存账户(holdingAccount),该账户用于筹集资金,如果2016年三月没达到目标,则返还所筹款项。寄存账户被设置成需要市政府和非政府组织一起验证才能发起事务。


市政府和非政府组织各向寄存账户发送了100万美元。随后它们一起创建了以下事务:

事务1 序列号: N+1 操作:


管理要约:(Manage Offer): 创建一个要约:出售寄存账户发行的100万份的参与代币(participation tokens),每份售价1美元。

签署者: 政府和非营利组织 事务被提交到网络,记录该出售动作的ID,留在事务3中使用。


事务2 序列号: N+2 时间区间: 2016年3月1日到某一天 操作:


支付(payment): 发送300万美元到承包商账户(contractorAccount)

签署者: 政府和非营利组织


事务3 序列号: N+3 操作:


管理要约: 取消事务1中创建的出售要约

支付: 发送100万美元到市政府

支付: 发送100万美元到非营利组织

管理要约: 创建要约,购买100万参与代币,每份出价一美元。

签署者: 政府和非营利组织


事务2和3是公开的,但是并没有提交到恒星网络。任何人都可以将其提交,但是直到2016年3月事务2和3才会生效。同时,根据序列号要求,事务2要先于事务3发生。


如果你要参与捐献建造医院,那么你要进行如下操作:

1. 信任寄存账号发行的参与代币

2. 购买参与代币,你会收到代币,而寄存账号会收到资金。

3. 如果3月1日筹集了100万美元,那么资金会被事务2发送到承包商账户,或者如果筹集目标未达到,事务2会失败,事务3会完成。

4. 如果事务3完成,你可以通过出售代币的方式从寄存账户拿回你的款项。

此设置的参数十分灵活,有很多种可能的变种,包括扩展设计,可以支付个体参与者或者分时支付承包商。

 


展望未来

 



多个主要利益相关者进行的无缝众筹(而且免费)只是恒星网络批量操作和多重签名的多种可能的一个例子。杰德希望抛砖引玉:订阅、履约保证、群体储蓄账户以及健康储蓄账户、农产品补贴、退单保证、甚至游戏(我曾有意拿这个举例可是时间不够)。

“我非常期待看到人们会创造些什么!”





文章来源:比特币

New fund password
Confirm new password
Email Verification Code

Please upgrade your browser version

You are using an old version of the browser. Please upgrade your browser for a better experience.

Notice of Legal Statements and Policy Limitations

Dear users, due to policy restrictions, mainland China IP addresses will be forbidden to access this website, registration and use are prohibited. If you are a mainland China user, please exit safely, if you continue to use the risks caused The responsibility and responsibility will be solely borne by you. At the same time, the platform has the right to refuse to provide services. Thank you for your understanding, please accept and agree!