Skip to content

Instantly share code, notes, and snippets.

@KtorZ
Forked from bwbush/rollback-length.ipynb
Created November 27, 2024 15:11
Show Gist options
  • Save KtorZ/a59191d51763b0261c0dd58f7f10cc61 to your computer and use it in GitHub Desktop.
Save KtorZ/a59191d51763b0261c0dd58f7f10cc61 to your computer and use it in GitHub Desktop.
Rollback length analysis (approximate)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "96d10022-ddda-4b5b-bafc-f2389e876a88",
"metadata": {},
"source": [
"# Distribution of length of adversarial forks\n",
"\n",
"We want to know the probability distribution of the number of blocks in a rollback if an adversary builds a private chain."
]
},
{
"cell_type": "markdown",
"id": "3666748e-59eb-4285-aa8e-afad3b483808",
"metadata": {
"tags": []
},
"source": [
"## Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "601ea5d6-c173-404e-8d03-9e29a69b6ab5",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Loading required package: data.table\n",
"\n",
"Loading required package: ggplot2\n",
"\n",
"Loading required package: magrittr\n",
"\n"
]
}
],
"source": [
"require(data.table)\n",
"require(ggplot2)\n",
"require(magrittr)"
]
},
{
"cell_type": "markdown",
"id": "8ed0b9a2-dcda-478e-a740-5fb51ecb4013",
"metadata": {},
"source": [
"## Analyses where parties never simultaneously forge a block\n",
"\n",
"For now, assume that honest and adversarial parties never forge a block at the same them. Let `p` be the probability of an honest block and `q = 1 - p` be the probability of an adversarial block.\n",
"\n",
"Consider the case where the honest party has forged `m` blocks. The [negative binomial distribution](https://en.wikipedia.org/wiki/Negative_binomial_distribution) models the number of blocks `n` the adversarial party has forged during that time.\n",
"\n",
"We're interested in knowing the probability distribution for `n` given that the adversarial fork is long, i.e., `n > m`. This is just the sum over `m`.\n",
"\n",
"$$\n",
"P(n | n > m) = \\sum_{m=0}^{n-1} \\text{dnbinom}(n, m, p)\n",
"$$\n",
"\n",
"where $\\text{dnbinom}(n, m, p)$ is the probability of `n` failures given `m` successes and a probability `p` of success. This is R's probability density function for the negative binomial.\n",
"\n",
"We can use the properties of the negative binomial distribution to evaluate the sum and rewrite the equation in terms of the cumulative probability function $\\text{pnbinom}(n, m, p)$.\n",
"\n",
"$$\n",
"P(n | n > m) = \\frac{p}{q} \\cdot \\text{pnbinom}(n - 2, n + 1, q)\n",
"$$\n",
"\n",
"We can verify this in R."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "092cf700-ff3f-436c-be33-cc8ae64628b7",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"prob0 <- function(p, n)\n",
" dnbinom(n, 0:(n-1), p) %>% sum\n",
"\n",
"prob1 <- function(p, n)\n",
" p / (1 - p) * pnbinom(n - 2, n + 1, 1 - p)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "2dea749b-c16b-40c3-8f6c-ef6157c03b67",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"dataframe\">\n",
"<caption>A data.table: 12 x 5</caption>\n",
"<thead>\n",
"\t<tr><th scope=col>p</th><th scope=col>n</th><th scope=col>prob0</th><th scope=col>prob1</th><th scope=col>difference</th></tr>\n",
"\t<tr><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th></tr>\n",
"</thead>\n",
"<tbody>\n",
"\t<tr><td>0.1</td><td>10</td><td>0.1111071</td><td>0.1111071</td><td> 1.387779e-17</td></tr>\n",
"\t<tr><td>0.1</td><td>20</td><td>0.1111111</td><td>0.1111111</td><td> 0.000000e+00</td></tr>\n",
"\t<tr><td>0.1</td><td>30</td><td>0.1111111</td><td>0.1111111</td><td>-1.387779e-17</td></tr>\n",
"\t<tr><td>0.2</td><td>10</td><td>0.2483356</td><td>0.2483356</td><td> 0.000000e+00</td></tr>\n",
"\t<tr><td>0.2</td><td>20</td><td>0.2499862</td><td>0.2499862</td><td> 2.775558e-17</td></tr>\n",
"\t<tr><td>0.2</td><td>30</td><td>0.2499999</td><td>0.2499999</td><td> 0.000000e+00</td></tr>\n",
"\t<tr><td>0.3</td><td>10</td><td>0.3926078</td><td>0.3926078</td><td>-1.110223e-16</td></tr>\n",
"\t<tr><td>0.3</td><td>20</td><td>0.4239734</td><td>0.4239734</td><td>-1.665335e-16</td></tr>\n",
"\t<tr><td>0.3</td><td>30</td><td>0.4279058</td><td>0.4279058</td><td>-5.551115e-17</td></tr>\n",
"\t<tr><td>0.4</td><td>10</td><td>0.4449874</td><td>0.4449874</td><td> 2.220446e-16</td></tr>\n",
"\t<tr><td>0.4</td><td>20</td><td>0.5524491</td><td>0.5524491</td><td>-3.330669e-16</td></tr>\n",
"\t<tr><td>0.4</td><td>30</td><td>0.6018458</td><td>0.6018458</td><td>-1.110223e-16</td></tr>\n",
"</tbody>\n",
"</table>\n"
],
"text/latex": [
"A data.table: 12 x 5\n",
"\\begin{tabular}{lllll}\n",
" p & n & prob0 & prob1 & difference\\\\\n",
" <dbl> & <dbl> & <dbl> & <dbl> & <dbl>\\\\\n",
"\\hline\n",
"\t 0.1 & 10 & 0.1111071 & 0.1111071 & 1.387779e-17\\\\\n",
"\t 0.1 & 20 & 0.1111111 & 0.1111111 & 0.000000e+00\\\\\n",
"\t 0.1 & 30 & 0.1111111 & 0.1111111 & -1.387779e-17\\\\\n",
"\t 0.2 & 10 & 0.2483356 & 0.2483356 & 0.000000e+00\\\\\n",
"\t 0.2 & 20 & 0.2499862 & 0.2499862 & 2.775558e-17\\\\\n",
"\t 0.2 & 30 & 0.2499999 & 0.2499999 & 0.000000e+00\\\\\n",
"\t 0.3 & 10 & 0.3926078 & 0.3926078 & -1.110223e-16\\\\\n",
"\t 0.3 & 20 & 0.4239734 & 0.4239734 & -1.665335e-16\\\\\n",
"\t 0.3 & 30 & 0.4279058 & 0.4279058 & -5.551115e-17\\\\\n",
"\t 0.4 & 10 & 0.4449874 & 0.4449874 & 2.220446e-16\\\\\n",
"\t 0.4 & 20 & 0.5524491 & 0.5524491 & -3.330669e-16\\\\\n",
"\t 0.4 & 30 & 0.6018458 & 0.6018458 & -1.110223e-16\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.table: 12 x 5\n",
"\n",
"| p &lt;dbl&gt; | n &lt;dbl&gt; | prob0 &lt;dbl&gt; | prob1 &lt;dbl&gt; | difference &lt;dbl&gt; |\n",
"|---|---|---|---|---|\n",
"| 0.1 | 10 | 0.1111071 | 0.1111071 | 1.387779e-17 |\n",
"| 0.1 | 20 | 0.1111111 | 0.1111111 | 0.000000e+00 |\n",
"| 0.1 | 30 | 0.1111111 | 0.1111111 | -1.387779e-17 |\n",
"| 0.2 | 10 | 0.2483356 | 0.2483356 | 0.000000e+00 |\n",
"| 0.2 | 20 | 0.2499862 | 0.2499862 | 2.775558e-17 |\n",
"| 0.2 | 30 | 0.2499999 | 0.2499999 | 0.000000e+00 |\n",
"| 0.3 | 10 | 0.3926078 | 0.3926078 | -1.110223e-16 |\n",
"| 0.3 | 20 | 0.4239734 | 0.4239734 | -1.665335e-16 |\n",
"| 0.3 | 30 | 0.4279058 | 0.4279058 | -5.551115e-17 |\n",
"| 0.4 | 10 | 0.4449874 | 0.4449874 | 2.220446e-16 |\n",
"| 0.4 | 20 | 0.5524491 | 0.5524491 | -3.330669e-16 |\n",
"| 0.4 | 30 | 0.6018458 | 0.6018458 | -1.110223e-16 |\n",
"\n"
],
"text/plain": [
" p n prob0 prob1 difference \n",
"1 0.1 10 0.1111071 0.1111071 1.387779e-17\n",
"2 0.1 20 0.1111111 0.1111111 0.000000e+00\n",
"3 0.1 30 0.1111111 0.1111111 -1.387779e-17\n",
"4 0.2 10 0.2483356 0.2483356 0.000000e+00\n",
"5 0.2 20 0.2499862 0.2499862 2.775558e-17\n",
"6 0.2 30 0.2499999 0.2499999 0.000000e+00\n",
"7 0.3 10 0.3926078 0.3926078 -1.110223e-16\n",
"8 0.3 20 0.4239734 0.4239734 -1.665335e-16\n",
"9 0.3 30 0.4279058 0.4279058 -5.551115e-17\n",
"10 0.4 10 0.4449874 0.4449874 2.220446e-16\n",
"11 0.4 20 0.5524491 0.5524491 -3.330669e-16\n",
"12 0.4 30 0.6018458 0.6018458 -1.110223e-16"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"CJ(p=1:4/10, n=1:3*10)[, .(\n",
" p,\n",
" n, \n",
" prob0=mapply(prob0, p, n), \n",
" prob1=mapply(prob1, p, n), \n",
" difference=mapply(prob0, p, n) - mapply(prob1, p, n)\n",
")]"
]
},
{
"cell_type": "markdown",
"id": "1f4961a6-9f8d-4f96-b0e6-42071cd5d71e",
"metadata": {},
"source": [
"## Correction for simulaneous forging of blocks\n",
"\n",
"However, both the honest party and the adversary might forge a block at the same time. We can correct for this *approximately*. (Later we'll see if there is a simple closed-form formula for this situation, but an approximation is good enough for now.)\n",
"\n",
"Let $f$ be the active slot coefficient, $\\alpha$ be the fraction of honest stake, and $\\beta = 1 - \\alpha$ be the fraction of adversarial stake.\n",
"- $p^\\prime = 1 - (1 - f)^\\alpha$ is the probability of an honest block in a slot.\n",
"- $q^\\prime = 1 - (1 - f)^\\beta$ is the probability of an adversarial block in a slot.\n",
"- $p^\\prime \\cdot q^\\prime$ is the probability of both in a slot.\n",
"\n",
"For the next block, we have\n",
"- The probability of only an honest block is $p^\\prime (1 - q^\\prime) / (p^\\prime + q^\\prime - p^\\prime q^\\prime)$.\n",
"- The probability of only an adversarial block is $(1 - p^\\prime) q^\\prime / (p^\\prime + q^\\prime - p^\\prime q^\\prime)$.\n",
"- The probability of both an honest block and an adversarial block is $p^\\prime q^\\prime / (p^\\prime + q^\\prime - p^\\prime q^\\prime)$.\n",
"\n",
"For the approximation, we consider the first two cases above and correct for the third case.\n",
"- $p = p^\\prime (1 - q^\\prime) / (p^\\prime + q^\\prime - 2 p^\\prime q^\\prime)$\n",
"- $q = (1 - p^\\prime) q^\\prime / (p^\\prime + q^\\prime - 2 p^\\prime q^\\prime)$\n",
"\n",
"If we see $n$ adversarial blocks in the analysis without simultaneous honest and adversarial blocks, then we expect $n p^\\prime / (1 - p^\\prime)$ additional blocks would be obseved if the simultaneity were included."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fb3203d4-1fdf-468a-9174-5d4b39578afd",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"prob2 <- function(f, alpha, n) {\n",
" beta <- 1 - alpha\n",
" p1 <- 1 - (1 - f)^alpha\n",
" q1 <- 1 - (1 - f)^beta\n",
" p = p1 * (1 - q1) / (p1 + q1 - 2 * p1 * q1)\n",
" n1 <- n / (1 + p1 / (1 - p1))\n",
" prob1(p, n1)\n",
"}"
]
},
{
"cell_type": "markdown",
"id": "32e977f0-19f9-4ef2-b0ec-fce52ab36b32",
"metadata": {},
"source": [
"## Numerical results"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "42e5b9ef-5fe1-40d0-92db-2a315c8b1acc",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"probs <- CJ(`Active slot coefficient`=0.05, `Adversarial Stake %`=1:1000*0.050, `Blocks rolled back`=5:250)[, .(\n",
" `Adversarial Stake %`,\n",
" `Blocks rolled back`,\n",
" `Probability`=mapply(prob2, `Active slot coefficient`, 1 - `Adversarial Stake %` / 100, `Blocks rolled back`)\n",
")]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "5efe81dd-29fb-49a1-a6e6-962b19409bbd",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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\nOC+jAPuH6O3tDQwMtH8cABCuXmDnfZUTNqA7MZzp4MGDa9assXzN/v37GxoaLl68GB0dLYTY\nvn17YmJiVVXVsmXLpDzitttu+8UvfmH8fPXq1SVLloSHh8+fP9/aUO0MwzmkztgdOXJk0PMf\nffSRafoUAADAKhcuXBhYNjGopqYmnU43YsQIpVKpVCqDgoLOnTvX1tZWVVXl962WlhbLgxgM\nhq1btyYnJ3/11Vf79u2LiYmxNlRZwnA0qTN206ZN271796RJk0xnzpw589RTT73//vs2/NMA\ngFVkXGDnOPaXxPIeFhhUZGRkTEzMzXUMOp1Oo9EYP4eHh1sY4euvv54/f/7Zs2fXrVv3gx/8\nQKGwZSma/WE4gdS/2NixY2fMmNHQ0CCE6O3tfeWVV7773e/+6U9/Wrly5cmTJx0ZIQDIydf2\nnKCJHdxcXFzckB3sUlJS2tvbGxsbjYdqtTonJ+fEiRNKpTLyWxZyNYPB8OCDDw4bNuz48eML\nFy60LauzPwznkDpjV1dXN3fu3FmzZr344ov//d//ffr06YkTJxYXF0+cOFH6w/R6/ZIlS/77\nv//blM9WVlZu3brVdIG/v//OnTuFEH19feXl5Z9++qler580adLKlSuVSvnXQQNwN3ItsHPP\nygm5SmLpdQJvkp6efvz4ccvXJCUl5ebmLly4sKioKCAg4NVXX/3yyy+TkpIkPuIvf/nL4cOH\nn3rqqU8//dR08q677ho9enRZWdmVK1d+/OMfSxnHzjCcQ2piFx4evnv37pycnLVr18bExLz1\n1luPPfaY9LS0r6/v3LlzlZWV3d3/9H3U1taWnp4+d+5c46Gf3zfLlktKSj799NMnn3zS399/\n8+bNmzZteuqppyQ+CwBsQ+WEndhPDDaYOXPm+vXrh7xs27ZtzzzzzOLFi3t6ejIzM3fv3h0Q\nIDWH+eyzzwwGw6OPPjrw5KZNm3784x9XVFSo1WqJiZ2dYTiHn8FgkH51b2/vggUL9u7du3v3\n7oyMDOk3vvfee9XV1TqdrrOzs6KiwjRj9+///u9Tpkx56KGHBl587dq1JUuW/PSnP73vvvuE\nEIcPH/7lL39ZVlYWGRk56OAybkISFBQUFhY2Q5En14AArGJuxs7aNXYWZuwsvIq1nNgNOWNn\neY2dlOk6iWvsrJqxs+FVrM1VsXIldimqC7KMY1my0qkLNBVxJzUajV4vWyPDIQsObNDd3f2v\n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\nZOKG5jVpcT1yKA7rtqfddrtoj7YjTkerdTlcVDp1VnIzHt6ghz4WtfVCVnIbK9NFQt0BBwbC\nucD8/vjWxCIM35n53uf1/IuZvnznfVzlvHi/P5/Pt3rNmjVDL+vo6FCr1RER3663UKvVBoOh\no6Nj1qxZLpfrN7/5zaZNm7755ptNmzYNDg760SoLsAxCSHV19T333JOUlEQI0el0TU1NvtYw\nJrrB7uDBg4x/NgBIBmdz2AAxtcCO8Z0Twt82wQY8TwwIIVevXh1zM2xLS4vT6Rw//vufMy6X\nq729vbq6esmSJdQ7ra2tbrdbJhu+GMPlcsXHx//lL3/5xS9+8corr4SEhBQXFxsMBj924AZY\nRl9f3+zZs+fPn79p0yaFQmEymebMmfPRRx9RMZEpPhx3AgDAOyywAwhCer0+MjLy1n0MTqfT\narVSX4eHh3d2dtrtdpvNFh4eTghxuVxWqzU2NpYQsmDBgra2to6OjqioKJfL9fLLL8fFxXFc\nxsGDBy9duvTxxx8rlUpCyFtvvRUXF7d///5Vq1b5WokXOK8EAHgg2DksLwvs8HxYCGYxMTEW\ni8X7NcnJyV1dXZ5VcRaLxWg0Njc3q1Qq/XfkcnlKSopWqz169Ch12fHjxxUKxZQpU65fv56b\nm9va2jpx4kS1Wv3Xv/41Ojr6Jz/5ia+lBliGw+EYHBz0bEIdHBwcGBjwnITCFHTsACBQYpnD\nQoBwiB2wIS0tbcylZomJiYsXL162bJnJZFIqlZs3b7548WJiYuKwy3Q63dq1a4uLi+Pi4uRy\neWFhYW5uLrU9oLW1dd26dS+++GJnZ2dBQcGmTZvUajUhpKKioq+vb8OGDXRKDbCM+fPn6/X6\nxx9/fNOmTTKZ7PXXXx8YGMjOzqb7J0UPOnYAIBre57BjEuwCO4BglpGRUV9fP+Zlu3fvnj59\n+sqVK7Ozs0NCQg4dOkQNNIcpKSnJzMw0Go1ZWVnp6ek7d+6k3t+3b194ePgjjzzywgsvPPfc\nc8XFxdT7VVVVpaWl9KsNpIzIyEiqjbdo0aLMzEyr1Xr06NGYmBj6n06HTALPrRuzhUsf9Uix\nufIcpm4IEAx87dh5mcMSr6PYABfY0Ql2dEax9IMdzTV23IxiA98Sy3jHjvvNE0kqb3/3WCWP\nuWC1WgX+SDGbzXZv2U4Gb/jp2qcIIdRSs9E4HI74+Pi6urrk5GQGP5q+1atXV1RU8PLRHmaz\n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\nswGCE9p13uFcYgZhSywAj6TwExkAKF7msF5Isl3HHr/bdVhgBwAcwCgWACRIevthscAOuLGh\n+WkG77ZjcgmDdwM6EOwAJMK/bRMBtusYOeWEXxjCSpLQnicGwBmMYgGAZzxum+DgiBOKoOaw\n2DkBIGEIdgBSgFNO/IBeHQBIj7h/LgNAILBtQiywwA4AaEKwAxA9tOuGojmH9aNdJ405LNtw\n1gkAvwT6oxkA2Caidh0wCAvsAKQNu2IBxC0Y2nU057DSO+IEAMBX6NgBBCMhtOuY5VOqE9cc\nFgvsQPIcDkdqaqrFYuG7EH7k5OTIZDKZTNbd3R343RDsAERM1O06BrdNoFcHIGpbt25NTU2N\njo72vONwOKKjozs7O329lcvlKioqSkhIiI2Nzc/Pt9u//S3ulVdekQ2hUtH69ZXxMjzq6+sV\nCgV158rKytOnT/v6EaPBKBYg6EivXecTnHICIChOp9NkMtXW1npems3mLVu2+BGnCCFFRUXV\n1dVvvfWWSqVav359Xl7erl27CCFmszkrK2vjxo3UZTLZGD+mWCqD0t3dvWLFisHBb39r1Wq1\nOp3Oj08ZETp2AGIVDO06Ojho1/k9hw0cs3NYtndOYEss+KGmpmbSpEkpKSnUy23btmVmZtbV\n1Q27rLu7Oz8/Pz4+Xq/XZ2dnt7eP8JfZZrOVlZWVlJQsXLhw3rx5O3bseOedd65fv04IMZvN\nc+fOnfedjIwM71WxVAZl/fr148f782hvOhDsAIIL2+06Bjl1g2I/vi6oDjoB8M+RI0dmzJjh\neVlcXNzW1nbgwIFhlxmNxtbW1l27dtXW1oaGhmZmZvb09Ay7prGxsbe3d+7cudTL2bNnu1yu\nc+fOEULMZnNdXV1cXFxkZOTChQsvXLjgvSqWyiCE7Nmz5+zZs3/84x+9F+A3BDsAUeKlXUcH\nU6ecsBTpMIcFEJozZ84kJyd7v+bUqVMnTpzYt2/fzJkzp02btmfPnhs3blRXVw+7rKOjQ61W\nR0R8+yNGrVYbDIaOjg6LxdLV1SWXy99+++29e/f29fXNmjXr1kA2pgDLIIR89dVXhYWFVVVV\nYWFhvn46TQh2AOLjJdV5F2C7jrNTTth4LKzfeJzDAgSDq1evDt02MaKWlhan0zl+/HiVSqVS\nqTQazZUrV9rb26urqz37Icxms9vtvnXxnMvlioiIuHLlyr59+x5++OFZs2bt27evq6urpqbG\n11IDLGNgYGDFihVPP/301KlTff1o+rB5AkBSJNCuE/v41UNoB53gaGIQL71eHxkZees+BqfT\nabVaqa/Dw8M7OzvtdrvNZgsPDyeEuFwuq9UaGxurVCpjY2M93xUREZGQkNDW1sZxGSaTyWKx\nGI1Gs9l86dIlQsjnn3/udDpjYmJ8rcQLdOwARMbvIawQ2nXMPmrC13Ydl8fXAQBNMTExY55g\nl5yc3NXV1djYSL2k4lFzc7NKpdJ/Ry6Xp6SkaLXao0ePUpcdP35coVBMmTKlpqbmxz/+sSeQ\n9fb2trW1JSUl+VpqgGV8/vnnZrM5JSUlKSlpyZIlhJD09PRnn33W1zK8Q7ADAGaM2a7DA8QA\n4FZpaWlNTU3er0lMTFy8ePGyZcuOHj1aX1+/YsWKlpaWxMTEYZfpdLq1a9cWFxd//PHHn3zy\nSWFhYW5u7sSJE2fOnNnZ2bl8+fLa2trjx4/n5OTceeedCxYsIIRUVFTs2LGDZqkBlvHmm2+6\nv3P27FlCiMViKS8vp/npNCHYAYiJqNt1dLA3h+V420QQ7ocVzlknSSpvf9tBaDIyMurr68e8\nbPfu3dOnT1+5cmV2dnZISMihQ4eUyhGWk5WUlGRmZhqNxqysrPT09J07dxJCwsPDDx8+PDg4\nuGTJkqVLl9522221tbXUGcVVVVWlpaX0qw2kDG7I3G43Zx/GEgYfQqLRaMLCwubKc5i6IQCz\n/At23lMdYSLYMdWuY2/bBMdz2CBcYIdg55085oLVanW5GNvuM+aGAz/YbLYNzU8zeMMdk0sI\nIdRSs9E4HI74+Pi6urox98ayZPXq1RUVFbx8tIfZbE5KSrJarXq9PsBboWMHIBosHXHCQbuO\n8VQHAJKhVqsLCgpMJhMvn15eXj70FD0JwK5YAIkbs10XIF6W1nHQrgtEEM5hAQJRVFSUnp5u\nsVjYaEN6l5ubq9FoOP7QYXJycvbu3cvU3dCxAxAHYbbrGHwsrNDadfzuh2V2DgsgcGq1uqGh\ngftURwjhPdURQiorK61WKyNzWIKOHYC0BdiuCzzVBWG7DgDAJ1qtlsG7oWMHIAK8tOs469UR\nabXrBDiHDaqdEwBBDsEOQLICadcJ8Dhi/4ixXYc5LAD4DaNYAKHjvl3H2al1FJ/adRw8HBYg\nmFEHlIB4IdgBCJqXVOedl3ZdIBPYb+/A0+o6bkhsDgsAQQWjWACx8q9dN+Y22LHvwOjqOp9g\n24QfOFhgBwDCgY4dgHAx/gAx4Tw6zENo2yYCwUi7TowL7LBzQkq2XV7O4N0K46sYvBvQgWAH\nICm8H0dMEe8pJ/weXwcAECCMYgEEyo92Haun1rFBSu06AAAhQLADEBm/d8JytrpOCO06//C+\nbYLxOSwW2AEEGwQ7ACEarV3nJdV5b9dxtrqOfqpjtV2HbRNBK0nF7moEAIGTwhq7sLAwpm6l\nUCiYuhWA3xhPdYwQ0WZYAGEaN26c2+3muwqQOCkEO6fTyeDdVKpAx1UAgfAj1Y0J7To6pDeH\n5Qa2xNLncrkGBxn7my+Ep9eDAEkh2NntjM1cZDLeehIAxN/jiDkYwqJdJ0ZYYCc0TqfT5WLs\n73N4eDhTt+Kdw+FIT08/fPhwdHQ037XwICcnZ+/evYQQq9Wq1+sDvBvW2AEIBUuPDuNM0Lbr\nACBAW7duTU1NHZrqHA5HdHR0Z2enr7dyuVxFRUUJCQmxsbH5+fm3tn7q6+sVCgXNOzNeRmtr\n64IFCyIjI8ePH7906dK2tjZCSGVl5enTp339iNEg2AEIAuNnEVPE3q4ThWCewwIEzul0mkym\ngoICz8vGxsY1a9b4EacIIUVFRe++++727dvLysqOHDmSl5c39L92d3evWLGCzkCcjTLsdntW\nVpZCoXj77bdLS0u/+OKLxx57jBCi1Wp1Op0fnzIiBDsA/rHxQFiOsdSuwzPE/IY5LIhFTU3N\npEmTUlJSqJfbtm3LzMysq6sbdll3d3d+fn58fLxer8/Ozm5vH+FvuM1mKysrKykpWbhw4bx5\n83bs2PHOO+9cv/79b03r168fP57Wz1s2yvjkk08uXry4a9eu+fPnZ2dnP//882fOnOnt7aVT\nD30IdgCCxvueiWBo1/G+bUK8sHMCAnfkyJEZM2Z4XhYXF7e1tR04cGDYZUajsbW1ddeuXbW1\ntaGhoZmZmT09PcOuaWxs7O3tnTt3LvVy9uzZLpfr3Llz1Ms9e/acPXv2j3/8I52q2CgjLS2t\nt7fXYDAMDAx0dHQcPnx46tSpDJ7sQZHC5gkAUWNpCMsltOsChDksU3CInRidOXOmsLDQ+zWn\nTp06ceLEtWvXDAYDIWTPnj0JCQnV1dVr1qwZellHR4darY6I+PZHklqtNhgMHR0dhJCvvvqq\nsLDw4MGDcrn/La0Ay1AoFKGhoYSQn/70p8ePHzcYDCdOnPC7mNGgYwcgTWjX0YRtE5KBVCdS\n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\nBDGE/sEAw0gkklmzZl29epUWb926FRgY2NjYOLCzel8cP348MjJy9uzZ/v7+dJd/BiFVU319\nvb+///3792mxs7MzLCysoKAAYVRdWVmZv7+/WCymxevXr/v7+7e2tiKGvbNt27aVK1cqPtQI\no1qEQuHp06e7VCKG0D9wjx0hhFRVVbW1tTk5OdGio6OjXC6vqKgY2Fm9L2bMmJGRkREfH69c\niZCqRS6Xh4aG2tjY0GJnZ2d7e7tcLkcYVWdjY5Obm6unpyeXyxsaGm7fvm1razt48GDEsBd+\n/fXXx48fR0ZGKmoQRrXU1NQUFxdHRkaGhYVt3LixpqaGIIbQX3CPHSGENDQ0aGtrc7lcWtTW\n1tbT02toaBjYWb3XEFK1mJiYhIaG0tdSqfTbb78dMmSIu7v73bt3EUYVaWlpDR48mBASFxd3\n//59PT29LVu2EPwoqu/FixdpaWkikYjFYikqEUbVNTc3i8ViFou1evVqmUyWk5Ozfv36lJQU\nxBD6BxI7QghhGEb5VxiFb2t+FwhpLzAMc/HixYMHDwoEgsTERB6PhzD2wrp169ra2s6fP792\n7dq0tDTEUC1yuTw5OTkgIMDW1vbx48eKeoRRdVwuNzMz09DQkEbM2to6IiLi5s2bOjo6iCH0\nA1yKJYQQQ0PDjo6O1tZWWpTJZG/evDEyMhrYWb3XEFJ1NTU1rV+//vDhwxEREUlJSRYWFgRh\nVEdVVdXt27cJITwez8TE5IsvvpBKpaWlpYihWk6fPt3c3Pzpp5/W1NTU1dURQp49e9bQ0IAw\nqo7NZhsZGSlyOC6Xa2pqWl9fjxhC/0BiRwghw4cP19XVLS0tpcX79+9raWnhazrfBUKqFoZh\nEhISeDxeSkqKh4eH4k8Cwqi6ysrK7du3K9Y/JBJJe3u7trY2YqiW58+f19TULFmyJCYmZvPm\nzYQQoVCYlZWFMKru5s2bS5cuFYvFtNjW1vby5UsLCwvEEPoHLsUSQgiHw/H29s7MzKT/zUpP\nT/fw8DAwMBjoeb3HEFK1lJSUVFRUBAQEPHjwQFFpbm5ubGyMMKpozJgxaWlpu3bt8vPz6+jo\nOHLkiJmZmYODg66uLmKoupiYmJiYGPr68ePHK1euVGx3gjCqaOTIkWKxOCkpKTAwcNCgQbm5\nuaampi4uLmw2GzGEfoB97P4ik8kyMjKKiorkcrmrq2tUVBT2jVRLl78BBCFVx8mTJzMyMrpU\n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",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"ggplot(probs, aes(x=`Adversarial Stake %`, y=`Blocks rolled back`, z=`Probability`)) +\n",
" geom_contour_filled(breaks=c(0,10^(-(16:0))))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "r-minimal kernel",
"language": "r",
"name": "r-minimal"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "4.2.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment