OKCoin

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

老翅 发布在 竞争币 3 4718

stellar-price-750x500_meitu_1

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

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

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

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

 

不同之处

 

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

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

Batch-001

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

 

虽然新代码有很多值得说道的地方,但是杰德重点讲述了两个特性:批量操作(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完成,你可以通过出售代币的方式从寄存账户拿回你的款项。

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

 

展望未来

 

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

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

原文:https://www.stellar.org/blog/multisig-and-simple-contracts-stellar/
作者:Jed McCaleb
译者:老翅
责编:printemps
稿源(译):巴比特资讯

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:3

您需要登录后才可以回复 登录|注册
    CoinGecko币虎
    CoinGecko币虎 425 天前

    恒星基金会在过去数月一直为升级版分布式网络闷头写代码,现在终于可以准备投入使用了。升级后的恒星网络比原来更加安全,更具伸缩性,以及更加模块化。恒星共识协议(SCP)在网络不满足共识条件时更注重安全性(safety)而不是活性(liveness),因此新系统更不容易发生分叉。http://t.cn/RyRzKXi

    +1
    +1
    我要点评
    巴比特资讯
    巴比特资讯 425 天前

    恒星基金会在过去数月一直为升级版分布式网络闷头写代码,现在终于可以准备投入使用了。恒星 CTO 杰德·麦凯莱布发表文章,详细介绍了升级后的恒星网络的一些优势和特性,杰德重点讲述了两个特性:批量操作(batching operations)和多重签名账户( multisignature accounts)http://t.cn/RyRzKXi

    +1
    +1
    我要点评