From 98457a4798d69db2fe19370460f75b004c69b4a1 Mon Sep 17 00:00:00 2001 From: Rucknium Date: Mon, 1 Apr 2024 19:39:05 +0000 Subject: [PATCH] Fix mean.size.one.ring.member calculation to include c1, D, and pseudoOuts --- .../code/effective-ring-size-projections.R | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Monero-Black-Marble-Flood/code/effective-ring-size-projections.R b/Monero-Black-Marble-Flood/code/effective-ring-size-projections.R index ff2b9a0..14305c1 100644 --- a/Monero-Black-Marble-Flood/code/effective-ring-size-projections.R +++ b/Monero-Black-Marble-Flood/code/effective-ring-size-projections.R @@ -11,8 +11,20 @@ mean.size.16.ring.input <- mean.size.2in.2out - mean.size.1in.2out mean.size.zero.ring.tx.size <- mean.size.1in.2out - mean.size.16.ring.input # This "size zero ring" is so that the variable ring size can be added later -mean.size.16.ring.input <- mean.size.16.ring.input - 32 -# Subtract key image bytes since there is just one key image per ring +mean.size.16.ring.input <- mean.size.16.ring.input - 32 * 4 +# We subtract 32 bytes times 4 because +# 1) The key image in the vin[[1]]$key$k_image JSON object is 32 bytes (64 characters +# of hexcode, divided by two). There is one key image per ring. +# 2-4) There are 3 other 32 byte strings in +# rctsig_prunable$CLSAGs[[1]]$c1 +# rctsig_prunable$CLSAGs[[1]]$D +# rctsig_prunable$pseudoOuts +# That appear once per ring and do not seem to scale up with ring size. +# The "mean.size.16.ring.input" will be one 32 byte string for the ring signature +# string per each ring member, plus some amount (about 3) bytes for +# the average storage space per integer output index in vin[[1]]$key$key_offsets +# I think the integer output indices are store as variable-length (in bytes) +# data objects. mean.size.one.ring.member <- mean.size.16.ring.input / 16