问题提出得颇具专业深度,涉及到了区块链合约的领域。
导入外部数据,对于区块链技术而言,历来是一道难以逾越的难题。
对于众多应用场景来说,导入外部数据是不可或缺的。以即将到来的世界杯为例,若有人在区块链上搭建一个赌球平台,尽管赔率设置、筹码购买和下注过程可以完全在链上完成,但最终的胜负结算却必须依赖外部数据。
显而易见,导入外部数据的重要性不言而喻,那么这一过程又面临着哪些挑战呢?
区块链理念倡导去中心化,旨在构建一个无需依赖任何参与者信任,同时确保公正高效运行的系统。
若外部数据完全由应用开发者提供,那么对开发者的信任度就成了关键。以赌球应用为例,如果开发者本身参与赌局并遭遇失败,他们很可能不会如实记录赛果。
此外,区块链技术的应用成本也是一个不容忽视的难题。
以 MakerDao 为例,该系统通过抵押资产来产生与美元等值的数字货币。当抵押资产价值跌破设定线时,资产将被拍卖。然而,如何确定何时达到爆仓线呢?这又涉及到抵押资产的市场实时价格。
理论上,最公正的做法是让所有用户都有权提交数据,并取这些数据的平均值作为系统认可的值,同时对偏离平均值较大的用户进行惩罚,以此激励用户如实报告。然而,这种方法在实际应用中成本高昂。
在以太坊上记录一次数据大约需要0.5美元。若假设有1000人参与,且以每秒一次的频率提交数据,一年的成本将高达数百亿美元。
因此,MakerDao 并未采取这种方案,而是选择了一种折衷方案。他们将数据输入的权力交给了大约10家交易所,要求这些交易所在资产价格变动超过1%时向系统报告。如果交易所能够诚实地报告,数据应该能够保持相对准确。
此外,设定资产价格变动幅度的时间限制,即使某个交易所试图篡改数据,也无法瞬间对整个系统造成影响。
而且,MakerDao 的股东们可以通过持有其数字货币的比例来决定取消或增加某个交易所的数据输入权限。