orchard/design/nullifiers.html

451 lines
203 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML>
<html lang="en" class="light" dir="ltr">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>Nullifiers - The Orchard Book</title>
<!-- Custom HTML head -->
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff">
<link rel="icon" href="../favicon.svg">
<link rel="shortcut icon" href="../favicon.png">
<link rel="stylesheet" href="../css/variables.css">
<link rel="stylesheet" href="../css/general.css">
<link rel="stylesheet" href="../css/chrome.css">
<link rel="stylesheet" href="../css/print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="../fonts/fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="../highlight.css">
<link rel="stylesheet" href="../tomorrow-night.css">
<link rel="stylesheet" href="../ayu-highlight.css">
<!-- Custom theme stylesheets -->
</head>
<body class="sidebar-visible no-js">
<div id="body-container">
<!-- Provide site root to javascript -->
<script>
var path_to_root = "../";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light";
</script>
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script>
try {
var theme = localStorage.getItem('mdbook-theme');
var sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script>
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('light')
html.classList.add(theme);
var body = document.querySelector('body');
body.classList.remove('no-js')
body.classList.add('js');
</script>
<input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
<!-- Hide / unhide sidebar before it is displayed -->
<script>
var body = document.querySelector('body');
var sidebar = null;
var sidebar_toggle = document.getElementById("sidebar-toggle-anchor");
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
} else {
sidebar = 'hidden';
}
sidebar_toggle.checked = sidebar === 'visible';
body.classList.remove('sidebar-visible');
body.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded affix "><a href="../index.html">Orchard</a></li><li class="chapter-item expanded "><a href="../concepts.html"><strong aria-hidden="true">1.</strong> Concepts</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="../concepts/preliminaries.html"><strong aria-hidden="true">1.1.</strong> Preliminaries</a></li></ol></li><li class="chapter-item expanded "><a href="../user.html"><strong aria-hidden="true">2.</strong> User Documentation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="../user/keys.html"><strong aria-hidden="true">2.1.</strong> Creating keys and addresses</a></li><li class="chapter-item expanded "><a href="../user/creating-notes.html"><strong aria-hidden="true">2.2.</strong> Creating notes</a></li><li class="chapter-item expanded "><a href="../user/spending-notes.html"><strong aria-hidden="true">2.3.</strong> Spending notes</a></li><li class="chapter-item expanded "><a href="../user/integration.html"><strong aria-hidden="true">2.4.</strong> Integration into an existing chain</a></li></ol></li><li class="chapter-item expanded "><a href="../design.html"><strong aria-hidden="true">3.</strong> Design</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="../design/keys.html"><strong aria-hidden="true">3.1.</strong> Keys and addresses</a></li><li class="chapter-item expanded "><a href="../design/actions.html"><strong aria-hidden="true">3.2.</strong> Actions</a></li><li class="chapter-item expanded "><a href="../design/commitments.html"><strong aria-hidden="true">3.3.</strong> Commitments</a></li><li class="chapter-item expanded "><a href="../design/commitment-tree.html"><strong aria-hidden="true">3.4.</strong> Commitment tree</a></li><li class="chapter-item expanded "><a href="../design/nullifiers.html" class="active"><strong aria-hidden="true">3.5.</strong> Nullifiers</a></li><li class="chapter-item expanded "><a href="../design/signatures.html"><strong aria-hidden="true">3.6.</strong> Signatures</a></li><li class="chapter-item expanded "><a href="../design/circuit.html"><strong aria-hidden="true">3.7.</strong> Circuit</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="../design/circuit/gadgets.html"><strong aria-hidden="true">3.7.1.</strong> Gadgets</a></li><li class="chapter-item expanded "><a href="../design/circuit/commit-ivk.html"><strong aria-hidden="true">3.7.2.</strong> CommitIvk</a></li><li class="chapter-item expanded "><a href="../design/circuit/note-commit.html"><strong aria-hidden="true">3.7.3.</strong> NoteCommit</a></li></ol></li></ol></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
<!-- Track and set sidebar scroll position -->
<script>
var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');
sidebarScrollbox.addEventListener('click', function(e) {
if (e.target.tagName === 'A') {
sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);
}
}, { passive: true });
var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
sessionStorage.removeItem('sidebar-scroll');
if (sidebarScrollTop) {
// preserve sidebar scroll position when navigating via links within sidebar
sidebarScrollbox.scrollTop = sidebarScrollTop;
} else {
// scroll sidebar to current active section when navigating via "next/previous chapter" buttons
var activeSection = document.querySelector('#sidebar .active');
if (activeSection) {
activeSection.scrollIntoView({ block: 'center' });
}
}
</script>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky">
<div class="left-buttons">
<label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</label>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
</ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
</div>
<h1 class="menu-title">The Orchard Book</h1>
<div class="right-buttons">
<a href="../print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
</div>
</div>
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script>
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
<h1 id="nullifiers"><a class="header" href="#nullifiers">Nullifiers</a></h1>
<p>The nullifier design we use for Orchard is</p>
<p><span class="katex-display"><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">nf</span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.2em;vertical-align:-0.35em;"></span><span class="mord"><span class="mord"><span class="mord mathsf">Extract</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3322em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathbb mtight">P</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="delimsizing size1">(</span></span><span class="mopen">[(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">p</span></span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.2em;vertical-align:-0.35em;"></span><span class="mord"><span class="mord mathsf">cm</span></span><span class="mord"><span class="delimsizing size1">)</span></span><span class="mpunct">,</span></span></span></span></span></p>
<p>where:</p>
<ul>
<li><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.13889em;">F</span></span></span></span> is a keyed circuit-efficient PRF (such as Rescue or Poseidon).</li>
<li><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> is unique to this output. As with <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathsf">h</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathsf mtight" style="margin-right:0.01389em;">Sig</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> in Sprout, <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> includes
the nullifiers of any Orchard notes being spent in the same action. Given that an action
consists of a single spend and a single output, we set <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> to be the nullifier of the
spent note.</li>
<li><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span> is sender-controlled randomness. It is not required to be unique, and in practice
is derived from both <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> and a sender-selected random value <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">rseed</span></span></span></span></span>:
<span class="katex-display"><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1723em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord mathit">KDF</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9223em;"><span style="top:-3.1362em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.03588em;">ψ</span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathsf">rseed</span></span><span class="mclose">)</span><span class="mord">.</span></span></span></span></span></li>
<li><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7805em;vertical-align:-0.0972em;"></span><span class="mord mathcal" style="margin-right:0.0593em;">G</span></span></span></span> is a fixed independent base.</li>
<li><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathsf">Extract</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3322em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathbb mtight">P</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> extracts the <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span>-coordinate of a Pallas curve point.</li>
</ul>
<p>This gives a note structure of</p>
<p><span class="katex-display"><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span><span class="mord">.</span></span></span></span></span></p>
<p>The note plaintext includes <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">rseed</span></span></span></span></span> in place of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span> and <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span></span></span></span>, and
omits <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> (which is a public part of the action).</p>
<h2 id="security-properties"><a class="header" href="#security-properties">Security properties</a></h2>
<p>We care about several security properties for our nullifiers:</p>
<ul>
<li>
<p><strong>Balance:</strong> can I forge money?</p>
</li>
<li>
<p><strong>Note Privacy:</strong> can I gain information about notes only from the public block chain?</p>
<ul>
<li>This describes notes sent in-band.</li>
</ul>
</li>
<li>
<p><strong>Note Privacy (OOB):</strong> can I gain information about notes sent out-of-band, only from
the public block chain?</p>
<ul>
<li>In this case, we assume privacy of the channel over which the note is sent, and that
the adversary does not have access to any notes sent to the same address which are
then spent (so that the nullifier is on the block chain somewhere).</li>
</ul>
</li>
<li>
<p><strong>Spend Unlinkability:</strong> given the incoming viewing key for an address, and not the full
viewing key, can I (possibly the sender) detect spends of any notes sent to that address?</p>
<ul>
<li>We're giving <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">ivk</span></span></span></span></span> to the attacker and allowing it to be the sender in order
to make this property as strong as possible: they will have <em>all</em> the notes sent to that
address.</li>
</ul>
</li>
<li>
<p><strong>Faerie Resistance:</strong> can I perform a Faerie Gold attack (i.e. cause notes to be
accepted that are unspendable)?</p>
<ul>
<li>We're giving the full viewing key to the attacker and allowing it to be the sender in
order to make this property as strong as possible: they will have <em>all</em> the notes sent
to that address, and be able to derive <em>every</em> nullifier.</li>
</ul>
</li>
</ul>
<p>We assume (and instantiate elsewhere) the following primitives:</p>
<ul>
<li><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord"><span class="mord mathit">GH</span></span></span></span></span> is a cryptographic hash into the group (such as BLAKE2s with simplified SWU),
used to derive all fixed independent bases.</li>
<li><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.05764em;">E</span></span></span></span> is an elliptic curve (such as Pallas).</li>
<li><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord"><span class="mord mathit">KDF</span></span></span></span></span> is the note encryption key derivation function.</li>
</ul>
<p>For our chosen design, our desired security properties rely on the following assumptions:</p>
<p><span class="katex-display"><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:6.2527em;vertical-align:-2.8563em;"></span><span class="mord"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:3.3963em;"><span style="top:-5.3563em;"><span class="pstrut" style="height:5.3563em;"></span><span class="mtable"><span class="vertical-separator" style="height:6.2127em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-2.8563em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:3.3563em;"><span style="top:-5.5163em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord text"><span class="mord">Balance</span></span></span></span><span style="top:-4.2307em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord text"><span class="mord">Note Privacy</span></span></span></span><span style="top:-3.0307em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord text"><span class="mord">Note Privacy (OOB)</span></span></span></span><span style="top:-1.7037em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord text"><span class="mord">Spend Unlinkability</span></span></span></span><span style="top:-0.5037em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord text"><span class="mord">Faerie Resistance</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:2.8563em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:6.2127em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-2.8563em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:3.3563em;"><span style="top:-5.5163em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-4.2307em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9257em;"><span style="top:-2.453em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span style="top:-3.1473em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.247em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.0307em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord text"><span class="mord">Near perfect</span></span><span class="mord"></span></span></span><span style="top:-1.7037em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.967em;"><span style="top:-2.4065em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span style="top:-3.1809em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.2935em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-0.5037em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:2.8563em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:6.2127em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-2.8563em;"></span></span></span><span style="top:-2.5em;"><span class="pstrut" style="height:5.3563em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-8.7127em;"><span class="pstrut" style="height:5.3563em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:2.8563em;"><span></span></span></span></span></span></span></span></span></span></p>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1727em;vertical-align:-0.247em;"></span><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9257em;"><span style="top:-2.453em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span style="top:-3.1473em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.247em;"><span></span></span></span></span></span></span></span></span></span> is computational Diffie-Hellman using <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord"><span class="mord mathit">KDF</span></span></span></span></span> for
the key derivation, with one-time ephemeral keys. This assumption is heuristically weaker
than <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> but stronger than <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>.</p>
<p>We omit <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> as a security assumption because we only rely on the random oracle
applied to fixed inputs defined by the protocol, i.e. to generate the fixed base
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7805em;vertical-align:-0.0972em;"></span><span class="mord mathcal" style="margin-right:0.0593em;">G</span></span></span></span>, not to attacker-specified inputs.</p>
<blockquote>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"></span></span></span></span> We additionally assume that for any input <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span>,
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord"><span class="mord mathsf">nk</span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel"></span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.05764em;">E</span><span class="mclose">}</span></span></span></span> gives a scalar in an adequate range for
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>. (Otherwise, <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.13889em;">F</span></span></span></span> could be trivial, e.g. independent of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">nk</span></span></span></span></span>.)</p>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"></span></span></span></span> Statistical distance <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"></span><span class="mord mtight">167.8</span></span></span></span></span></span></span></span></span></span></span></span> from perfect.</p>
</blockquote>
<h2 id="considered-alternatives"><a class="header" href="#considered-alternatives">Considered alternatives</a></h2>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord" style="color:red;"><span class="mord text" style="color:red;"><span class="mord" style="color:red;"></span><span class="mord textsf" style="color:red;"> Caution</span></span></span></span></span></span>: be skeptical of the claims in this table about what
problem(s) each security property depends on. They may not be accurate and are definitely
not fully rigorous.</p>
<p>The entries in this table omit the application of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathsf">Extract</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3322em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathbb mtight">P</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>,
which is an optimization to halve the nullifier length. That optimization requires its
own security analysis, but because it is a deterministic mapping, only Faerie Resistance
could be affected by it.</p>
<p><span class="katex-display"><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:19.1828em;vertical-align:-9.4564em;"></span><span class="mord sizing reset-size6 size1"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:19.4528em;"><span style="top:-21.4128em;"><span class="pstrut" style="height:21.4128em;"></span><span class="mtable"><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:19.4128em;"><span style="top:-21.8064em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-21.2529em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">nf</span></span></span></span><span style="top:-19.7943em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-19.6287em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-18.9141em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathsf">nk</span></span><span class="mclose">]</span><span class="mopen">[</span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mclose">]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span><span style="top:-17.3262em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-16.6116em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathsf">nk</span></span><span class="mclose">]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.07382em;">I</span></span></span><span style="top:-15.0237em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-14.309em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Hash</span></span><span class="mopen">([</span><span class="mord"><span class="mord mathsf">nk</span></span><span class="mclose">]</span><span class="mopen">[</span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mclose">]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mclose">)</span></span></span><span style="top:-12.7211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-12.0065em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Hash</span></span><span class="mopen">([</span><span class="mord"><span class="mord mathsf">nk</span></span><span class="mclose">]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.07382em;">I</span><span class="mclose">)</span></span></span><span style="top:-10.4186em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-9.5576em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)]</span><span class="mopen">[</span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mclose">]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span><span style="top:-7.9697em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-7.1088em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.07382em;">I</span></span></span><span style="top:-5.5209em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-4.6599em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)]</span><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mopen">[</span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mclose">]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span><span style="top:-3.072em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:-2.211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span><span style="top:-0.6231em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:0.2379em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)]</span><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span><span style="top:1.8258em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:2.6868em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)]</span><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span><span style="top:4.2747em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:5.1357em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)]</span><span class="mord"><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2306em;"><span style="top:-2.3em;margin-left:-0.0593em;margin-right:0.1em;"><span class="pstrut" style="height:2.5em;"></span><span class="mord mathnormal mtight" style="margin-right:0.03588em;">v</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.2em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.07382em;">I</span></span></span><span style="top:6.7236em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:7.5845em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)]</span><span class="mord"><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2306em;"><span style="top:-2.3em;margin-left:-0.0593em;margin-right:0.1em;"><span class="pstrut" style="height:2.5em;"></span><span class="mord mathnormal mtight" style="margin-right:0.03588em;">v</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.2em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.07382em;">I</span></span></span><span style="top:9.1724em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:10.0334em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.0818em;"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.0818em;"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord mathnormal">p</span></span><span class="mclose">]</span><span class="mord"><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2306em;"><span style="top:-2.3em;margin-left:-0.0593em;margin-right:0.1em;"><span class="pstrut" style="height:2.5em;"></span><span class="mord mathnormal mtight" style="margin-right:0.03588em;">v</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.2em;"><span></span></span></span></span></span></span></span></span><span style="top:11.6213em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:12.4823em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">)]</span><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Commit</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0984em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight" style="margin-right:0.06944em;">rnf</span></span></span></span><span style="top:-3.0984em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight" style="margin-right:0.06944em;">nf</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4864em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mclose">)</span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:14.0702em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"></span></span><span style="top:14.9312em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.1389em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)]</span><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Commit</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0984em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight" style="margin-right:0.06944em;">rnf</span></span></span></span><span style="top:-3.0984em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight" style="margin-right:0.06944em;">nf</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4864em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mclose">)</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:18.8593em;"><span style="top:-21.2529em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Note</span></span></span></span><span style="top:-18.9141em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:-16.6116em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:-14.309em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:-12.0065em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:-9.5576em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:-7.1088em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-4.6599em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:-2.211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:0.2379em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:2.6868em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:5.1357em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:7.5845em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:10.0334em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:12.4823em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span><span style="top:14.9312em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal">dd</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord mathnormal">ρ</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.2453em;"></span><span class="mord"><span class="mord mathsf">rcm</span></span><span class="mclose">)</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:18.8593em;"><span style="top:-21.2529em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mord text"><span class="mord">Balance</span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-18.9141em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-16.6116em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-14.309em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-12.0065em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-9.5576em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-7.1088em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-4.6599em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-2.211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:0.2379em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:2.6868em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:5.1357em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:7.5845em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:10.0334em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:12.4823em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:14.9312em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:18.8593em;"><span style="top:-21.2529em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Note Privacy</span></span></span></span><span style="top:-18.9141em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:-16.6116em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:-14.309em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:-12.0065em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:-9.5576em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:-7.1088em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:-4.6599em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:-2.211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:0.2379em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:2.6868em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:5.1357em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:7.5845em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:10.0334em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:12.4823em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span><span style="top:14.9312em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">HashDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0873em;"><span style="top:-2.208em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.0873em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">KDF</span></span><span class="mspace mtight" style="margin-right:-0.2453em;"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.4753em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:18.8593em;"><span style="top:-21.2529em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mord text"><span class="mord">Note Priv OOB</span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-18.9141em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:-16.6116em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:-14.309em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:-12.0065em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:-9.5576em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:-7.1088em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:-4.6599em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:-2.211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span></span></span><span style="top:0.2379em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span></span></span><span style="top:2.6868em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span></span></span><span style="top:5.1357em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:7.5845em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:10.0334em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Near perfect</span></span><span class="mord"></span></span></span><span style="top:12.4823em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span><span style="top:14.9312em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perfect</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:18.8593em;"><span style="top:-21.2529em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mord text"><span class="mord">Spend Unlinkability</span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-18.9141em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-16.6116em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-14.309em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Pre</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">Hash</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span></span></span><span style="top:-12.0065em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Pre</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">Hash</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span></span></span><span style="top:-9.5576em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-7.1088em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-4.6599em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-2.211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:0.2379em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:2.6868em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:5.1357em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:7.5845em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:10.0334em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:12.4823em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:14.9312em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2337em;"><span style="top:-2.1599em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span><span style="top:-3.2337em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mbin mtight"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.5345em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:18.8593em;"><span style="top:-21.2529em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Faerie Resistance</span></span></span></span><span style="top:-18.9141em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.0278em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-16.6116em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.0278em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-14.309em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">Hash</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.0278em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-12.0065em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">Hash</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.0278em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-9.5576em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.0278em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-7.1088em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.0278em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-4.6599em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.0278em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:-2.211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-left:-0.0278em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:0.2379em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:2.6868em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:5.1357em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:7.5845em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mbin"></span><span class="mspace" style="margin-right:0.3271em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:10.0334em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord" style="color:red;"><span class="mord text" style="color:red;"><span class="mord" style="color:red;">broken</span></span></span></span></span><span style="top:12.4823em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span><span style="top:14.9312em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:18.8593em;"><span style="top:-21.2529em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Reason not to use</span></span></span></span><span style="top:-18.9141em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">No SU for DL-breaking</span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-16.6116em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">No SU for DL-breaking</span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-14.309em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">Hash</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mord text"><span class="mord"> for FR</span></span></span></span><span style="top:-12.0065em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6944em;"></span><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">Hash</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3496em;"><span></span></span></span></span></span></span><span class="mord text"><span class="mord"> for FR</span></span></span></span><span style="top:-9.5576em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perf. (2 var-base)</span></span></span></span><span style="top:-7.1088em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mord text"><span class="mord">Perf. (1 var+1 fix-base)</span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-4.6599em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mspace" style="margin-right:-0.2453em;"></span><span class="mord text"><span class="mord">Perf. (1 var+1 fix-base)</span></span><span class="mspace" style="margin-right:-0.2453em;"></span></span></span><span style="top:-2.211em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">NP(OOB) not perfect</span></span></span></span><span style="top:0.2379em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">NP(OOB) not perfect</span></span></span></span><span style="top:2.6868em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">NP(OOB) not perfect</span></span></span></span><span style="top:5.1357em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mord text"><span class="mord"> for FR</span></span></span></span><span style="top:7.5845em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3448em;margin-right:0.1em;"><span class="pstrut" style="height:2.6833em;"></span><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.3385em;"><span></span></span></span></span></span></span><span class="mord text"><span class="mord"> for FR</span></span></span></span><span style="top:10.0334em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">broken for FR</span></span></span></span><span style="top:12.4823em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perf. (2 fix-base)</span></span></span></span><span style="top:14.9312em;"><span class="pstrut" style="height:3.2337em;"></span><span class="mord"><span class="mord text"><span class="mord">Perf. (2 fix-base)</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="vertical-separator" style="height:38.3255em;border-right-width:0.04em;border-right-style:solid;margin:0 -0.02em;vertical-align:-18.9128em;"></span></span></span><span style="top:-2.5em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-4.9489em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-7.3978em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-9.8466em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-12.2955em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-14.7444em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-17.1933em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-19.6422em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-22.091em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-24.5399em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-26.9888em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-29.4377em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-31.7402em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-34.0427em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-36.3453em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-38.6478em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-38.8134em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span><span style="top:-40.8255em;"><span class="pstrut" style="height:21.4128em;"></span><span class="hline" style="border-bottom-width:0.04em;"></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:18.9128em;"><span></span></span></span></span></span></span></span></span></span></p>
<p>In the above alternatives:</p>
<ul>
<li>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathit">Hash</span></span></span></span></span> is a keyed circuit-efficient hash (such as Rescue).</p>
</li>
<li>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathcal" style="margin-right:0.07382em;">I</span></span></span></span> is an fixed independent base, independent of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7805em;vertical-align:-0.0972em;"></span><span class="mord mathcal" style="margin-right:0.0593em;">G</span></span></span></span> and any others
returned by <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord"><span class="mord mathit">GH</span></span></span></span></span>.</p>
</li>
<li>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0593em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.03588em;">v</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> is a pair of fixed independent bases (independent of all others), where
the specific choice of base depends on whether the note has zero value.</p>
</li>
<li>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span></span> is a base unique to this output.</p>
<ul>
<li>For non-zero-valued notes, <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathit">GH</span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)</span></span></span></span>. As with <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathsf">h</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathsf mtight" style="margin-right:0.01389em;">Sig</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> in Sprout,
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> includes the nullifiers of any Orchard notes being spent in the same action.</li>
<li>For zero-valued notes, <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span></span> is constrained by the circuit to a fixed base independent
of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathcal" style="margin-right:0.07382em;">I</span></span></span></span> and any others returned by <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord"><span class="mord mathit">GH</span></span></span></span></span>.</li>
</ul>
</li>
</ul>
<h2 id="rationale"><a class="header" href="#rationale">Rationale</a></h2>
<p>In order to satisfy the <strong>Balance</strong> security property, we require that the circuit must be
able to enforce that only one nullifier is accepted for a given note. As in Sprout and
Sapling, we achieve this by ensuring that the nullifier deterministically depends only on
values committed to (directly or indirectly) by the note commitment. As in Sapling,
this involves arguing that:</p>
<ul>
<li>There can be only one <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">ivk</span></span></span></span></span> for a given <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathit">addr</span></span></span></span></span>. This is true because
the circuit checks that <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathsf">p</span><span class="mord"><span class="mord mathsf">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathsf mtight">d</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf">ivk</span></span><span class="mclose">]</span><span class="mord"><span class="mord mathsf" style="margin-right:0.01389em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0139em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathsf mtight">d</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>, and the mapping
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7054em;vertical-align:-0.011em;"></span><span class="mord"><span class="mord mathsf">ivk</span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel"></span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf">ivk</span></span><span class="mclose">]</span><span class="mord"><span class="mord mathsf" style="margin-right:0.01389em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0139em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathsf mtight">d</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> is an injection for any <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6389em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathsf" style="margin-right:0.01389em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0139em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathsf mtight">d</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>.
(<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">ivk</span></span></span></span></span> is in the base field of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.05764em;">E</span></span></span></span>, which must be smaller than its scalar field,
as is the case for Pallas.)</li>
<li>There can be only one <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">nk</span></span></span></span></span> for a given <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">ivk</span></span></span></span></span>. This is true because the
circuit checks that <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">ivk</span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1834em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord"><span class="mord mathit">ShortCommit</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9334em;"><span style="top:-2.453em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">rivk</span></span></span></span></span><span style="top:-3.1473em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">ivk</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.247em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord mathsf">ak</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathsf">nk</span></span><span class="mclose">)</span></span></span></span>
where <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathit">ShortCommit</span></span></span></span></span> is binding (see <a href="commitments.html">Commitments</a>).</li>
</ul>
<h3 id="use-of-ρ"><a class="header" href="#use-of-ρ">Use of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span></a></h3>
<p><strong>Faerie Resistance</strong> requires that nullifiers be unique. This is primarily achieved by
taking a unique value (checked for uniqueness by the public consensus rules) as an input
to the nullifier. However, it is also necessary to ensure that the transformations applied
to this value preserve its uniqueness. Meanwhile, to achieve <strong>Spend Unlinkability</strong>, we
require that the nullifier does not reveal any information about the unique value it is
derived from.</p>
<p>The design alternatives fall into two categories in terms of how they balance these
requirements:</p>
<ul>
<li>
<p>Publish a unique value <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> at note creation time, and blind that value within the
nullifier computation.</p>
<ul>
<li>This is similar to the approach taken in Sprout and Sapling, which both implemented
nullifiers as PRF outputs; Sprout uses the compression function from SHA-256, while
Sapling uses BLAKE2s.</li>
</ul>
</li>
<li>
<p>Derive a unique base <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span></span> from some unique value, publish that unique base at note
creation time, and then blind the base (either additively or multiplicatively) during
nullifier computation.</p>
</li>
</ul>
<p>For <strong>Spend Unlinkability</strong>, the only value unknown to the adversary is <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">nk</span></span></span></span></span>, and
the cryptographic assumptions only involve the first term (other terms like <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span></span>
or <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.07382em;">I</span></span></span></span> cannot be extracted directly from the observed nullifiers,
but can be subtracted from them). We therefore ensure that the first term does not commit
directly to the note (to avoid a DL-breaking adversary from immediately breaking <strong>SU</strong>).</p>
<p>We were considering using a design involving <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span></span> with the goal of eliminating all usages
of a PRF inside the circuit, for two reasons:</p>
<ul>
<li>Instantiating <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> with a traditional hash function is expensive in the
circuit.</li>
<li>We didn't want to solely rely on an algebraic hash function satisfying <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>
to achieve <strong>Spend Unlinkability</strong>.</li>
</ul>
<p>However, those designs rely on both <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathit mtight">GH</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> and <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> for
<strong>Faerie Resistance</strong>, while still requiring <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> for <strong>Spend Unlinkability</strong>.
(There are two designs for which this is not the case, but they rely on
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.2605em;vertical-align:-0.2935em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.967em;"><span style="top:-2.4065em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span><span style="top:-3.1809em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight"></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.2935em;"><span></span></span></span></span></span></span></span></span></span> for <strong>Note Privacy (OOB)</strong> which was not acceptable).</p>
<p>By contrast, several designs involving <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> (including the chosen design) have weaker
assumptions for <strong>Faerie Resistance</strong> (only relying on <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DL</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>), and
<strong>Spend Unlinkability</strong> does not require <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">PRF</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> to hold: they can fall back
on the same <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">DDH</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.05764em;">E</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> assumption as the <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span></span> designs (along with an additional
assumption about the output of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.13889em;">F</span></span></span></span> which is easily satisfied).</p>
<h3 id="use-of-ψ"><a class="header" href="#use-of-ψ">Use of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span></a></h3>
<p>Most of the designs include either a multiplicative blinding term <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord mathnormal" style="margin-right:0.02778em;">θ</span><span class="mclose">]</span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span></span>, or an
additive blinding term <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathsf" style="margin-right:0.06944em;">rnf</span></span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.07382em;">I</span></span></span></span>, in order to achieve perfect
<strong>Note Privacy (OOB)</strong> (to an adversary who does not know the note). The chosen design is
effectively using <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mclose">]</span><span class="mord mathcal" style="margin-right:0.0593em;">G</span></span></span></span> for this purpose; a DL-breaking adversary only
learns <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span><span class="mspace allowbreak"></span><span class="mspace" style="margin-right:0.4444em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.3333em;"></span><span class="mord mathnormal">p</span><span class="mclose">)</span></span></span></span>. This reduces <strong>Note Privacy (OOB)</strong> from
perfect to statistical, but given that <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span> is from a distribution statistically close
to uniform on <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">q</span><span class="mclose">)</span></span></span></span>, this is statistically close to better than <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"></span><span class="mord mtight">128</span></span></span></span></span></span></span></span></span></span></span></span>. The benefit
is that it does not require an additional scalar multiplication, making it more efficient
inside the circuit.</p>
<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span>'s derivation has two motivations:</p>
<ul>
<li>Deriving from a random value <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">rseed</span></span></span></span></span> enables multiple derived values to be
conveyed to the recipient within an action (such as the ephemeral secret <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">esk</span></span></span></span></span>,
per <a href="https://zips.z.cash/zip-0212">ZIP 212</a>), while keeping the note plaintext short.</li>
<li>Mixing <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> into the derivation ensures that the sender can't repeat <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span> across two
notes, which could have enabled spend linkability attacks in some designs.</li>
</ul>
<p>The note that is committed to, and which the circuit takes as input, only includes <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span>
(i.e. the circuit does not check the derivation from <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">rseed</span></span></span></span></span>). However, an
adversarial sender is still constrained by this derivation, because the recipient
recomputes <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span> during note decryption. If an action were created using an arbitrary
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span> (for which the adversary did not have a corresponding <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">rseed</span></span></span></span></span>), the
recipient would derive a note commitment that did not match the action's commitment field,
and reject it (as in Sapling).</p>
<h3 id="use-of-cm"><a class="header" href="#use-of-cm">Use of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span></span></a></h3>
<p>The nullifier commits to the note value via <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span></span> for two reasons:</p>
<ul>
<li>It domain-separates nullifiers for zero-valued notes from other notes. This is necessary
because we do not require zero-valued notes to exist in the commitment tree.</li>
<li>Designs that bind the nullifier to <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)</span></span></span></span> require <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> to
achieve <strong>Faerie Resistance</strong> (and similarly where <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathit">Hash</span></span></span></span></span> is applied to a value
derived from <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.08125em;">H</span></span></span></span>). Adding <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span></span> to the nullifier avoids this assumption: all of
the bases used to derive <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span></span> are fixed and independent of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7805em;vertical-align:-0.0972em;"></span><span class="mord mathcal" style="margin-right:0.0593em;">G</span></span></span></span>, and so
the nullifier can be viewed as a Pedersen hash where the input includes <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">ρ</span></span></span></span> directly.</li>
</ul>
<p>The <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9223em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Commit</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9223em;"><span style="top:-3.1362em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight" style="margin-right:0.06944em;">nf</span></span></span></span></span></span></span></span></span></span></span></span></span> variants were considered to avoid directly depending on
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span></span> (which in its native type is a base field element, not a group element). We
decided instead to follow Sapling by defining an intermediate representation of
<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span></span> as a group element, that is only used in nullifier computation. The circuit
already needs to compute <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4444em;"></span><span class="mord"><span class="mord mathsf">cm</span></span></span></span></span>, so this improves performance by removing an
additional commitment calculation from the circuit.</p>
<p>We also considered variants that used a choice of fixed bases <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathcal" style="margin-right:0.0593em;">G</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0593em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.03588em;">v</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> to provide
domain separation for zero-valued notes. The most performant design (similar to the chosen
design) does not achieve <strong>Faerie Resistance</strong> for an adversary that knows the recipient's
full viewing key (<span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">ψ</span></span></span></span> could be brute-forced to cancel out <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathsf mtight">nk</span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">ρ</span><span class="mclose">)</span></span></span></span>,
causing a collision), and the other variants require assuming <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord"><span class="mord mathit">Coll</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.13889em;">F</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> as
mentioned above.</p>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="../design/commitment-tree.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next prefetch" href="../design/signatures.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="../design/commitment-tree.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next prefetch" href="../design/signatures.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
</div>
<script>
window.playground_copyable = true;
</script>
<script src="../elasticlunr.min.js"></script>
<script src="../mark.min.js"></script>
<script src="../searcher.js"></script>
<script src="../clipboard.min.js"></script>
<script src="../highlight.js"></script>
<script src="../book.js"></script>
<!-- Custom JS scripts -->
</div>
</body>
</html>