2018年是区块链应用的元年,其中一个重要的应用是供应链管理。供应链管理最近在美国有大量的讨论,讨论内容是区块链是不是真实有用。在供应链管理中有两个重要的应用。一个是交通,另外一个是医药追踪。
为什么医药追踪如此重要?2012年美国出现假药事件,一假药居然在美国48州1000家医院出现,造成多人伤亡。在这以前,美国已经建立相当好的防假药的制度,一般假药非常难进入医院,但是这事居然还是发生了,而且是经过正常途径有牌照的单位进入医院。为了预防这类严重事件的发生,美国国会在2013年立法了Drug Quality and Security Act (医药品质以及安全法案),在这个法案里面第二段就是Drug Supply Chain Security Act (医药供应链安全法案)来保护消费者。其中(医药供应链安全法案)涵盖药品的全生命周期,包括从制造商,物流、批发商、药房、医院的全程供应链。
图1 2012年美国假药事件
一种解决方案是要求在一个医药供应链上的相关单位必须看到这种药品所有交易信息, 包括参与这供应链的单位和他们交易的信息。例如在一个医药供应链上,制造商可以看到物流公司、批发商、药房、医院的信息。例如那天又多大的量的药从一个单位到另外单位。即使这个单位不认识相关物流或者医院,该药品在哪里物流,哪里零售,哪里使用,都能够被追踪。
美国国会立法通过《医药品质和安全法案》
根据美国DSCSA法令,在10年之后,就是2023年,每一颗药品都要能够被追踪,这是非常严格的要求。从图2来看,从2015年开始到2023年是开发期。为了这法案,美国食品药品监督管理局(FDA)与供应链金融研究中心(Center for Supply Chain Studies)合作,推出了三个基于区块链的参考模型[1]来解决医药追踪问题。这三个参考模型主要是使用医药交易信息以及交易文件来追踪医药。
图2 DSCSA法令
医药供应链交易种类
在医药供应链上可以有许多种交易,但是最主要是这两种交易:
交易:是指从一个单位把药品转送给另外一个单位。例如从制造商到运输公司,虽然是运输工作,可是在供应链上这是一笔交易,这个交易就是由制造商给了运输公司。
退还:只限于可以使用的药品。例如一种药品,还在保质期内,也没有被使用过,那么这种药品就可以退回到制造商或者转给其它药房或是医院。
假药如何进入美国医院?
根据事件分析,这次假药品来自埃及(但是埃及可能不是假药的产生地),该药品经过埃及批发商,瑞士批发商,丹麦批发商,英国批发商,美国批发商手中,最后由美国批发商最终进入1000家医院。尽管其中大部分中间批发商都是当地合法法规有牌照的医药批发商,但是有黑心医生配合,最终这假药就进入美国医院。
图3 假药进入的流程
美国提出的解决方案
美国供应链研究中心为这事用下面的图来解释区块链可以解决假药的问题。在2023年后,美国医药供应链上的每个单位在交易的时候都必须记录和追踪每颗药,以保证可以查询整个链条上的信息。例如下图,医药(最后用户)可以查到一个药品的所有交易信息一直到制造商(开始单位)。
图4 新的医药供应链流程
在这样供应链流程上,假药很快就被识别。例如医院可以查到这药从某个批发商来的,这批发商可能提供假的制造商信息,但是在这样的供应链上医院同时间也有制造商的信息,查询对账一下假信息很快就被查出。
信息共享和隐私问题
在这个解决方案中,需要信息共享,但也要保护隐私。假如这个药品不是你制造或者不是你运输的,那么你就不能看到相关的信息。这是一个强烈的对比现象:
-
如果一单位跟某一种药品有关系,这单位可以看到这药的整个供应链的信息。
-
如果一单位跟这药没有关系,这单位就都不能知道任何信息,这是保护隐私。
为什么一旦有关系,必须看到全链条信息?因为万一后来出事,上述的参与单位必定会极力把问题归在其他单位上,因此每一个相关单位必须看到同样信息(全白)才能阻止这种事发生。但是没有关系的其他单位是不可以看到(全黑)。这是关键问题,也是传统计算机系统中没有遇到的问题:
[全白数据共享]针对一个物件,在其生命周期里,任何处理过这物件的单位可以看到完全的信息。例如,一种药品从制造商 (A)到物流公司(B),再从物流公司到批发商(C),最后从批发商到医药(D), A,B,C,D都可以看到完整信息,例如所有交易日期, 产品名称和编号,收件人和她的信息。因为A到B先发生,B到C后发生,但是A可以知道C的信息。如果A发现C那里出现问题,A可以立刻发出预警。例如一种药品放在批发商太久,药品快要过期,制造商可以通知批发商。当批发商送货到医药D,D会看到A送出来的预警。
[全黑信息隐私]针对同一种类但不同流程的药品,还是一种药品从制造商 (A)到物流公司(B),再从物流公司到批发商(E),最后从批发商到医院(F)。因为这是不同流程的药品,A和B可以看到这两段流程信息,但是E和F看不到第一段流程的信息,同样C和D看不到第二段流程的信息。虽然A和B可以看到两段流程的信息,但是不能将信息分享出去,因为故意泄露商业机密信息是违法的。
这种“全黑+全白”的数据处理模式和传统系统不同。在传统系统上,每个公司都有自己的数据库,用于存储交易双方的交易信息,交易双方都会存储一份交易合同或者交易信息。比如说一种药品的制造商把货交给一个批发商,药商和批发商存有信息,批发商又和药房交易,批发商和药房都有这条信息,但是药商可能就没有这条信息。也就是在这流程中,只有直接交易的双方有交易信息,而供应链上的交易信息是不会自动传给链上参与者。美国使用这种系统,结果是假药借助多个合法合规的国外批发商进入美国医院。
但是使用“全白+全黑”模型的追踪系统,假药一下就会被发现,药品的流向及参与者的信息都清楚地记录在案且不可篡改,参与者随时都能调取相关数据查看,就算经过了多个中间(国外)商之后,医院依然可以追查到药品是否真实。“全白+全黑”模型和传统模型的差距如下:
图4表示上表的关系。可以看出,制造商可以往前看,物流公司可以往前和往后看,医院可以往后看, 但是制造商、物流、医院都不能往旁边(其他制造商、其他物流、其他医院)看。
图5 制造商、批发商及医院可以看到的信息示意图
可以看出“全白+全黑”模型有下列特性:
-
使用区块链共识机制,保证参与方只能在共识后才将数据放进区块链数据库。这保证在每一条供应链上每一个参与者都有同样信息,这解决了2012年假药品事件的核心问题。因为这概念是新的,所以笔者以“供应链一致性”(SupplyChain Data Consistency SCDC)为名,和“业务一致性”(Transaction Consistency)不同。如果一条供应链只有两个参与者,这两个一致性定义就会有一样的结果,但是一旦一条链有两个以上个参与者,这两个定义就有不同结果。
-
在区块链中,数据不能更改,从而保证每个参与单位不能作弊。
-
除了参与者在一条链上可以看到的信息,其他信息都属于隐私。
数据一致性
数据一致性是传统计算机数据库的技术。在之前的文中提到了数据一致性与区块链的关系,在供应链中数据一致性也影响了供应链的强弱。
图6 数据库一致性
共识机制:“供应链一致性”的共识机制和传统区块链共识机制不一样。传统区块链共识需要1)大部分投票者同意块高度;2)大部分投票者同意这次交易信息。但是“供应链一致性”还需要 3)这次交易的信息和以前交易信息一致,特别是这次交易的编号和来源等信息必须和以前交易编号和来源一致。如果不一样,这次交易就失败。第3个信息就是“供应链一致性”加添的。例如制造商送出一批药,到了批发商,从批发商到药房的时候,发现这批药的信息,和制造商送给批发商不一致,这就表示这批药已经可能是假的, 不需要从药房到医院。
弱链:使用了数据库一致性协议,是节点之间是相互信任的协议,例如Paxos算法,Raft算法等。在这类协议中,不存在恶意节点,不会向其他节点发送虚假消息[2,12]。
真链:使用拜占庭将军协议作为共识机制,至少需要三轮投票。节点与节点之间独立,互不信任。该协议提供了(n-1)/3的容错性。
图7 拜占庭将军协议一致性
供应链弱一致性:在“全白+全黑”模型的追踪系统中,使用的是数据库一致性协议。也就是说供应链中使用的是弱链,不能保证节点没有说谎,一旦节点说谎,不正确的数据可能会存在区块链系统里面,以后会造成系统瘫痪。
图8 供应链弱一致性
供应链强一致性:在“全白+全黑”模型的追踪系统中,使用的是拜占庭将军协议一致性协议。严格按照协议中的三轮投票完成共识,有效防止链上节点说谎。通过拜占庭将军协议查验后,加密的数据被存在区块链系统里面不能更改。再医药供应链系统上面,还可以使用强化的协议,就是要100%节点同意, 而不是67%节点同意。
图9 供应链强一致性
所有参与者投票模型:每次交易的时候,所有参与这链条的参与者都参与投票, 因为投票是及时的,所有参与单位都同时收到同样信息。参与者不但要验证这次交易的正确性,还要验证这次交易和以前交易是否一致,这样才能维持“供应链一致性”。
这个验证可以使用智能合约完成。例如各参与单位系统由个单位负责提供,但是智能合约由监管单位提供, 这样这次投票有二层保障机制, 先由单位系统查验,后再有智能合约查验。
问题是这供应链有可能是动态的,就是药品出发的时候, 不知道会被送到那个批发商、药房、或是医院, 而且还可能被退还、转到另外单位去。所以一开始投票的时候不知道那个单位会参与。这和每个银行跨境支付不一样,一开始就知道那个银行会参与,因此可以建立通道让所以参与这投票。医药供应链不一样,出发的时候,可能不知道会经过哪个单位,这通道必须一边走一边建立。如果一个药在供应链上走多时,转多个单位,参与投票的单位会一直增加。
为了支持这模型,区块链系统需要一个“动态供应链建立和投票”机制,就是投票节点在运行的时候一直会变而且只有“增加”没有减少。
图10 所有参与者投票模型
交易双方投票模型:每次交易的时候,只有交易双放参与投票,以前参与者只是事后通知。因为以前投票的单位,不能改变以前的投票记录,所以他们在这次投票的时候,必须投“赞同”,不然这笔交易根本不会发生。另外相关数据和投票记录也都记录在区块链上不能更改,所以以前投票的单位不需要再次投票。这样每次交易的时候只有交易双方参与监督,而且依靠区块链系统的不能更改性来维持供应链的完整监督。这是第一层的保障。
同时间,系统的智能合约可以启动,检查这次投票的交易是不是和过去的链上数据是不是一致,如果不是,智能合约可以立刻阻止这次交易通过。这是第二层的保障。
如果他们这次不投票,他们不会立刻知道这次投票结果。可是医药供应链终点是医院,医院可以看到这链条所有信息,而且这些数据不能更改。如果还不放心,可以和制造商联络再确认。制造商和其他单位也因为在这链条上,可以随时察看这链条信息,例如可以每小时查询一些在区块链上的数据。这是第三层的保障。
所以,使用交易双方投票机制有三层机制来保障这次交易是真药。
图11 交易双方投票模型
区块链是可采用的解决方案?
从2017年到2019年,美国一直在讨论区块链是不是解决方案?如果是,那么是不是最好的一种方法?这问题一直困扰着许多人,一开始的时候,美国大部分医药相关机构都犹豫要不要使用区块链。他们的困扰主要在下面3点:
1. 现在没有区块链基础设施,使用起来不方便;
2. 现在没有区块链标准, 准确的说是现在没有“可以行动”的区块链标准;
3. 不相信区块链这个“信任机器”技术可以建立信任的医药供应链。
第一点是正确的,现在区块链基础设施还没有广泛建设,或是还没有足够的基础设施。这点会每年改善。
第二点也是正确的,因为现在区块链标准大都是“参考模型”。参考模型可以参考,可以讨论,但是没有统一的行动细节或是流程。例如许多区块链标准都表示要有共识机制,但是没有表明这共识机制要有如何的细节机制,以及如何验证这机制。就算一个相同的算法,可能有多种不同的架构和实践。在这种情形下,一些弱链和伪链就出现。例如超级账本现在使用的共识是Kafka共识机制,但是这机制一是弱链的机制,但二还是中心化的共识机制,另外就算有算法,同样一个算法可以有不同架构。在天德,同一算法,我们就实验过50多种不同的架构,性能也都不一样。
第三点主要是大众认知和心理问题,因为大部分和医药参与者不了解区块链。这问题可以用教育来解决。另外一个很重要的问题,今天太多人认为,区块链业务最重要,技术不重要。如果使用链,就用开源的链,例如超级账本,虽然大家都知道这是伪链,只要监管单位不否认它,那么就用伪链。问题是今天我们讨论的是使用区块链系统查验药品,使用弱链或是伪链,万一出事,这人命关天问题谁负责?医药供应链公司?区块链公司?批准使用伪链的监管单位是不是也要负责?假药可能造成多人伤亡,中国这样的事发生得还少么?以前的三鹿牛奶事件,和最近疫苗事件都造成了巨大的损失。
区块链是必须的技术?
为什么美国最终还是使用区块链技术?如果不使用区块链技术,那么还能使用什么其它技术或者工具?美国在这方面展开了大量公开讨论,并且提出一些其他技术,例如物联网(IOT)和大数据。
物联网是一种很重要的工具,可是物联网本身并不能保证数据不可篡改,所以物联网跟区块链可以结合。在医药供应链上,只有物联网可以搜集数据但是数据有可能被更改。
另外大数据可以做分析、处理、预测的工作,可是大数据不具有数据不可更改性,所以只有大数据的系统是不能通过药品的全程追踪来保证医药的安全性。
所以无论是大数据或者是物联网,他们都不是解决问题的核心,核心还是需要区块链技术。除了数据无法更改外,区块链还有一个非常重要的概念,这概念在笔者《区块链中国梦4》中提到使用区块链能解决监管科技现有问题[7]。
[互相共识监督] 区块链参与者可以达成共识后才将数据放在链上。在共识的时候,参与者实际上在互相监督对方。
而且达到共识之后,数据就不能更改。“互相共识监督+不能更改性” 使得区块链系统和之前的系统大不相同的地方[10,11]。以前每个单位都维护自己的数据,单位之间可以用文件或是邮件来沟通。如果后来发作弊现象,参与者可以用自己的数据来辩护,可是沟通文件要么是“自然消失”、“自然模糊”、或是被更改过。但是“互相共识监督+不能更改性”使这种作弊现象不能成功。
医药供应链参考模型
这三个模型没有制定区块链标准,也没有要求区块链需要具有什么功能,只定义了药品的交易信息,以及交易文件。
这样有什么好处呢?好处是可以使用任意种类的区块链,今后面对新的区块链或者不同的结构甚至是不同的基础设施,仍然能够使用区块链进行追踪。追踪是从制造商到医院的全程追踪。这个过程经历了激烈的讨论,因为有人认为区块链不能很好地解决问题,但是最终依旧决定使用区块链。
看一下第一个参考架构。第一个参考架构是把交易信息和交易文件都放在区块链上,下图是它的整套流程[1]。
图12 参考模型
图13 验证模型
定义数据结构后,等于有统一度量衡,就有以下特性:
-
数据互通,不论是那家医院、生产商、零售商、物流都必须遵守这数据规矩;
-
有数据和验证细节,这不同于其他没有细节和验证流程的区块链标准。倘若没有这一特点,对FDA来说是这项目就是浪费时间。FDA的目的就是要验证药品的真假,这一过程需要获得相关公司和单位的认可,因此必须要准确,不可以模棱两可。
过程中可以使用不同系统,但是存的数据结构一致。相关公司包括医药商、IT公司、药房等是不同性质的公司,但是FDA认为在医药领域中都是同类公司,就是“医药相关公司”,受到同样的区块链监管。如果FDA提出的参考架构细节模糊,相关公司使用不同区块链系统,虽然功能都一样,但是还是无法验证也无法交互。这是我们在过去不断强调的区块链帝国的概念。FDA在建立美国医药区块链帝国,有意参与的单位可以在美国合法做生意,无意参与的单位可能无法在市场生存。这也是主权区块链的概念,这是美国医药区块链的帝国。
这些标准还会经过多次更正,但是美国建立了世界第一个实用的医药区块链参考架构。其他国家可能会跟随。
这三个参考架构有一些差距,例如第一个是把数据放在区块链上面;第二个是把一些数据的哈希值放在上面;第三个不保存数据或是哈希,而是将智能合约处理之后的相关信息放在区块链上面。
这个参考模型项目是多家相关企业(制造商、物流、医院等)在2017年开始,整个工作历经半年的时间完成,2019年开始系统实验。但是显而易见的这三个参考架构只是初期工作,以后还会有更改。但是这些架构一旦被使用,有可能会成为世界标准。
医药供应链管理系统庞大
仔细看这个参考架构就会发觉这系统数据量惊人。这是根据一个交易所完成的,所谓的交易例如说每一种药品跟每一个制造商,每一个仓库或者每一个物流,还有药房还有医院以及病人,那些都是乘法,乘起来就是一个巨大数字。
根据Drugbank.ca网站(drugbank.ca)的统计数据得知,现在美国有12000个药左右,其中3700个药是政府批准可以使用,还有5700个药正在做实验。美国一共有8400医院或是诊所, 包括5627医院, 美国有超过200家医药制造商, 67000家药房, 我们有了下面组合:
医药数目 X 制造商数目 X 医院数目 X 药房数目 = 3700 X 200 X 8400 X 67000 ≈ 4 x 10¹⁴
这还不包括物流交易的数据。并且上面数据是每种药品,可是实践交易是每一颗药品。一种药品可能经过多次交易才会到达病人。这些都没有估算,所以上面是一个低估。
我们比较一下在2018年3月世界著名的金融机构SWIFT和IBM合作实验, 这项目有34个国际银行参与做跨境支付。跨境支付的多半都是几个重要货币,例如美元、英镑、欧元、日元、人民币,在欧洲可能加上瑞士法郎。交易的物品种类比医药供应链(3700种药品)少得多,参与单位也少得多(34)。花了千万美金,SWIFT实验结果表示超级账本不能支持这样的工作量。SWIFT这次实验的时候并不考虑交易货币,所以实验34家银行交互组合数目是
(银行数目-1) X (银行数目-2)/2 = 528 组合
在实验时候,一个组合用一个通道来实现,就是需要建立 528通道。结果在这次实验超级账本不能支持528个通道,SWIFT说如果需要将所有参与银行都放在区块链系统,一共需要超过10万通道[4]。
如果医药供应链也用一个通道来实践一个组合,那数目就太大了!这表示医药供应链比SWIFT系统(10万个通道)大 4 x 10⁸倍 (4 x 10¹⁴/ 1000000)就是4亿倍,比SWIFT在2018年的实验大757亿倍(4 x 10¹⁴ / 528)。这不是任何一条链可以解决,也不是多链可以解决,而是需要区块链互联网才能解决!
熊猫区块链互联网
这个问题可以通过使用2016年我们提出的熊猫模型来解决[9]。熊猫模型原本是为了数字法币而设计的。在该系统中,一个国家的所有金融机构都可以参与,因为熊猫模型有扩展性。熊猫模型里面链分为账户链或是交易链,账号链只管理账户,交易链处理交易,账户链可以用分片来扩展,交易链却是以增加交易链的数量来扩展,这样这两种链都可以无限扩展。
所以在这个问题中每一个药品制造商,每一个医院,每一个药房或者每一个物流公司和仓库都可以是一个账户链。67000个药房可以有自己的账户链,有8000个医院有自己的账户链,制造商也可以有自己的账户链。
然后有各样的交易链, 这些交易链处于账号链中间,处理他们之间的交易。可以看出来,链的数量看起来大,但是和组合数目来看,还是小的很。这些链加起来可能有10万条链,可是组合是4 x 10¹⁴,想对应来说10万是一个非常小的数目。另外一群医院,或是一群药房可以使用同一账号链。比如说美国Walgreens旗下就有许多药房,这些药房可以统一管理。美国一些联合医院也管理许多医院,例如在一个城市,一家联合医院可以管理十多家医院,这些也可以统一管理。这些还会减少区块链数目。
美国的监管单位FDA可以在每一条链上都有一个节点,从而搜集所有数据用于监管。现在的区块链大数据平台可以处理这样数据量的数据,天德公司在2017年已经推出了这种区块链大数据平台。
这个大数据平台在2017年与广东清算所合作,处理了大宗商品交易清算,交易量大约等值于16年的英国伦敦交易所的交易量。这个大数据平台采用4-D(4 Distributed)架构,通过大数据版区块链实现。下面就是熊猫区块链互联网的架构。
图14 熊猫区块链互联网模型
使用金丝猴模型
假如市场并没有完全按照熊猫模型发展,而是使用多个不同链,但是这些链会使用熊猫模型,但是整个医药供应链还是需要连接。在这种情形下,我们需要异构链网,可以使用金丝猴模型,金丝猴模型可以将几个熊猫链上面连接起来[5,6,8]。
结语
世界多家单位或企业早已开始关注医药供应链的发展。除了在2018年发布参考模型,FDA在2019年初时宣布了一项新的试点计划,用于帮助追踪药品流向。参与单位有制造商、配药商、批发商等能接触到药品的单位,这个项目的目的是找到一种最佳方法解决供应链的安全问题。
这样的布局也引起投资集团的重视,世界顶级投资集团高盛支持TraceLink团队[13],这不但响应FDA的试点计划,也带来一个重要信息,就是在国外一个新型区块链产业就要启动,也得到美国资本界的看好。
当然,医药供应链还在试验阶段,还有大量的工作需要准备。使用区块链技术来解决医药供应链的安全问题还值得深入探讨和研究。
参考文献
[1]. Jeff Denton, Thomas Pizzuto, Heather Zenk, etc., “The Drug Supply Chain Security Act and Blockchain”, Center for Supply Chain Studies, June 21, 2018.
[2]. 蔡维德等,“亲,你的链是什么链?”
[3]. 蔡维德等,“区块链技术几个重要的坑(上)”
[4]. 蔡维德等,“几千万美金买来的教训——SWIFT遇到的困难以及解决方案”
[5]. 蔡维德等,“区块链互联网系列 (2):区块链互联网需要新协议”
[6]. 蔡维德等,“区块链互联网”, 2017.6.3
[7]. 蔡维德等,“区块链的中国梦之四: RegTech编织全面安全梦”
[8]. 蔡维德等,“区块链的中国梦之一: 区块链互联网引领中国科技进步”
[9]. 蔡维德等,“熊猫-CBDC央行数字货币模型”
.
[10]. 蔡维德、姜晓芳、李琪.亲,别逗了,“区块链是500年来最大的金融科技创新?”
[11]. 蔡维德、姜晓芳. 区块链带来“改变世界的革命” ——重读英国首席科学顾问报告”
[12]. 蔡维德等,“大风吹, 吹什么?”
[13]. Ledger Insights, “Goldman Sachs backed TraceLink creates pharma blockchain”, May 22. 2019.
作者:
蔡维德
北京航空航天大学数字社会与区块链实验室,北京天德科技有限公司,国家大数据(贵州,综合实验区区块链互联网实验室,天民(青岛)国际沙盒研究院, 赛迪(青岛)区块链研究院。
何娟
北京航空航天大学硕士研究生,研究区块链方向。
本文来自,仅作分享,存在异议请联系平台删除。本文观点不代表刺猬财经 - 刺猬区块链资讯站立场。