Asch

Asch主链类比iOS生态系统,每个节点都是一部iphone,所有的dapp组成了appstore,每个节点可以自由选择安装哪些dapp

  • 提供智能合约模版,通过命令行工具,选择模版,发行自己的币
  • 一个DApp 就是一条侧链,侧链由主链可选择的安装
  • 主链上的资产可以充值到任意 DApp 中,也可从DApp提现到主链
  • DApp 的内置资产无法跨链转账,只能在链内使用
  • DApp 拥有自己的数据库,与主链隔离
  • 主链和侧链使用同一种加密算法,账户可以通用

侧链的灵活性

但是侧链架构依然有存在的必要性,因为并非所有的应用都需要那么高的安全性。Asch给用户提供了一种可以选择的灵活性。 比方说,假设Asch有1000个节点,那么其中有的dapp比较重要,需要500个节点来运行它,有的dapp不那么重要,可能只需要100个节点,这完全是由用户和开发者决定的。 在以太坊上,则只能选择一种,即全部节点都来运行它。据说以太坊也打算实现一种分片的机制,实际上这在Asch系统中是一个早就解决了的问题。 另外,对于比较重要的、安全性要求较高的应用,我们依然可以选择在主链上开发(就是像以太坊那样dapp运行在所有的Asch主链的节点上),但是不可能对所有开发者开放这种权力,还是为了避免主链的膨胀和不可控(DAO事件)。

侧链的灵活性还表现在,所有的区块链参数是可以定制的,简单的比如区块间隔、区块奖励、交易费的去向等,高级用户还可以修改共识算法(默认是DPOS共识算法)。 不过最重要的还是业务逻辑,侧链上可以轻易的开发出与你的业务相关的交易类型或者智能合约。 这一点是与侧链的发明者blockstreams不同,blockstreams的侧链,只是一个不同的货币系统而已,开发新型交易和智能合约很不容易。

如下图所示 黑色的圆圈代表一个节点,64个节点组成了主链的网络。红色方框之内的是1号侧链,其侧链网络是由12个节点组成。蓝色方框之内的是2号侧链,其网络是由36个节点组成。

Asch_第1张图片
sidechain-deploy.png

安全问题:

我们希望每一个asch节点都能安装一个侧链,而且asch节点的主人无需信任侧链的开发者。这就需要提供一种安全防范的措施,比如,防止侧链代码肆意读取文件系统、进行网络操作。 在asch系统中,侧链代码会以子进程的方式启动,子进程首先加载一个使用沙箱机制隔离的javascript虚拟机,这个js虚拟机就是没有require以及任何多余模块的裸体虚拟机。 然后我们为这个虚拟机植入一个定制的require和一些常用且安全的模块, 最后再加载侧链的代码。 我们还通过进程间通讯的方式提供一系列的api。 这样,侧链的框架就拥有了足够多的api,同时侧链的安装者也没有任何风险。

下图中,在asch主链上发布了 CCTime.XCT 币,可以将部分货币转入CCTime DApp流通

Asch_第2张图片
simple_sidechain_with_balance.png
Asch_第3张图片
simple_sidechain_with_balance_after.png

dev_tutorials

你可能感兴趣的:(Asch)