[关闭]
@sqfasd 2016-12-07T14:32:26.000000Z 字数 1390 阅读 433

asch2.0开发计划

未分类


1. 侧链sdk优化

目前侧链上的应用开发有很多的累赘工作,比如一些区块链的底层框架我们是以脚手架或者代码模板的方式提供给开发者的,这部分可以简化,比如把框架集成到主系统里面,让开发者只提供几个关键性的业务逻辑代码就好了。比如只提供一个配置文件,几个contracts文件。
另外contract的编写也比较麻烦,需要开发者去考虑数据回滚的操作,每个contract涉及到的数据的存储,还需要开发者去定义一个数据库的schema,在侧链模板的blockchain.json里可以看到示例。

2. 主链增加更多的基础设施功能

数字资产、身份认证、oracle、简单合约。
这些基础设施除了给它本身的受众之外,还可以通过api为dapp调用,增加dapp的可编程性。

2.1 数字资产

这个是为了将来能让比特币充值到侧链中做准备。数字资产的主要功能是允许普通用户像ripple、比特股那样,可以直接调用接口来注册、发行、转移一个虚拟资产。
实现思路就是对数据库增加一个资产table,一个账户拥有的资产table,增加若干个交易类,这个交易类可以参考其他交易类型,比如delegate,signature,vote等。

2.2 身份认证

简单来说,就是这个系统中存在一些账户,他们能够给另外一些账户签发一个电子证明,这个电子证明包括两部分,一个是信息的文字描述,一个是对这段文字的签名
比方说,银行可以用这种东西给一个用户授权,给他一定的信用等级,这个信息一旦在我们的区块链发布,其他所有机构都可以共享了。

2.3 oracle功能

oracle是为了引入外部数据,比如明天的气温、彩票开奖结果等等。有了外部数据源,开发者就可以使用这些数据源作为合约条件的判定。
这个数据一定要多家机构提供,取大多数赞成的数据。还需要有奖罚制度,以激励提供正确数据源的机构,并惩罚提供了错误数据源的机构。

2.4 是简单合约

这个东西弥补了asch dapp的不足,开发者只需要编写合约逻辑并发布到主链上,由主链的共识机制保障数据的不可篡改。(dapp的缺点可以参考github上的dapp介绍文档)。
功能就是为了实现有条件的资产转移,跟比特币的脚本差不多,可以是一个基于栈式的指令集,或者直接一步到位,设计一个dsl,这个dsl不需要像以太坊的那么复杂,也不需要图灵完备。
比如,一个账户可以存储一段代码,这段代码一旦条件被触发,就可以把币转移到不同的账户。

举个例子。

  1. var points = api.oracle.football_game("10000001")
  2. if (points[0] > points[1]) {
  3. send_money_to("address1", 1000, "BTC")
  4. } else {
  5. send_money_to("address2", 1000, "BTC");
  6. }

这段代码从oracle数据源里取编号为10000001足球比赛结果,这个编号代表了比赛的信息包括参赛队伍、时间、地点,总之可以唯一代表一场足球比赛,比如甲方是中国队,乙方是日本队, 这个脚本实行的结果就是根据两支队伍的输赢决定把币转到哪个账户。
当然,还可以增加更多的条件,或者使用for循环来转移到多个账户(这时候要考虑避免用户写出无限循环的程序,以太坊是通过增加gas来限制的,asch可能会借鉴R3的方案,在字节码中插入计步指令来计算总的执行步数)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注