From 6f66552f003dbfcc86eb1b84a23794370118d27c Mon Sep 17 00:00:00 2001 From: Faiz Khan Date: Thu, 26 Feb 2015 16:27:16 -0600 Subject: [PATCH] Quadratic memory cost --- ethereumj-core/src/main/java/org/ethereum/vm/VM.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ethereumj-core/src/main/java/org/ethereum/vm/VM.java b/ethereumj-core/src/main/java/org/ethereum/vm/VM.java index dbe3b7c6..a41338d2 100644 --- a/ethereumj-core/src/main/java/org/ethereum/vm/VM.java +++ b/ethereumj-core/src/main/java/org/ethereum/vm/VM.java @@ -210,7 +210,7 @@ public class VM { long memoryUsage = (newMemSize.longValue() + 31) / 32 * 32; if (memoryUsage > oldMemSize) { memWords = (memoryUsage - oldMemSize) / 32; - long memGas = GasCost.MEMORY * memWords; + long memGas = GasCost.MEMORY * (memWords + memWords * memWords / 1024); program.spendGas(memGas, op.name() + " (memory usage)"); gasCost += memGas; }