以太坊等区块链在其智能合约处理虚拟机上使用基于堆栈寄存器的语言。该模型非常方便,因为它提供了一种简单的机制来测量运行程序所需的工作量:只需为每个基本操作和总和确定成本。
假设使用智能合约的区块链而不是虚拟机,则使用函数式编程语言,如Haskell的核心。是否有任何简单,准确的方法来衡量执行功能程序所需的工作量 - 请记住,节点能够使用任何评估策略,因此这种测量必须是通用的。
答案 0 :(得分:1)
"只需修复每个原始操作的成本并总结"这并不容易。区块链网络动态地确定其令牌的真实值,无论其令牌的最小值是什么值。例如,无论世界想要支付什么,天然气都值得用它作为世界计算机上的计算单位。为了准确地测量网络花费的努力以确保其令牌的单位价值,我们需要DMMS算法(如侧链论文中所述)&这只不过是工作证明区块链。
每个原始操作都需要自己的区块链才能准确确定其值。当在单个区块链上实施多个令牌时,例如彩色/自定义硬币,它无法准确测量单位的价值。
在使用函数式语言的情况下,人们可能会想象一个lisp区块链,其中paul graham的7个原语被实现为操作码(基于堆栈的解释器无关紧要),这将是图灵完成但会遇到确定的问题每个操作码的真实价值;最便宜的一个将永远被滥用在以太坊上显而易见(自杀功能和廉价是垃圾邮件)。
因此,要实现功能图灵完整区块链,您需要一个由7个区块链组成的编织网络,每个区块链独立地确定该原始计算所需的工作量的真实值。
有工作证明替代方案的人会不同意上述情况。加密货币是一个新领域,数学不够成熟,任何人都无法做出具体要求。