基于区块链的产业供应链金融平台设计与实现
作者:
摘 要:随着P2P平台被全面封杀,供应链金融平台主要转向产业供应链的上下游企业,该平台以服装产业链为试点,以术的一个吸引人的特征是智能合约。智能合约是在区块链之上运行的可执行代码,可在不受信任的第三方参与的情况下执行不受信任的各方之间的协议。
当前系统中各方之间的交易通常以中心化的形式进行,这需要受信任的第三方(如银行的参与)。但是,这可能导致安全问题(如:单点故障)和高昂的交易费用。区块链技术的出现通过允许不受信任的实体以分布式方式彼此交互不需要受信任的第三方参与,解决了这些问题。区块链是一个记录了网络中曾发生的所有交易的分布式数据库。区块链最初是针对比特币(点对点数字支付系统)引入的,但后来演变为用于开发各种去中心化应用程序。可以部署在区块链之上的有吸引力的应用程序就是智能合约[3]。
智能合约是在区块链上运行的,用于执行不受信任方之间的协议条款的可执行代码,可以将其视为一种系统,一旦满足预定义的规则,即可将数字资产释放给所有或部分参与方。与传统合约相比,智能合约不依赖可信赖的第三方进行操作,交易费用低。区块链组成如图3所示。
风控算法 该文主要分享基于模块度的louvain和基于信息熵infomap这2类算法。
基于模块度的louvain
Louvain算法是一种基于图数据的社区发现算法。原始论文为《Fast unfolding of communities in large networks》。
算法的优化目标为最大化整个数据的模块度,模块度的计算如下:
式中:m为图中边的总数量。
Aij代表节点i,j间连接的权重。
即与节点i相连的所有边的权重之和。
CiCj表示节点i, j的commnity index。
函数δ(Ci×Cj)表示节点i,j是否在同一个community中(相同时取1,否则取0)。
有一点要搞清楚,模块度的概念不是Louvain算法发明的,而Louvain算法只是一种优化关系图模块度目标的一种实现而已。
Louvain算法的两步迭代设计:
最开始,将每个原始节点都看成一个独立的社区,社区内的连边权重为0。
算法扫描数据中的所有节点,针对每个节点遍历该节点的所有邻居节点,衡量把该节点加入其邻居节点所在的社区所带来的模块度的收益。并选择对应最大收益的邻居节点,加入其所在的社区。这一过程化重复进行指导每一个节点的社区归属都不在发生变化。
对步骤1中形成的社区进行折叠,把每个社区折叠成一个单点,分别计算这些新生成的“社区点”之间的连边权重,以及社区内的所有点之间的连边权重之和。用于下一轮的步骤1。
该算法的最大优势就是速度很快,步骤1的每次迭代的时间复杂度为O(N),N为输入数据中的边的数量。步骤2 的时间复杂度为O(M + N), M为本轮迭代中点的个数。
基于信息熵infomap
Infomap 设计之初想解决的问题如下:如果在一张图上做随机游走(不限步数的游走),如何用最短的编码来描述随机游走产生的路径?例
基于区块链的产业供应链金融平台设计与实现 来自淘豆网m.daumloan.com转载请标明出处.