Commit fd098fa5 authored by Hugo's avatar Hugo

finish oracle doc

parent 3e7bd2a1
# TrustSQL简介
> TrustSQL是腾讯的可信区块链的底层平台,该区块链旨在为行业伙伴提供企业级区块链基础设施,行业解决方案,以及安全、可靠、灵活的区块链云服务。而TrustSQL 通过 SQL和 API 的接口为上层应用场景提供区块链基础服务的功能。核心定位于打造领先的企业级区块链基础平台。
[腾讯可信区块链架构](./resources/腾讯可信区块链架构.png)
> TrustSQL包括四部分:用户管理,基础服务,智能合约,运营监控。
> 用户管理:负责所有区块链参与者的身份信息管理,包括维护公私钥生成、密钥存储管理以及用户真实身份和区块链地址对应关系维护等,并且在授权的情况下,监管和审计某些真实身份的交易情况。对数字资产等金融交易类的应用,还提供了风险控制的规则配置,以保证系统交易安全。
>用户管理主要解决用户身份到区块链地址的映射关系、用户隐私的保密性以及监管审计的
可追踪性。提供传统密钥系统集成、全托管和部分托管三类模式。
1. 传统密钥系统集成:适用于原有私钥系统安全级别较高的用户,如:金融机构、银行原有
的 U 盾、电子签名等,将原有用户的私钥系统跟区块链地址关联起来即可。
2. 部分托管:适用于接入区块链服务的部分主体有较高安全级别的密钥系统或者多种区块链技术互通的场景。保证参与的多方区块链地址关联关系和一致性。
3. 全托管:适合全新接入的场景以及原有互联网习惯程度较高的场景。将原有的以用户名、密码的体系,通过安全的密钥生成和管理系统对应起来,使用户信息跟区块链地址隔离开来,保护用户隐私安全。
全托管模式的用户管理系统由账户管理、密钥管理、权限管理和风控审计四个部分组成,如下图
[用户管理](./resources/用户管理.png)
1. 账户管理:**账户注册时,将原来用户习惯的用户名、密码等身份信息映射到腾讯区块链地址。**
对交易保密程度较高的场景,用户可以选择地址不相关性处理,同一个用户的每次交易都映射到区块链上不同的地址上,从而保证了在交易账本上无法获取一个用户的多笔交易的关联性,使得同一个用户的不同交易在区块记录存储中不具有关联性。
2. 密钥管理:负责用户密钥跟账户的关联、密钥安全管理和丢失找回。用户密钥在客户端生成,**用户可以选择将密钥保存在密钥保险箱或者委托给关联账户的方式以便密钥丢失后找回。为了保证用户账户跟密钥关联关系可靠性,密钥管理系统将关联关系的签名采用多节点链式存储。所有委托账户操作会独立记录在区块链上,并且对委托账户的操作有严格的频度限制和独立的风控策略,可以严格控制委托账户的操作风险。**
3. 权限管理:负责用户账户、密钥系统、节点加入和退出、数据访问等权限的控制和管理。**审计权限可以对共享账本上交易不相关性的用户可以做到用户关联。**
账户委托权限用来控制用户账户委托关系的访问控制。共识权限对参与或者新加入节点进行共识权限管理。访问权限用来管理客户端对区块链上的数据查询权限。
4. 风控审计:对区块链中数字资产类的交易行为进行风险控制。审计模块为审计机构提供审计能力。
>基础服务:基础服务部署在所有区块链的节点上,用来验证业务请求的有效性,并对有效
请求完成共识后记录到存储上。对一个新的业务请求,基础服务先对接口适配解析,鉴权处理,然后通过共识算法将交易或者合约加上签名和加密之后,完整一致的存储到共享账本上。共识机制可自适应,在网络和节点都正常情况下具有高并发性,网络异常或者节点欺骗的情况下具有强容错性。
>基础服务由接口适配、共识管理、网络通信和记录存储四个部分组成,如下图
[基础服务](./resources/基础服务.png)
1. 接口适配模块作为共识管理模块的客户端,也会参与共识管理。**接口适配模块主要负责各个共识节点返回结果的汇总和一致性判断。**
2. 共识支持**自适应**和用户指定配置两种模式。
3. 网络通信模块负责各节点间以及业务侧的消息数据传输。采用可以多路复用、连接共享的动态自组织的网络。
4. 记录存储可以支持多种的介质的存储,存储介质可以是数据库、文件系统,也可以是云存储介质,如云 DB,云 KV 等。本地存储实现冷热分离,数据库存储使用分库分表的模式,云存储支持按照云的集群规则扩展。**自校验->篡改告警和自动修正。**还提供了多节点间准实时的数据对比机制,可以及时发现某个节点账本数据被篡改的情况。
> 智能合约: 负责合约的注册发行以及合约的触发和执行。用户通过某种编程语言定义合约逻辑,发布到区块链上之后,根据合约条款的逻辑,由用户签名或者其他的事件触发执行,完成交易结算等合约的逻辑。
智能合约包括标准合约以及业务定制的合约两种类型。标准合约包括资产一致性检查、**自动成交撮合、**
多方共同确认的转账、**到期自动清算**等逻辑相对简单的合约,内置合约。用户定制的智能合约包括通过合约模板修改配置和添加其他业务逻辑的形式,也可以支持更加复杂的用户自编程的合约,在独立的环境里运行。
智能包括合约的注册、触发、执行以及注销四个部分,如下图
[智能合约](./resources/智能合约.png)
1. 未来计划支持多种语言来编写智能合约。
2. **合约触发支持定时触发、事件触发、交易触发和其他合约触发的方式。定时触发是指满足合约中预设的时间之后,节点就触发时间共识之后,自动触发合约调用的过程。**
3. 对合约构造镜像环境、代码执行、执行代码中状态修改的共识以及共识的异常处理。
4. 合约注销,是对已经执行过、过期作废或者业务需求变更不再需要的合约进行转存,清理,清理的过程需要多节点共识之后才能完成。
> 运营监控:负责产品发布过程中的部署、配置修改、合约设置以及产品运行中的实时状态
可视化的输出,如:告警、交易量、网络情况、节点健康状态等。
运营监控主要包括配置,监控、告警、发布和业务分析等功能。
1. 配置:负责处理网络节点的相关配置,如共识算法的选择、自适应阈值、存储账本的存储方式、网络路由方式等,**配置的本身可以作为区块链中的一个交易的形式下发,通过共识算法达成一致之后再生效。**
2. 监控:负责收集系统中运行的状态数据,并且可视化的呈现出来。
3. 告警:对系统中比较严重的情况如**欺诈节点、账本篡改、**机器故障等情况通过短信、电话、微信、邮件等方式通知到相关人员,以便及时处理。
4. 发布:对系统初次部署、运行中程序升级以及运行过程中节点扩展等场景下的操作可以通过发布模块来支持。发布模块保证接口、共识算法等重要模块的可执行程序的一致性。
5. **业务分析:包括各个节点间数据一致性检测以及交易数据多维度的统计和分析,可以给特定授权用户提供业务统计分析以及业务发展趋势的图表。**
6. 云适配:云适配提供目前云主流运营商的接口适配,可以让腾讯区块链更加方便的部署在云上,方便维护和扩展。
>TrustSQL对外的接口包括两层,基础平台的SQL接口和应用平台的CGI接口。其中应用平台的CGI接口是在基础平台SQL接口的基础上按照不同场景,具体化了应用业务可能会用到的各个字段,抽象出的一套HTTPS标准协议接口。应用平台接口包括数字资产、共享信息两种应用场景。
---
数字资产服务的基本流程(以资产发行为例):
1. 用户在baas平台进行注册,baas的网址为 https://baas.qq.com/web/baas/app.shtml#/login ,注册成功之后获取到机构id。
2. 在baas界面上传机构公钥,公钥用于验签,与之对应的私钥用于通讯方加密,私钥建议自己保存,baas也提供私钥托管服务。
3. 新建联盟链,涉及到与腾讯云关联、购买机器、录入节点信息、启动联盟链,成功之后获取到链id。
4. 数字资产发行申请,调用http://{node_ip:node_port}/asset_issue_apply,其中node_ip,为节点的外网ip(如果业务的服务是内网则为内网ip),node_port为固定的15910,以post的方式发送参数,其中1、3两步获取的机构id和链id为必填。
5. 数字资产发行提交,调用http://{node_ip:node_port}/asset_issue_submit,其中node_ip,为节点的外网ip(如果业务的服务是内网则为内网ip),node_port为固定的15910,以post的方式发送参数,其中1、3两步获取的机构id和链id为必填。
>提示:数字资产发行申请和数字资产发行提交要在同一个节点上完成
共享信息服务的基本流程(以共享信息新增为例):
1. 用户在baas平台进行注册,baas的网址为 https://baas.qq.com/web/baas/app.shtml#/login ,注册成功之后获取到机构id。
2. 在baas界面上传机构公钥,公钥用于验签,与之对应的私钥用于通讯方加密,私钥建议自己保存,baas也提供私钥托管服务。
3. 新建联盟链,涉及到与腾讯云关联、购买机器、录入节点信息、启动联盟链,成功之后获取到链id。
4. 共享信息申请,调用http://{node_ip:node_port}/Iss_Append,其中node_ip,为节点的外网ip(如果业务的服务是内网则为内网ip),node_port为固定的15903,以post的方式发送参数,其中1、3两步获取的机构id和链id为必填。
5. 共享信息提交,调用http://{node_ip:node_port}/Iss_Append,其中node_ip,为节点的外网ip(如果业务的服务是内网则为内网ip),node_port为固定的15903,以post的方式发送参数,其中1、3两步获取的机构id和链id为必填。
>提示:共享信息的两步是一个接口,具体参考共享信息接口文档的sign字段说明,且两步要在同一个节点上完成。
---
拼接签名原字符串规则:
请求接口中除mch_sign之外的所有参数字段名的ASCII码从小到大排序,排序后使用QueryString的格式(即key1=value1&key2=value2…)拼接而成。签名时字段名和字段值都采用UTF-8编码,但不进行URL 编码。
sign = base64(ECDSA (sha256(原字符串)))。签名后的r/s使用DER编码再转成base64表示。
注意:数字资产转让接口有两大类,分为单笔转让与批量转让,调用时请按照调用顺序调用,不可混合调用。
调用顺序如下:
单笔转让:资产转让至中间账户申请(转让签收场景)->资产转让至中间账户提交(转让签收场景)->资产转让签收申请(转让签收场景)->资产转让签收提交(转让签收场景)
批量转让:资产批量转让至中间账户申请(转让签收场景)->资产批量转让至中间账户提交(转让签收场景)->资产批量转让签收申请(转让签收场景)->资产批量转让签收提交(转让签收场景)
# 一、接口描述
# 一、接口描述
......@@ -79,3 +79,461 @@ Response:
"error": null
}
```
## 1.2 交易签名 SignRawTx
**请求报文**
```json
{
"method": "Chain33.SignRawTx",
"params": [
{
"addr": "14KEKbYtKKQm4wMthSK9J4La4nAiidGozt",
"txHex": "0a066d616e61676512410a3f0a146f7261636c652d7075626c6973682d6576656e74122231344b454b6259744b4b516d34774d7468534b394a344c61346e41696964476f7a741a0361646420a08d0630f98bbebaaae3dfe8183a223151344e687572654a784b4e4266373164323642394a336642516f5163666d657a32",
"expire": "120s"
}
],
"id": 0
}
```
**参数说明**
|参数|类型|说明|
|addr|string|addr与privkey可以只输入其一,如果使用addr则依赖钱包中存储的私钥签名|
|privkey|string|addr与privkey可以只输入其一,如果使用privkey则直接签名|
|txHex|string|上一步生成的原始交易数据|
|expire|string|过期时间可输入如"300ms","-1.5h"或者"2h45m"的字符串,有效时间单位为"ns", "us" (or "µs"), "ms", "s", "m", "h"|
**响应报文**
```json
{
"id": 0,
"result": "0a066d616e61676512410a3f0a146f7261636c652d7075626c6973682d6576656e74122231344b454b6259744b4b516d34774d7468534b394a344c61346e41696964476f7a741a036164641a6d0801122102504fa1c28caaf1d5a20fefb87c50a49724ff401043420cb3ba271997eb5a43871a463044022027c7ba260166723b65e3b94e3ea8df3692740005a37060031cbc2064a30cebfe022058f5dda61e133005fc87b90fc1f46b0f18b9c172873d6b44a0d9bcf23986f62320a08d06288be0e2e00530f98bbebaaae3dfe8183a223151344e687572654a784b4e4266373164323642394a336642516f5163666d657a32",
"error": null
}
```
**参数说明**
|参数|类型|说明|
|result|string|交易签名后的十六进制字符串|
## 1.3 发送交易 SendTransaction
**请求报文**
```json
{
"method": "Chain33.SendTransaction",
"params": [
{
"data": "0a066d616e61676512410a3f0a146f7261636c652d7075626c6973682d6576656e74122231344b454b6259744b4b516d34774d7468534b394a344c61346e41696964476f7a741a036164641a6d0801122102504fa1c28caaf1d5a20fefb87c50a49724ff401043420cb3ba271997eb5a43871a463044022027c7ba260166723b65e3b94e3ea8df3692740005a37060031cbc2064a30cebfe022058f5dda61e133005fc87b90fc1f46b0f18b9c172873d6b44a0d9bcf23986f62320a08d06288be0e2e00530f98bbebaaae3dfe8183a223151344e687572654a784b4e4266373164323642394a336642516f5163666d657a32"
}
],
"id": 0
}
```
**参数说明**
|参数|类型|说明|
|data|string|为上一步签名后的交易数据|
**响应报文**
```json
{
"id": 0,
"result": "0x06fc2a38f886027e115c5e278d2d598bba26a0d3066dc881bdac6069753c906a",
"error": null
}
```
**参数说明**
|参数|类型|说明|
|result|string|交易发送后,生成的交易哈希(后面可以使用此哈希查询交易状态和历史|
## 2 取消发布事件
### 2.1 生成取消发布事件的交易(未签名)
**请求报文**
```json
{
"method": "Chain33.CreateTransaction",
"params": [
{
"execer": "oracle",
"actionName": "EventAbort",
"payload": {
"eventID": "0x2edd12dee5724526d06517ce52704470b24b89dc918497d62c152dcfe8ddd5fd"
}
}
],
"id": 0
}
```
**参数说明**
|参数|类型|说明|
|eventID|string|发布事件的事件ID|
**响应报文**
```json
{
"id": 0,
"result": "0a066f7261636c65124838041244124230783265646431326465653537323435323664303635313763653532373034343730623234623839646339313834393764363263313532646366653864646435666420a08d0630f38a8189ec8694c7133a22314350794a7152427a4c4b537a504c44416845454d64666f53464450513965477448",
"error": null
}
```
**参数说明**
|参数|类型|说明|
|result|string|交易十六进制编码后的字符串|
## 3 预发布事件结果
### 3.1 生成预发布事件结果交易(未签名)
**请求报文**
```json
{
"method": "Chain33.CreateTransaction",
"params": [
{
"execer": "oracle",
"actionName": "ResultPrePublish",
"payload": {
"eventID": "0xfa3e8d786df3085e71bcff1615847d2f353c45545724c785a9729db1c6106b13",
"source": "............",
"result": "0:0"
}
}
],
"id": 0
}
```
**参数说明**
|参数|类型|说明|
|eventID|string|发布事件的事件ID|
|source|string|发布结果的源,比如XX体育|
|result|string|发布的事件结果,比如比赛比分|
**响应报文**
```json
{
"id": 0,
"result": "0a066f7261636c65125b38021a5712423078666133653864373836646633303835653731626366663136313538343764326633353363343535343537323463373835613937323964623163363130366231331a0ce696b0e6b5aae4bd93e882b22203303a3020a08d0630c5a8c388cc82fc954f3a22314350794a7152427a4c4b537a504c44416845454d64666f53464450513965477448",
"error": null
}
```
**参数说明**
|参数|类型|说明|
|result|string|交易十六进制编码后的字符串|
## 4 取消预发布的结果
### 4.1 生成取消预发布结果的交易(未签名)
**请求报文**
```json
{
"method": "Chain33.CreateTransaction",
"params": [
{
"execer": "oracle",
"actionName": "ResultAbort",
"payload": {
"eventID": "0x1c3dc77998a4efa1b3b3bd527b83714da8c6b668d26002f06de6144277cb6ddd"
}
}
],
"id": 0
}
```
**参数说明**
|参数|类型|说明|
|eventID|string|发布事件的事件ID|
**响应报文**
```json
{
"id": 0,
"result": "0a066f7261636c65124838052a44124230783163336463373739393861346566613162336233626435323762383337313464613863366236363864323630303266303664653631343432373763623664646420a08d0630f8ae9da2a9c198b3113a22314350794a7152427a4c4b537a504c44416845454d64666f53464450513965477448",
"error": null
}
```
**参数说明**
|参数|类型|说明|
|result|string|交易十六进制编码后的字符串|
## 5 正式发布事件结果
### 5.1 生成正式发布事件结果交易(未签名)
**请求报文**
```json
{
"method": "Chain33.CreateTransaction",
"params": [
{
"execer": "oracle",
"actionName": "ResultPublish",
"payload": {
"eventID": "0xd0181ccc942c72d1a2d1bd10c520751fc743693c8131e59119063b324fa96796",
"source": "............",
"result": "1:1"
}
}
],
"id": 0
}
```
**参数说明**
|参数|类型|说明|
|eventID|string|发布事件的事件ID|
|source|string|发布结果的源,比如XX体育|
|result|string|发布的事件结果,比如比赛比分|
**响应报文**
```json
{
"id": 0,
"result": "0a066f7261636c65125b3803225712423078643031383163636339343263373264316132643162643130633532303735316663373433363933633831333165353931313930363362333234666139363739361a0ce6909ce78b90e4bd93e882b22203313a3120a08d0630989ee891e7f987a0353a22314350794a7152427a4c4b537a504c44416845454d64666f53464450513965477448",
"error": null
}
```
**参数说明**
|参数|类型|说明|
|result|string|交易十六进制编码后的字符串|
## 6 查询接口
### 6.1 根据发布事件的事件ID查询当前状态
**请求报文**
```json
{
"method": "Chain33.Query",
"params": [
{
"execer": "oracle",
"funcName": "QueryOraclesByIDs",
"payload": {
"eventID": [
"0xd0181ccc942c72d1a2d1bd10c520751fc743693c8131e59119063b324fa96796"
]
}
}
],
"id": 0
}
```
**参数说明**
|参数|类型|说明|
|eventID|json|需要查询信息的事件ID数组|
**响应报文**
```json
{
"id": 0,
"result": {
"status": [
{
"eventID": "0xd0181ccc942c72d1a2d1bd10c520751fc743693c8131e59119063b324fa96796",
"addr": "14KEKbYtKKQm4wMthSK9J4La4nAiidGozt",
"type": "football",
"subType": "Premier League",
"time": "1548084600",
"content": "test007",
"introduction": "test007-intr",
"status": {
"opAddr": "14KEKbYtKKQm4wMthSK9J4La4nAiidGozt",
"status": 5
},
"source": "............",
"result": "1:1",
"preStatus": {
"opAddr": "14KEKbYtKKQm4wMthSK9J4La4nAiidGozt",
"status": 3
}
}
]
},
"error": null
}
```
**参数说明**
|参数|类型|说明|
|status.eventID|string|事件ID|
|status.addr|string|事件的地址|
|status.type|string|事件的类型|
|status.subType|string|发布事件的子类型|
|status.time|int64|事件结果预计公布时间,UTC时间|
|status.content|string|事件内容,例如可以用json格式表示|
|status.introduction|string|事件介绍|
|status.status|json|当前状态,包括操作者地址,当前状态值;0:初始状态,1:事件已发布,2:事件已取消,3:事件结果已预发布,4:事件预发布的结果已取消,5:事件结果已发布|
|status.source|string|发布结果的源,比如XX体育|
|status.result|string|发布事件的结果,比如比赛比分|
|status.preStatus|json|前一个状态,包括操作者地址,当前状态值|
### 6.2 根据事件所处状态查询事件ID
**请求报文**
```json
{
"method": "Chain33.Query",
"params": [
{
"execer": "oracle",
"funcName": "QueryEventIDsByStatus",
"payload": {
"status": 4,
"addr": "",
"type": "",
"eventID": ""
}
}
],
"id": 0
}
```
**参数说明**
|参数|类型|是否必填|说明|
|status|int32|是|事件所处状态值|
|addr|string|不填|创建事件的地址|
|type|string|不填|事件的类型|
|eventID|string|视情况|事件ID,第一次查询为空,如果得到结果数量超过一页,将eventID设置为上次查询结果的最后一个id,从而查到下一页的数据|
**响应报文**
```json
{
"id": 0,
"result": {
"eventID": [
"0x45aca020ca26b2e0f92590c0662978194221a6b791a97e748f599221df3f2786",
"0x437d5ca35bbc78a8bdf72978c018270883a923fce38664be0de1e6dc569e277f"
]
},
"error": null
}
```
**参数说明**
|参数|类型|说明|
|eventID|json|符合条件的事件ID数组|
### 6.3 根据创建事件的用户地址和事件所处状态查询事件ID
**请求报文**
```json
{
"method": "Chain33.Query",
"params": [
{
"execer": "oracle",
"funcName": "QueryEventIDsByAddrAndStatus",
"payload": {
"status": 2,
"addr": "14KEKbYtKKQm4wMthSK9J4La4nAiidGozt",
"type": "",
"eventID": ""
}
}
],
"id": 0
}
```
**参数说明**
|参数|类型|是否必填|说明|
|status|int32|是|事件所处状态值|
|addr|string|是|创建事件的地址|
|type|string|不填|事件的类型|
|eventID|string|视情况|事件ID,第一次查询为空,如果得到结果数量超过一页,将eventID设置为上次查询结果的最后一个id,从而查到下一页的数据|
**响应报文**
```json
{
"id": 0,
"result": {
"eventID": [
"0xdd6b4ebfb7560e803cc4500490d2b7e6818296eed19d938446f2230eaa04a5e1",
"0x1aae4290800019f6ba97ac45acba334aa919faff1a37c4adffce5eb12c6d3a06",
"0x2edd12dee5724526d06517ce52704470b24b89dc918497d62c152dcfe8ddd5fd"
]
},
"error": null
}
```
**参数说明**
|参数|类型|说明|
|eventID|json|符合条件的事件ID数组|
### 6.4 根据创建事件的类型和事件所处状态查询事件ID
**请求报文**
```json
{
"method": "Chain33.Query",
"params": [
{
"execer": "oracle",
"funcName": "QueryEventIDsByTypeAndStatus",
"payload": {
"status": 1,
"addr": "",
"type": "football",
"eventID": ""
}
}
],
"id": 0
}
```
**参数说明**
|参数|类型|是否必填说明|
|status|int32|是|事件所处状态值|
|addr|string|不填|创建事件的地址|
|type|string|是|事件的类型|
|eventID|string|视情况|事件ID,第一次查询为空,如果得到结果数量超过一页,将eventID设置为上次查询结果的最后一个id,从而查到下一页的数据|
**响应报文**
```json
{
"id": 0,
"result": {
"eventID": [
"0xdd6b4ebfb7560e803cc4500490d2b7e6818296eed19d938446f2230eaa04a5e1",
"0x1aae4290800019f6ba97ac45acba334aa919faff1a37c4adffce5eb12c6d3a06",
"0x2edd12dee5724526d06517ce52704470b24b89dc918497d62c152dcfe8ddd5fd"
]
},
"error": null
}
```
**参数说明**
|参数|类型|说明|
|eventID|json|符合条件的事件ID数组|
# 中食链
# 中食链
中国食品链公链基于太一云超导网络和中国信息通信研究院可信区块链产品评测的技术,构建出ToB和ToC端的行业垂直应用技术平台。底层兼容公有链(Ethereum)和联盟链(Hyperledger),并构建在其上的跨链服务平台,推动不同平台间的互联互通与应用融合。同时向上提供构建各类场景应用的开发者界面、工具以及API接口。另外,中食链的跨链开发平台将根据不同开发者的能力和需求,尽可能帮助开发社区能够模块化构建自己的应用。
就To B而言,中食链建立新的供应链体系和实体资产确权与交易平台,为B端商户提供溯源云平台和端到端供应链体系,尽可能实现食品数据可信、信息对称、IOT+区块链(一一对应)、快速追溯等功能。就To C而言,中食链计划通过移动应用,为C端用户提供食品护照,主要包括移动应用APP及微信版小程序。该平台通过消费者扫描溯源码获取用户信息,以获取用户信息和平台流量,并通过积分管理,打通平台B端和C端,以平台投票建立中食链生态治理共识的机制,致力解决整个食品供应链中存在的信息孤岛、多系统交互困难、信息核对繁琐、数据交互不均衡等问题。
产地直供网络、防伪溯源网络、生态信用网络一起搭建起中国食品链公链的生态体系,而这一生态体系包括技术体系、标准体系和监督机制三个支柱,也就是中食链技术股份有限公司、中国食品链公链和中食链产业联盟形成互动,打造起区块链网络平台。
区块链溯源最重要的是产品源头数据的真实性,可以通过生产过程自动感知(通过物联网,而非人为干预)、操作者身份认证、签名等手段来保证源头信息真实性。如果源头存在的信息是真实的,那么记录在区块链上不可篡改的产品生产信息就是真实的。这样全过程的信息造假就可以防范了,生产信息不敢造假了,产品造假的可能性就会降低。
区块链溯源难点和突破口在于区块链技术的应用探索和建立统一而明确的标准,首先区块链技术本身还在不断的迭代过程中,区块链的商业应用模式还在进一步探索,建立统一标准的技术体系能够有效避免责任错位。目前,国内将区块链用于食品和药品溯源的企业既有行业巨头,如京东、苏宁、蚂蚁金服等,也有很多区块链初创企业,但大都处于商业模式建设探索阶段。
#流程
消费者扫码可以对商品防伪验真,同时获得积分奖励。领取积分后, 消费者个人信息和积分信息会一同被记录到中国食品链平台中的区块链中,提供积分奖励凭证。有助于提高消费者粘性。
平台提供可追溯信息的商品,以及其他类型的丰富商品供消费者在食品护照的积分商城中兑换。同时CFC积分作为一种数字资产,可以在食品护照用户之间转送,解决用户积分碎片化问题。
多中心化的社交,重要聊天信息上链,永久存证。用户和用户之间的聊天信息点对点传输,服务器难以控制,保障信息安全。私密的聊天群组,并对群设定加入规则,同时还可以建立小密圈。
虽然落地应用遍地开花,但仍有几个问题亟待解决:
上链数据的隐私如何有效保护?
数据日积月累,存储能力如何提升?
加入区块链系统需要改造原有业务,如何降低成本?
无论技术、法律、监管层面,如何让各参与方共同参与和推动?
产业链条上的智能硬件设备层次不齐,各个节点如何达成共识?
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment