在常接触的中心化金融服务中,常常会需要依靠数据来进行运算或是判断,譬如说汇率数据可以用来买卖外币的参考数据。目前生活中「可靠数据源」并不会造成很大的困扰,原因是我们习惯的去信任这些组织所提供的数据,像是银行、国家机构、专业投资机构等等。而且这些中心化的系统中,数据错误导致的交易或是判断是可以被回朔的,但去中心化系统是不可回朔的,这要怎么解决呢

智能合约的数据问题

区块链技术与智能合约的出现,去中心化的想法让人与人之间信任的问题可以交给程式与逻辑自动化的执行,但到目前为止我们还无法看到智能合约大规模的应用在保险、供应链、金融、贸易等等,其实主要的原因还是提供智能合约做判断的数据来源是否可靠。

举个例子来说,假如有一保险相关的智能合约是依据医院医生的诊断单跟相关的就诊纪录来判断理赔的金额,区块链技术在这的优势在于上链后资讯是不可逆的,不会有被窜改的问题,变成一个公正的第三方。但问题是医院所提供的数据并不是区块链上的原生数据,所以如果有医生或是内部人员去修改这份数据,智能合约所执行的结果也变得不可信任。

另外区块链上本身也没有任何机制去辨识数据的真伪,这对于每个开发者来说都是相当头痛的。所以我们需要的是一个中介的媒介,能够将这些数据整合起来,透过一些机制的来分析可靠度,才能进一步的提供给智能合约来进行判断与执行。

打造一个值得信赖的数据源—Chainlink

Chainlink就是为了解决这个问题所产生的,藉由建构分散式的节点网路,透过API连结到外部世界,并且将数据聚合成一个加权答案,提供给智能合约创建者。说起来很简单,但是关键的数据源问题,是透过什么机制解决呢

Chainlink上的每个节点就是数据的提供商,想成为节点就必须先抵押Chainlink的代币(LINK),一但有恶意的行为发生,抵押的代币就会充当罚金来保障用户。

另外Chainlink上也有所谓的信誉系统,会根据抵押的代币量跟过去提供数据的历史纪录来评断,这些也包括接受过多少数据申请,最后有多少答案被智能合约接受,平均的回应时间等等的各种评估。

所以信誉越高的节点,获得的工作机会也会越高,相对的收益也会越好,这也是一种约制效果,信誉不好的节点用户也不会去使用,渐渐地排除掉这些比较差的节点。

Chainlink上面还有一些其他的机制,譬如说会将有符合条件的提供商所提供的数据进行汇整,将结果进行加权,再将最终答案提交给需要的用户,而这些智能合约的创建者可以自由选择如何加权或是选择何种数据。这样可以避免依赖单一数据源所造成的偏差。

Chainlink所提供的解决方案能改变智能合约所需要导入的外界数据,将线下的资讯整合到区块链中,当然智能合约的发展还有牵涉到其他层面的问题,但可以想像到的,一但Chianlink的生态系越完整,会大大的增加智能合约可以使用的场景以及更深入我们周遭的生活中,或许去中心化服务的世界会离我们越来越近了。