Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
share
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pengjun
share
Commits
d877563a
Commit
d877563a
authored
Apr 15, 2019
by
pengjun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
a0fcd286
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
7 deletions
+15
-7
topology1.jpg
resource/topology1.jpg
+0
-0
topology2.jpg
resource/topology2.jpg
+0
-0
联盟链扩展.md
联盟链扩展.md
+15
-7
No files found.
resource/topology1.jpg
0 → 100644
View file @
d877563a
45.6 KB
resource/topology2.jpg
0 → 100644
View file @
d877563a
39.7 KB
联盟链扩展.md
View file @
d877563a
# 联盟链
扩展分析
# 联盟链
扩展分析
...
...
@@ -16,16 +16,15 @@ Chain33逧ケウ陦碁得譫カ譫夊ソ黄螻穂セァ體セ螟炊謖ョ壼粋郤ヲ逧コ、譏捺擂謠仙合

> 新增和删除链对历史交易不做改动,新增链需要将路由信息同步到其他链,删除链或者链出故障如何处理?
### 3.2 网络拓扑

*
方案一 路由节点
路由节点仅负责路由转发功能,路由性能高,但中心化程度高,一旦路由节点宕机,则对应的链就孤立了。另外客户端只能连接到路由节点
*
方案二 路由+共识节点
由单个或多个共识节点开启路由功能,路由性能相比于路由节点可能要低,但是相对去中心化,路由信息可通过智能合约更新

*
方案二 路由+共识节点
在共识节点上集成路由模块,由单个或多个共识节点开启路由功能,路由性能相比于路由节点可能要低,但是相对去中心化,路由信息可通过智能合约更新

### 3.3 跨链
*
智能合约单独部署在一条链上时,当其他链收到该合约的交易需要打包到目的链执行
...
...
@@ -35,6 +34,7 @@ Chain33逧ケウ陦碁得譫カ譫夊ソ黄螻穂セァ體セ螟炊謖ョ壼粋郤ヲ逧コ、譏捺擂謠仙合

跨链需要配合路由模块或路由节点,获取目的链信息
### 3.4 路由信息更新
*
方案一,直接更新路由节点
...
...
@@ -42,6 +42,7 @@ Chain33逧ケウ陦碁得譫カ譫夊ソ黄螻穂セァ體セ螟炊謖ョ壼粋郤ヲ逧コ、譏捺擂謠仙合

> 新增和删除链对历史交易不做改动,新增链需要将路由信息同步到其他链,删除链或者链出故障如何处理?
### 3.5 合约部署
类似2.4路由信息,部署新合约想其他链广播合约信息,其他链执行合约更新本地路由表
...
...
@@ -51,10 +52,17 @@ Chain33逧ケウ陦碁得譫カ譫夊ソ黄螻穂セァ體セ螟炊謖ョ壼粋郤ヲ逧コ、譏捺擂謠仙合
### 4.1 模块

*
路由模块:包括交易分发和合约路由。当交易到达时,路由模块会根据交易中from address,将其路由到对应的链;另一方面,如果交易对应的合约不在本链,需要跨链将交易或所在区块同步到目的链时,也需要路由模块的信息。
*
路由模块/路由节点
*
多链和合约路由信息维护
*
路由信息更新(路由更新交易的合约执行)
*
路由节点还需要交易分发
*
根据from_address路由到具体链
*
根据合约名路由到具体部署链
*
跨链模块:包括链间通信和跨链确认。该模块将需要跨链的查询请求和区块或者交易同步到对应链。
### 4.2 流程
> 针对方案二的交易路由和合约跨链的流程,方案一只需将mempool换成路由节点

*
mempool通过交易from地址识别时候本链交易,如果是放入本链交易队列,反之放入跨链交易队列,可实现一个mempool的plugin插件,用来将跨链消息单独成队列,跨链模块定时获取。
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment