如何准确测量减少λ项所需的工作量?

Mai*_*tor 5 haskell functional-programming blockchain ethereum smartcontracts

诸如以太坊之类的区块链在其智能合约处理虚拟机上使用基于堆栈寄存器的语言.该模型非常方便,因为它提供了一种简单的机制来测量运行程序所需的工作量:只需为每个基本操作和总和确定成本.

假设使用智能契约的区块链而不是虚拟机,使用了函数式编程语言,如Haskell的核心.是否有任何简单,准确的方法来衡量执行功能程序所需的工作量 - 请记住,节点能够使用任何评估策略,因此这种测量必须是通用的.

Kan*_*ang 1

“只为每个原始操作确定一个成本并求和”并不容易做到。区块链网络动态地确定其代币的真实价值,无论其代币的最小值提供什么值。例如,一种气体的价值是世界愿意支付的任何价格,以将其用作世界计算机上的计算单位。为了准确衡量网络为确保其代币的单位价值所花费的努力,我们需要一个 DMMS 算法(如侧链论文中所述),它只不过是一个工作量证明区块链。

每个原始操作都需要自己的区块链才能准确确定其价值。当在单个区块链上实现多个代币时,例如彩色/自定义硬币,它无法准确测量单位的价值。

在函数式语言的情况下,人们也许可以想象一个 Lisp 区块链,其中 paul graham 的 7 个原语实现为操作码(基于堆栈的解释器是无关紧要的),这将是图灵完备的,但会遇到确定每个操作码的真实值的问题;最便宜的总是会被滥用,这在以太坊上很明显(自杀功能的廉价被垃圾邮件发送)。

因此,要实现功能性的图灵完备区块链,您需要一个由 7 个区块链组成的编织网络,每个区块链独立地确定该原始计算所需工作量的真实价值。

拥有工作量证明替代方案的人会不同意上述观点。加密货币是一个新领域,数学还不够成熟,无法让任何人提出具体的主张。