1.一种基于区块链的征信数据共享与交易系统,其特征在于:所述征信数据共享与交易系统包括至少两个P2P的网络节点,所述网络节点中包括底层区块链系统以及运行在所述底层区块链系统上的征信数据共享平台,所述征信数据共享平台包括:
数据共享模块,供数据提供者共享征信元数据;
数据评价模块,用于对数据提供者提供的征信元数据进行评价;
数据查询交易模块,供数据需求者查询征信元数据,并用于与数据提供者进行交易;
区块链适配层,用于将征信数据共享平台适配到底层区块链系统;
所述数据提供者调用数据共享模块上传征信元数据并进行数据记录;所述数据需求者调用数据查询交易模块查询征信元数据,并和数据提供者进行交易,生成的征信交易数据;所述区块链适配层将征信元数据或征信交易数据进行广播,在得到大于50%的网络节点验证后,新生成的征信元数据或征信交易数据将存入到底层区块链系统中。
2.根据权利要求1所述的征信数据共享与交易系统,其特征在于:所述区块链适配层包括共识算法适配模块、数据适配模块以及智能合约适配模块。
3.根据权利要求2所述的征信数据共享与交易系统,其特征在于:所述共识算法适配模块采用抽象共识算法抽象出一套共识算法的公共接口,并根据底层算法匹配适配器;所述适配器至少包括工作证明算法适配器、权益证明算法适配器。
4.根据权利要求2所述的征信数据共享与交易系统,其特征在于:所述数据适配模块定义区块链数据的抽象模型,并根据区块链数据格式进行适配。
5.根据权利要求2所述的征信数据共享与交易系统,其特征在于:所述智能合约适配模块定义智能合约的抽象模型,并根据智能合约的实现方式进行适配。
6.根据权利要求2所述的征信数据共享与交易系统,其特征在于:所述数据提供者共享征信元数据的步骤如下:
a)数据提供者按照定义的格式组装征信元数据,并调用数据共享模块的上传接口上传征信元数据;
b)所述数据共享模块调用共识算法适配模块进行数据记录,并且所述共识算法适配模块根据选定的共识算法,定期得到新生成的区块;
c)所述共识算法适配模块将征信元数据进行广播,在得到大于50%的网络节点验证后,将新生成的征信元数据存入到新生成的区块中,新生成的区块调用数据适配模块写入到区块链中;
d)共识算法适配模块将最终的区块信息返回到数据共享模块,并且所述数据共享模块将最终的区块信息返回给数据提供者。
7.根据权利要求2所述的征信数据共享与交易系统,其特征在于:所述数据需求者进行数据查询交易的步骤如下:
a)数据需求者根据需求数据的主标识生成散列值,并根据主标识的散列值和需求数据的类型调用数据查询交易模块上的查询接口;
b)所述数据查询交易模块调用数据适配模块,并且所述数据适配模块根据主标识的散列值和需求数据的类型查询保存在本地区块链上的征信元数据;
c)所述数据适配模块将征信元数据返回给数据查询交易模块,所述数据查询交易模块将征信元数据返回给数据需求者;
d)所述数据需求者根据返回的征信元数据中的数据提供者ID得到数据提供者的公钥,并根据数据提供者的公钥验证征信元数据中数据提供者的签名;
e)在公钥验证后,数据需求者从征信元数据中提取数据提供者完整数据访问接口的列表信息;
f)数据需求者根据数据提供者完整数据访问接口发送访问请求,访问请求的数据根据数据提供者的公钥进行加密,其中,所述访问请求中至少包含主标识、数据类型、数据需求者ID及数据需求者签名。
g)在收到访问请求后,所述数据提供者用私钥进行解密,提取查询请求中的数据需求者ID,并在获取数据需求者的公钥后根据数据需求者的公钥验证查询数据中数据需求者的签名;
h)所述数据提供者验证通过之后,根据完整征信数据、交易价格以及数据提供者签名调用智能合约适配模块生成交易的智能合约;
i)在对交易价格确认后,所述数据需求者使用私钥对所述智能合约签名确认,并且所述智能合约将生成的交易数据广播到每一个网络节点,在得到大于50%的网络节点验证后,调用所述数据适配模块写入到区块链中,并将完整数据发送给数据需求者。
8.根据权利要求1所述的征信数据共享与交易系统,其特征在于:所述征信数据共享平台还包括密钥管理分发模块,所述密钥管理分发模块用于管理用户ID与公钥之间的对应关系,所述密钥管理分发模块还用于生成密钥对。
9.根据权利要求2所述的征信数据共享与交易系统,其特征在于:所述数据评价模块对数据提供者提供的征信元数据进行评价的步骤如下:
a)数据评价者选择定义的评价算法对通过交易得到的征信完整数据进行评价,并生成征信评价数据,之后调用数据评价模块的上传接口上传征信评价数据;
b)所述数据评价模块将所述征信评价数据广播到每一个网络节点,并且所述网络节点根据对评价数据进行检查;
c)当少于规定数量的网络节点提出异议时,所述数据评价模块调用所述数据适配模块将征信评价数据纪录到底层区块链系统中;
d)所述数据评价模块将结果返回给数据评价者。