mirror of
https://github.com/logos-storage/logos-storage-research.git
synced 2026-01-03 14:03:08 +00:00
519 lines
187 KiB
Plaintext
519 lines
187 KiB
Plaintext
{
|
|
"nbformat": 4,
|
|
"nbformat_minor": 0,
|
|
"metadata": {
|
|
"colab": {
|
|
"provenance": []
|
|
},
|
|
"kernelspec": {
|
|
"name": "python3",
|
|
"display_name": "Python 3"
|
|
},
|
|
"language_info": {
|
|
"name": "python"
|
|
}
|
|
},
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"# Verification frequency calculation\n",
|
|
"\n",
|
|
"This code shows how we can compute the minimum horizontal and vertical verification frequency in order to achieve a certain level of guarantee computed in number of nines (e.g., 99.9999999%)\n"
|
|
],
|
|
"metadata": {
|
|
"id": "IAw0wWuN-1Yh"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"import random as random\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"#@markdown Durability guarantee (three 9s (99.9%) to nine 9s (99.9999999%))\n",
|
|
"Durability = 9 #@param {type:\"slider\", min:3, max:9, step:3}\n",
|
|
"#@markdown Erasure Coding parameter K\n",
|
|
"ECK = 60 #@param {type:\"slider\", min:1, max:100, step:1}\n",
|
|
"#@markdown Number of PoR blocks inside an EC block (See model below)\n",
|
|
"NbPoRinEC = 1000 #@param {type:\"slider\", min:100, max:10000, step:100}\n",
|
|
"\n",
|
|
"CheatRatio = [1, 5, 10, 50]\n",
|
|
"GuaranteeDurability = {3:99.90, 6: 99.99990, 9: 99.99999990}\n",
|
|
"ExpectedGuarantee = GuaranteeDurability[Durability]\n",
|
|
"\n",
|
|
"hx = []\n",
|
|
"HorizontalProb = []\n",
|
|
"HorizontalResults = {3:0, 6:0, 9:0}\n",
|
|
"for NbOfHVerif in range(ECK):\n",
|
|
" prob = (1-(((ECK-1)/100)**NbOfHVerif))*100\n",
|
|
" hx.append(NbOfHVerif)\n",
|
|
" HorizontalProb.append(prob)\n",
|
|
" if prob > GuaranteeDurability[3] and HorizontalResults[3] == 0:\n",
|
|
" HorizontalResults[3] = NbOfHVerif\n",
|
|
" if prob > GuaranteeDurability[6] and HorizontalResults[6] == 0:\n",
|
|
" HorizontalResults[6] = NbOfHVerif\n",
|
|
" if prob > GuaranteeDurability[9] and HorizontalResults[9] == 0:\n",
|
|
" HorizontalResults[9] = NbOfHVerif\n",
|
|
" \n",
|
|
"print(\"We need %d horizontal verifications to have %12.12f%% guarantee\" % (HorizontalResults[3], GuaranteeDurability[3]))\n",
|
|
"print(\"We need %d horizontal verifications to have %12.12f%% guarantee\" % (HorizontalResults[6], GuaranteeDurability[6]))\n",
|
|
"print(\"We need %d horizontal verifications to have %12.12f%% guarantee\" % (HorizontalResults[9], GuaranteeDurability[9]))\n",
|
|
" \n",
|
|
"\n",
|
|
"c = 1\n",
|
|
"VerticalResults = {3:0, 6:0, 9:0}\n",
|
|
"vx = range(NbPoRinEC)\n",
|
|
"VerticalProb = []\n",
|
|
"for i in range(len(CheatRatio)):\n",
|
|
" VProb = [0]\n",
|
|
" for NbOfVVerif in range(1, NbPoRinEC):\n",
|
|
" prob = (1-((1-(CheatRatio[i]/100))**NbOfVVerif))*100\n",
|
|
" VProb.append(prob)\n",
|
|
" if i == c:\n",
|
|
" if prob > GuaranteeDurability[3] and VerticalResults[3] == 0:\n",
|
|
" VerticalResults[3] = NbOfVVerif*100/NbPoRinEC\n",
|
|
" #print(\"Probability of detecting catastrophic failures with %d vertical verifications %12.12f%% (Over nine 9s)\" % (NbOfVVerif, prob))\n",
|
|
" #print(\"That is %2.1f%% of the PoR blocks need to be verified\" % (NbOfVVerif*100/NbPoRinEC))\n",
|
|
" if prob > GuaranteeDurability[6] and VerticalResults[6] == 0:\n",
|
|
" VerticalResults[6] = NbOfVVerif*100/NbPoRinEC\n",
|
|
" #print(\"Probability of detecting catastrophic failures with %d vertical verifications %12.12f%% (Over nine 9s)\" % (NbOfVVerif, prob))\n",
|
|
" #print(\"That is %2.1f%% of the PoR blocks need to be verified\" % (NbOfVVerif*100/NbPoRinEC))\n",
|
|
" if prob > GuaranteeDurability[9] and VerticalResults[9] == 0:\n",
|
|
" VerticalResults[9] = NbOfVVerif*100/NbPoRinEC\n",
|
|
" #print(\"Probability of detecting catastrophic failures with %d vertical verifications %12.12f%% (Over nine 9s)\" % (NbOfVVerif, prob))\n",
|
|
" #print(\"That is %2.1f%% of the PoR blocks need to be verified\" % (NbOfVVerif*100/NbPoRinEC))\n",
|
|
" VerticalProb.append(VProb)\n",
|
|
"\n",
|
|
"print(\"For Cheat Ratio : %d\" % CheatRatio[c])\n",
|
|
"print(\"We need %2.1f%% vertical verifications to have %12.12f%% guarantee\" % (VerticalResults[3], GuaranteeDurability[3]))\n",
|
|
"print(\"We need %2.1f%% vertical verifications to have %12.12f%% guarantee\" % (VerticalResults[6], GuaranteeDurability[6]))\n",
|
|
"print(\"We need %2.1f%% vertical verifications to have %12.12f%% guarantee\" % (VerticalResults[9], GuaranteeDurability[9]))\n",
|
|
"\n",
|
|
"\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"plt.grid(axis='x', color='0.9')\n",
|
|
"plt.grid(axis='y', color='0.9')\n",
|
|
"plt.title(\"Number of horizontal verifications to reach %9.9f guarantee on durability\" % ExpectedGuarantee)\n",
|
|
"plt.xlabel(\"Nodes verified from K=%d in the EC\" % ECK)\n",
|
|
"plt.ylabel(\"Guarantee of not having catastrophic failures (%)\")\n",
|
|
"ax.plot(hx, HorizontalProb)\n",
|
|
"#plt.yscale('log')\n",
|
|
"plt.show()\n",
|
|
"plt.clf()\n",
|
|
"\n",
|
|
"color = [\"blue\", \"green\", \"orange\", \"red\"]\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"plt.grid(axis='x', color='0.9')\n",
|
|
"plt.grid(axis='y', color='0.9')\n",
|
|
"plt.title(\"Number of vertical verifications to reach %9.9f guarantee on durability\" % ExpectedGuarantee)\n",
|
|
"plt.xlabel(\"Number of PoR blocks verified out of %d\" % NbPoRinEC)\n",
|
|
"plt.ylabel(\"Guarantee of not having catastrophic failures (%)\")\n",
|
|
"for i in range(len(CheatRatio)):\n",
|
|
" ax.plot(vx, VerticalProb[i], label = CheatRatio[i], color = color[i])\n",
|
|
"#plt.yscale('log')\n",
|
|
"ax.legend()\n",
|
|
"plt.show()\n",
|
|
"\n"
|
|
],
|
|
"metadata": {
|
|
"colab": {
|
|
"base_uri": "https://localhost:8080/",
|
|
"height": 1000
|
|
},
|
|
"id": "Y_CIsSJz_Nek",
|
|
"outputId": "7a352dbc-9ee6-4c3b-db37-79600fe8b1b7"
|
|
},
|
|
"execution_count": null,
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"name": "stdout",
|
|
"text": [
|
|
"We need 14 horizontal verifications to have 99.900000000000% guarantee\n",
|
|
"We need 27 horizontal verifications to have 99.999900000000% guarantee\n",
|
|
"We need 40 horizontal verifications to have 99.999999900000% guarantee\n",
|
|
"For Cheat Ratio : 5\n",
|
|
"We need 13.5% vertical verifications to have 99.900000000000% guarantee\n",
|
|
"We need 27.0% vertical verifications to have 99.999900000000% guarantee\n",
|
|
"We need 40.5% vertical verifications to have 99.999999900000% guarantee\n"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 1080x576 with 1 Axes>"
|
|
],
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
}
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 1080x576 with 0 Axes>"
|
|
]
|
|
},
|
|
"metadata": {}
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 1080x576 with 1 Axes>"
|
|
],
|
|
"image/png": "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G3u95D8LAxstALZx92nZjkekNahmT0RERPJC1GS3l4W+YXX9Ut/KcljSdpwOvKtET9qThkZeEhEREclFOxKauhYRRgQ9xJt+CxPJQ2Y2k5D8H5LlUERalZpxioiIiIiI5CE14xQREREREclDSvZERERERETyUE732SspKfHhw4dnO4z1VFdX06FDTu9aacN0fEncdIxJnHR8SZx0fEnc2uIxNmXKlDJ379fQsrYVaRMNHz6c9957L9thrKesrIySkpJshyF5SseXxE3HmMRJx5fESceXxK0tHmNmNivZMjXjFBERERERyUNK9kRERERERPKQkj0REREREZE8pGRPREREREQkDynZExERERERyUNK9kRERERERPKQkj0REREREZE8pGRPREREREQkDynZExERERERyUNK9kRERERERPKQkj0REREREZE8pGRPREREREQkDynZExERERERyUNK9kRERERERPJQbMmemf3dzBaY2ccJ8/qY2WQzmxZNe0fzzcxuMLOvzOxDM9smrrhERERERETagzhr9u4C9qs373zgJXffGHgp+htgf2Dj6HEqcEuMcYmIiIiIiOS9DnEV7O6vmdnwerMPBnaPnt8NvAL8Lpp/j7s78JaZ9TKzQe4+N6742oTaWlizJjzyjTvga6dNep77Et+G49E8X29ew/M95WvXLFnMqjULU6yf3rZEkilfupSOq3plOwzJUzq+JE46vpogySVBqiuFZMtSXV4kW5btdTIpq2Pnzli3PslXbINiS/aSGJCQwM0DBkTPNwBKE143O5qXX8neV1/B1VfDv/8NM2ZAZWW2I5KYWJLnLWGDFi5PpL6e2Q5A8pqOL4mTji+J08oRBax+Z362w2iS1k72vuPubmZNrmYws1MJTT0ZMmQIZWVlLR5bc1VXV68XV+Enn9DzkEOwykoqd92Vmr33xrt0gU6d8KKiVonLqpZRWDGLgopvKFwzB6sso6CmYr3X1RZ0goJO+HfTIigoAivErQNYAVCIWwFYYfQoYG2r4JDeuNk6f699btGsdZdXey0VVauoqFnNmpo1rK6uYHX1GlbXrKayppKq2iqqaiqpqq1J6/0WmFFYUEghBZgVUGAFFGCYGQVWGE0NI1pmBZgZ4T/A6p6t/b9F7ylx+dp50evr3l7C+7aGUr6kWeD6CxLnOFCQRgq5zjZbOuOU/Obo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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"100 blocks\n",
|
|
"cheat ratio is 50%\n",
|
|
"only storing 50 blocks\n",
|
|
"\n",
|
|
"Probability of you passing the verification for\n",
|
|
"\n",
|
|
"1 block : 0.5\n",
|
|
"2 blocks : 0.5*0.5 = 0.25\n",
|
|
"3 blocks : 0.5*0.5*0.5\n",
|
|
"\n",
|
|
"n blocks : 0.5^n"
|
|
],
|
|
"metadata": {
|
|
"id": "7vid6VP3a_oM"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"# PoR Analysis\n",
|
|
"\n",
|
|
"## Friendly toy scenario\n",
|
|
"\n",
|
|
"Feel free to play with these variables as much as you want in order to simulate any extreme scenario you find interesting to explore."
|
|
],
|
|
"metadata": {
|
|
"id": "Bw-GGBdX6tMm"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"colab": {
|
|
"base_uri": "https://localhost:8080/",
|
|
"height": 1000
|
|
},
|
|
"id": "n-GB9Vsmp4M1",
|
|
"outputId": "5f0f0f7c-964d-4ad3-baa9-c3ed272a3912"
|
|
},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"name": "stdout",
|
|
"text": [
|
|
"\n",
|
|
" *** Network Parameters *** \n",
|
|
"\n",
|
|
"The network has 15400 nodes\n",
|
|
"The average node capacity is 1200 GBs\n",
|
|
"The network has 1206000 files\n",
|
|
"The average file size in the network is 9765 MBs\n",
|
|
"The estimated mean time between failures of the network is 1 hours\n",
|
|
"Malicious nodes cheat the system by NOT storing 5% of the data they should store\n",
|
|
"\n",
|
|
" *** Codex Parameters *** \n",
|
|
"\n",
|
|
"The erasure coding parameter K is 60\n",
|
|
"The erasure coding parameter M is 40\n",
|
|
"The lazy repair parameter L is 20\n",
|
|
"The Proof of Retrievability number of sectors per block is 1000\n",
|
|
"The PoR agregation cost is 1 ms per PoR block\n",
|
|
"Durability in number of nines: 9\n",
|
|
"\n",
|
|
" *** Dataset and block structures *** \n",
|
|
"\n",
|
|
"There are 1206000 files of size 10000000 KB (9765.6 MB)\n",
|
|
"The total storage used in the network is 11231.8 TB and there is 6815.1 TB of available storage for a total of 18046.9 TB\n",
|
|
"There will be 100 EC blocks of size 162.8 MBs per file\n",
|
|
"There is a total of 120600000 EC blocks in the network\n",
|
|
"There is an average of 7831.2 EC blocks per node (assuming an homogeneous distribution)\n",
|
|
"Each EC block has 5505.4 PoR blocks of size 30.3 KB\n",
|
|
"\n",
|
|
" *** Durability guarantees and verification frequency *** \n",
|
|
"\n",
|
|
"We need 14 horizontal verifications to have 99.900000000000% guarantee\n",
|
|
"We need 27 horizontal verifications to have 99.999900000000% guarantee\n",
|
|
"We need 40 horizontal verifications to have 99.999999900000% guarantee\n",
|
|
"For Cheat Ratio : 5\n",
|
|
"We need 2.5% vertical verifications to have 99.900000000000% guarantee\n",
|
|
"We need 4.9% vertical verifications to have 99.999900000000% guarantee\n",
|
|
"We need 7.4% vertical verifications to have 99.999999900000% guarantee\n",
|
|
"\n",
|
|
"Guarantee of data durability is 99.999999900\n",
|
|
"The PoR horizontal verification factor is 40.0\n",
|
|
"The PoR vertical verification factor is 7.4%\n",
|
|
"\n",
|
|
" *** PoR Storage and Time Requirements *** \n",
|
|
"\n",
|
|
"The total storage required for PoR proofs is 1426162.7 MB to check a total of 11231.8TB of data each round\n",
|
|
"To verify 40 EC blocks and 7.4% PoR blocks per file in the system:\n",
|
|
"Each node will spend 2114.4 minutes (35.2 hours) agregating PoR proofs\n",
|
|
"It will take the system 40 hours (1.7 days) to accidentally lose M nodes\n",
|
|
"Lazy repair should be triggered after 20 hours (0.8 days)\n",
|
|
"Assuming PoR verifications are done once per lazy repair round, PoR verification takes 176.2% of the time\n",
|
|
"There are 438.0 PoR verification rounds in a year accumulating 610018.8 GB of storage\n"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 1080x576 with 1 Axes>"
|
|
],
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
}
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 1080x576 with 0 Axes>"
|
|
]
|
|
},
|
|
"metadata": {}
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 1080x576 with 1 Axes>"
|
|
],
|
|
"image/png": "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QEy0Us+eiIiIiEgl5pzjmmuuoX379owdO7bIMj///DPp6emkp6dz4YUX8uSTTzJ06FB27dpFdnY2EEgCFy1aFFzY5bnnnuODDz5g2rRpRfYIFnb//feTkZFBeno606dP58wzz+Tll1+mXr167Nmzh++//x6AefPm0b59e+rUqUNmZmYwrl69egUTvZ9//pnc3Fwg0PO4du3aAnPzpk2bdtgQzi1btgRfz5gxg06dOh3FXSyf1LMnIiIiIlKJLVq0iKlTp9K5c2dSUlIA+Mc//sGGDRsAuOGGG4o9d82aNfzxj38kJiaGQ4cOMW7cuGCyd8MNN9CsWTN69+4NwLBhw7jrrrv45ZdfSE1NJSsri5iYGB599FG+/fbbw4aO5ouNjeXZZ59l+PDhxMTEUK9ePV544YUSP9Onn37KhAkTiIuLIyYmhieffJLExEQA9u3bx7x58w7rbbzttttYuXIlZkbz5s1L1RtZ3plzzu8YjllqaqrLf5aGyLHKzMwM/vKLRJran/hFbU/8orZX0Jo1a2jfvr3fYVQKOTk5Ra4AGk2Kai9mttw5l1pUeQ3jLGN5h/LYtm+b32GIiIiIiEglp2SvjI18aySnvnCq32GIiIiIiEglp2SvjDWv25z03enkHcrzOxQREREREanElOyVsVb1WpFzKIeMrAy/QxERERERkUpMyV4Za1mvJQA/7frJ50hERERERKQyU7JXxpTsiYiIiIhIeaBkr4w1rdOU2JhY1u1a53coIiIiIiKlkpeXR7du3Rg8ePBhx9avX0+/fv3o0qULaWlpZGT833Sll156idatW9O6dWteeumlw84dMmRIgYeT33rrrbRr144uXbpwwQUXsHv3bgAOHjzIVVddRefOnenatSsLFiwInnPw4EGuv/562rRpQ7t27XjzzTcB2LBhA3379qVbt2506dKFOXPmAPDKK6+QkpIS3GJiYli5ciUAaWlptG3bNnhs27aKvYq+kr0yFhsTS7M6zdSzJyIiIiJR47HHHiv2eX+33HILo0aN4quvvuKuu+7ijjvuAGDnzp3cc889LF68mCVLlnDPPfewa9eu4HlvvfUWNWvWLHCt/v37s3r1ar766ivatGnD/fffD8Czzz4LwNdff828efO4+eabOXToEAD33XcfDRo04Pvvv+fbb7/ljDPOAODee+/l4osv5ssvv2T69On86U9/AmDkyJGsXLmSlStXMnXqVFq0aBF8WDwEksH84w0aNCiL21duKdkLg5b1WirZExEREZGokJGRwezZs7n22muLPP7tt99y5plnAtC3b1/eeecdAD744AP69+9PfHw89erVo3///rz//vsA/Prrrzz88MPceeedBa41YMAAYmNjAejVq1ewlzC0jgYNGlC3bl2WLVsGwAsvvBBMMGNiYkhMTATAzMjKygJgz549NGnS5LDYp02bxogRI47xzkS/WL8DqIha1WvF69++7ncYIiIiIhJNlo+BXSvL9pr1UqDHoyUWGTNmDA8++CB79+4t8njXrl156623+Otf/8qMGTPYu3cvO3bsYNOmTTRt2jRYLjk5mU2bNgEwfvx4br75ZmrUqFFsvS+88AKXXHJJsI6ZM2dy6aWXsnHjRpYvX87GjRtp06ZN8HoLFiygVatWTJo0iYYNG3L33XczYMAAnnjiCfbt28eHH354WB2vvfZaMDnNd9VVV1GlShWGDx/OnXfeiZmVeH+imXr2wqBlvZbs/G0nuw/s9jsUEREREZFizZo1iwYNGtCjR49iyzz00EMsXLiQbt26sXDhQpKSkqhSpUqx5VeuXMm6deu44IILii1z3333ERsby8iRIwG4+uqrSU5OJjU1lTFjxtCnTx+qVKlCbm4uGRkZ9OnThxUrVtC7d29uueUWINBrd+WVV5KRkcGcOXO4/PLLg0M/ARYvXkyNGjUKzBl85ZVX+Prrr/nkk0/45JNPmDp1aqnvVTRSz14Y5K/I+fOun+nWuJvP0YiIiIhIVDhCD1w4LFq0iJkzZzJnzhwOHDhAVlYWf/jDH3j55ZeDZZo0acJbb70FBIZnvvnmm9StW5ekpKQCC6lkZGSQlpbG559/zrJly2jevDm5ubls27aNtLS0YNnJkycza9Ys5s+fH+xVi42N5ZFHHgleq0+fPrRp04aEhARq1KjBsGHDALjooot4/vnnAXj++eeDw0Z79+7NgQMHyMzMDM7Dmz59OpdeemmBz5uUlARArVq1uOyyy1iyZAmjRo0qq9tZ7qhnLwxaxbcC9PgFERERESnf7r//fjIyMkhPT2f69OmceeaZBRI9gMzMzGCP2f3338/VV18NwMCBA5k7dy67du1i165dzJ07l4EDBzJ69Gg2b95Meno6n376KW3atAkmeu+//z4PPvggM2fOLDDEc//+/ezbtw+AefPmERsbS4cOHTAzzjvvvOD58+fPp0OHDgD87ne/Y/78+QCsWbOGAwcOUL9+fQAOHTrE66+/XmC+Xm5uLpmZmQDk5OQwa9asAr1+FZF69sKgRd0WAHr8goiIiIhEpbvuuovU1FSGDBnCggULuOOOOzAzTj/9dP75z38CEB8fz/jx4+nZs2fwnPj4+BKve+ONN5KdnU3//v2BwCItTz31FNu2bWPgwIHExMSQlJRUYHjlAw88wOWXX86YMWOoX78+L774IgATJ07kuuuu45FHHsHMmDx5crCn8OOPP6Zp06a0bNkyeJ3s7GwGDhxITk4OeXl5nHXWWVx33XVld9PKIXPO+R3DMUtNTXX5q/SUN4kPJnJhhwt5avBTfociR5CZmRlc1Ukk0tT+xC9qe+IXtb2C1qxZU+wjD6Rs5eTkEBcX53cYx6Wo9mJmy51zqUWV1zDOMGkV30rDOEVERERExDdK9sKkZb2WGsYpIiIiIiK+UbIXJi3rtmT97vXkHsr1OxQREREREamElOyFSct6LclzeWzcs9HvUEREREREpBJSshcm+Y9f0FBOERERERHxg5K9MMl/sLoWaRERERERET8o2QuTpFpJxMXEKdkTERERkXLtu+++IyUlJbjVrl2bRx99tECZd955hy5dupCSkkJqaiqffvpp8FiVKlWC5w4ZMiS43znHf/3Xf9GmTRvat2/P448/XuCaS5cuJTY2ljfeeKPA/qysLJKTk7nxxhuD+9LS0mjbtm2wnm3btgHw1FNP0blzZ1JSUjj11FP59ttvAdixYwd9+/alZs2aBa6zf/9+zj33XNq1a0fHjh0ZN25c8NjkyZOpX79+sI7nnnsueOyll16idevWtG7dmpdeeim4f/ny5XTu3JmTTjqJm266ifzH2u3cuZP+/fvTunVr+vfvz65du4L35KabbuKkk06iS5curFixInits88+m7p16zJ48OASv6+joYeqh0mVmCq0qNdCwzhFREREpFxr27YtK1euBCAvL4+kpCQuuOCCAmX69evHkCFDMDO++uorLr74YtauXQtA9erVg+eHmjx5Mhs3bmTt2rXExMQEE7T8em6//XYGDBhw2Hnjx4/n9NNPP2z/K6+8QmpqwcfJXXbZZdxwww0AzJw5k7Fjx/L+++9TrVo1/v73v7N69WpWr15d4JxbbrmFvn37cvDgQfr168d7773HOeecA8All1zCpEmTCpTfuXMn99xzD8uWLcPM6NGjB0OGDKFevXqMHj2aZ599lpNPPplBgwbx/vvvc8455zBhwgT69evHuHHjmDBhAhMmTOCBBx7gvffe44cffuCHH35g8eLFjB49msWLFwNw6623sn//fp5++ukivqVjo569MGpZr6V69kREREQkasyfP59WrVrRrFmzAvtr1qyJmQGwb9++4OuS/Otf/+Kuu+4iJiaQcjRo0CB47IknnmD48OEF9kGgp2zr1q1FJoFFqV27dvB1aFwnnngip556KtWqVStQvkaNGvTt2xeAqlWr0r17dzIyMkqs44MPPqB///7Ex8dTr149+vfvz/vvv8+WLVvIysqiV69emBmjRo3i7bffBgI9oVdccQUAV1xxRYH9o0aNwszo1asXu3fvZsuWLUAgoa5Vq1apPndpqWcvjFrWbckXGV/4HYaIiIiIRIEx749h5S+H95Adj5RGKTx69qNHLuiZPn06l156aZHHZsyYwR133MG2bduYPXt2cP+BAwdITU0lNjaWcePGMXToUADWrVvHa6+9xowZM6hfvz6PP/44rVu3ZtOmTcyYMYOPPvqIpUuXBq9z6NAhbr75Zl5++WU+/PDDw+q/6qqrqFKlCsOHD+fOO+8MJnb//Oc/efjhhzl48CD/+c9/Sv1Zd+/ezbvvvstf//rX4L4333yTjz/+mDZt2vDII4/QtGlTNm3aRNOmTYNlkpOT2bRpE5s2bSI5Ofmw/QBbt26lcePGADRq1IitW7cCFHut/LJlTT17YdQqvhW7D+xmx/4dfociIiIiIlKigwcPMnPmTC666KIij19wwQWsXbuWt99+m/Hjxwf3r1+/nmXLlvHqq68yZswY1q0LTGPKzs6mWrVqLFu2jOuuu46rr74agDFjxvDAAw8Ee/zyPfnkkwwaNKhAApXvlVde4euvv+aTTz7hk08+YerUqcFjf/7zn1m3bh0PPPAA9957b6k+a25uLpdeeik33XQTLVsGFlY877zzSE9P56uvvqJ///7BnrnjZWal6gkNB/XshVGbhDYAfL/je3rX6O1zNCIiIiJSnh1ND1w4vPfee3Tv3p2GDRuWWO7000/np59+IjMzk8TERJKSkgBo2bIlaWlpfPnll7Rq1Yrk5GSGDRsGBBLFq666CoBl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YaRkL8KCj1/QvD0REREREQkjJXsR1vDEhsRXj1fPnoiIiIiIhJWSvQgzMzrW78jq7av9DkVERERERCowJXs+6Fi/I99s04qcIiIiIiISPkr2fNCpQSf2ZO9h897NfociIiIiIiIVlJI9H2iRFhERERERCTclez7o1KATAKu3ad6eiIiIiIiEh5I9HyTWSKRJrSas2rrK71BERERERKSCUrLnk5RGKaz8ZaXfYYiIiIiISAWlZM8nKQ1T+Hb7t2TnZvsdioiIiIiIVEBK9nyS0iiF3EO5fLv9W79DERERERGRCkjJnk9SGqUAaCiniIiIiIiEhZI9n7SKb8WJcScq2RMRERERkbBQsueTGIuha6OurNyqZE9ERERERMqekj0fpTQMrMjpnPM7FBERERERqWCU7PkopVEKWdlZpO9O9zsUERERERGpYJTs+ahro66AFmkREREREZGyp2TPR50adCLGYpTsiYiIiIhImVOy56MacTVom9BWi7SIiIiIiEiZU7Lns5RGKaz6ZZXfYYiIiIiISAWjZM9nKY1SWL9nPbt+2+V3KCIiIiIiUoEo2fNZSqMUAFZtVe+eiIiIiIiUHSV7PuvaUCtyioiIiIhI2VOy57OGNRvSuGZjVmxZ4XcoIiIiIiJSgSjZKwdSm6SydPNSv8MQEREREZEKRMleOdCzSU++y/yOrOwsv0MREREREZEKQsleOdAzqScOx/LNy/0ORUREREREKggle+VAapNUAA3lFBERERGRMqNkrxxIrJFIi7otlOyJiIiIiEiZUbJXTvRM6snSTUr2RERERESkbCjZKyd6NunJ+j3r2b5vu9+hiIiIiIhIBaBkr5zo2aQnoHl7IiIiIiJSNpTslRPdG3fHMA3lFBERERGRMqFkr5yodUIt2tdvr549EREREREpE0r2ypHUJqks3bwU55zfoYiIiIiISJRTsleO9GzSk237trExa6PfoYiIiIiISJRTsleOBBdp0bw9ERERERE5Tkr2ypGujboSGxOreXsiIiIiInLclOyVI9Viq9GlYReWbFridygiIiIiIhLllOyVM72SerF081JyD+X6HYqIiIiIiEQxJXvlTJ+mffj14K+s3rba71BERERERCSKKdkrZ0753SkALNqwyOdIREREREQkminZK2ea1WlG45qN+SzjM79DERERERGRKKZkr5wxM/o0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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
}
|
|
}
|
|
],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"import random as random\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"plt.rcParams['figure.figsize'] = [15, 8]\n",
|
|
"\n",
|
|
"\n",
|
|
"#@markdown #Network parameters. \n",
|
|
"#@markdown These parameters give the characteristic of the network and we (Codex) have no control over them.\n",
|
|
"\n",
|
|
"#@markdown Number of nodes in the network\n",
|
|
"NetworkSize = 15400 #@param {type:\"slider\", min:100, max:20000, step:100}\n",
|
|
"#@markdown Average storage size per node (in GB)\n",
|
|
"NodeCapacity = 1200 #@param {type:\"slider\", min:100, max:10000, step:100}\n",
|
|
"#@markdown Number of files in the system\n",
|
|
"NumberOfFiles = 1206000 #@param {type:\"slider\", min:1000, max:10000000, step:1000}\n",
|
|
"#@markdown File size (in KB)\n",
|
|
"FileSize = 10000000 #@param {type:\"slider\", min:100, max:10000000, step:100}\n",
|
|
"#@markdown Overall network MTBF (in hours)\n",
|
|
"MTBF = 1 #@param {type:\"slider\", min:1, max:100, step:1}\n",
|
|
"#@markdown Percentage of data a malicious node discards or refuses/avoids to store\n",
|
|
"CheatRatio = 5 #@param {type:\"slider\", min:5, max:95, step:5}\n",
|
|
"#@markdown Predefined Scenario (Set to 1 to overwrite the above parameters with the values from the Storj network)\n",
|
|
"Scenario = 0 #@param {type:\"slider\", min:0, max:1, step:1}\n",
|
|
"\n",
|
|
"#@markdown ----------------------------------------------------\n",
|
|
"#@markdown ----------------------------------------------------\n",
|
|
"#@markdown ----------------------------------------------------\n",
|
|
"\n",
|
|
"\n",
|
|
"#@markdown #Codex parameters\n",
|
|
"#@markdown The Codex team can tune the following parametersto potimize the system\n",
|
|
"\n",
|
|
"#@markdown Erasure Coding parameter K\n",
|
|
"ECK = 60 #@param {type:\"slider\", min:1, max:100, step:1}\n",
|
|
"#@markdown Erasure Coding parameter M\n",
|
|
"ECM = 40 #@param {type:\"slider\", min:1, max:100, step:1}\n",
|
|
"#@markdown Lazy repair parameter L (start repair after L erasures)\n",
|
|
"ECL = 20 #@param {type:\"slider\", min:1, max:100, step:1}\n",
|
|
"#@markdown Number of PoR sectors (PoR Parameter S)\n",
|
|
"PoRS = 1000 #@param {type:\"slider\", min:10, max:1000, step:10}\n",
|
|
"#@markdown PoR block agregation cost (in miliseconds)\n",
|
|
"AgregationCost = 1 #@param {type:\"slider\", min:1, max:100, step:1}\n",
|
|
"#@markdown Durability guarantee (three 9s (99.9%) to nine 9s (99.9999999%))\n",
|
|
"Durability = 9 #@param {type:\"slider\", min:3, max:9, step:3}\n",
|
|
"\n",
|
|
"\n",
|
|
"# #@markdown Number of EC blocks to verify among K+M nodes\n",
|
|
"#HorizontalVerification = 40 #@param {type:\"slider\", min:1, max:100, step:1}\n",
|
|
"##@markdown Percentage of PoR blocks to verify inside an EC block\n",
|
|
"#VerticalVerification = 0.2 #@param {type:\"slider\", min:0.1, max:1, step:0.1}\n",
|
|
"\n",
|
|
"\n",
|
|
"if Scenario == 1:\n",
|
|
" print(\"\\n***This is the Storj scenario***\\n\")\n",
|
|
" NetworkSize = 15400\n",
|
|
" NodeCapacity = 1200\n",
|
|
" NumberOfFiles = 1200000\n",
|
|
" FileSize = 10000000\n",
|
|
"\n",
|
|
"print(\"\\n *** Network Parameters *** \\n\")\n",
|
|
"print(\"The network has %d nodes\" % NetworkSize)\n",
|
|
"print(\"The average node capacity is %d GBs\" % NodeCapacity)\n",
|
|
"print(\"The network has %d files\" % NumberOfFiles)\n",
|
|
"print(\"The average file size in the network is %d MBs\" % (FileSize/1024))\n",
|
|
"print(\"The estimated mean time between failures of the network is %d hours\" % MTBF)\n",
|
|
"print(\"Malicious nodes cheat the system by NOT storing %d%% of the data they should store\" % CheatRatio)\n",
|
|
"\n",
|
|
"\n",
|
|
"print(\"\\n *** Codex Parameters *** \\n\")\n",
|
|
"print(\"The erasure coding parameter K is %d\" % ECK)\n",
|
|
"print(\"The erasure coding parameter M is %d\" % ECM)\n",
|
|
"print(\"The lazy repair parameter L is %d\" % ECL)\n",
|
|
"print(\"The Proof of Retrievability number of sectors per block is %d\" % PoRS)\n",
|
|
"print(\"The PoR agregation cost is %d ms per PoR block\" % AgregationCost)\n",
|
|
"print(\"Durability in number of nines: %d\" % Durability)\n",
|
|
"\n",
|
|
"ECblockSize = FileSize/ECK\n",
|
|
"PoRblockSize = 31*PoRS/1024\n",
|
|
"TotalECBlocks = NumberOfFiles*(ECK+ECM)\n",
|
|
"ECBlocksPerNode = TotalECBlocks/NetworkSize\n",
|
|
"NbPoRinEC = ECblockSize/PoRblockSize\n",
|
|
"TotalUsedCapacity = int(NumberOfFiles*FileSize)/int(1024*1024*1024)\n",
|
|
"TotalNetworkCapacity = NetworkSize*NodeCapacity/1024\n",
|
|
"\n",
|
|
"print(\"\\n *** Dataset and block structures *** \\n\")\n",
|
|
"print(\"There are %d files of size %d KB (%2.1f MB)\" % (NumberOfFiles, FileSize, FileSize/1024))\n",
|
|
"print(\"The total storage used in the network is %2.1f TB and there is %2.1f TB of available storage for a total of %2.1f TB\" % (TotalUsedCapacity, TotalNetworkCapacity-TotalUsedCapacity, TotalNetworkCapacity))\n",
|
|
"print(\"There will be %d EC blocks of size %2.1f MBs per file\" % (ECK+ECM, ECblockSize/1024))\n",
|
|
"print(\"There is a total of %d EC blocks in the network\" % TotalECBlocks)\n",
|
|
"print(\"There is an average of %2.1f EC blocks per node (assuming an homogeneous distribution)\" % ECBlocksPerNode)\n",
|
|
"print(\"Each EC block has %2.1f PoR blocks of size %2.1f KB\" % (NbPoRinEC, PoRblockSize))\n",
|
|
"\n",
|
|
"\n",
|
|
"print(\"\\n *** Durability guarantees and verification frequency *** \\n\")\n",
|
|
"GuaranteeDurability = {3:99.90, 6: 99.99990, 9: 99.99999990}\n",
|
|
"ExpectedGuarantee = GuaranteeDurability[Durability]\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"hx = []\n",
|
|
"HorizontalProb = []\n",
|
|
"HorizontalResults = {3:0, 6:0, 9:0}\n",
|
|
"for NbOfHVerif in range(ECK):\n",
|
|
" prob = (1-(((ECK-1)/100)**NbOfHVerif))*100\n",
|
|
" hx.append(NbOfHVerif)\n",
|
|
" HorizontalProb.append(prob)\n",
|
|
" if prob > GuaranteeDurability[3] and HorizontalResults[3] == 0:\n",
|
|
" HorizontalResults[3] = NbOfHVerif\n",
|
|
" if prob > GuaranteeDurability[6] and HorizontalResults[6] == 0:\n",
|
|
" HorizontalResults[6] = NbOfHVerif\n",
|
|
" if prob > GuaranteeDurability[9] and HorizontalResults[9] == 0:\n",
|
|
" HorizontalResults[9] = NbOfHVerif\n",
|
|
"\n",
|
|
"HorizontalVerification = HorizontalResults[9] \n",
|
|
"print(\"We need %d horizontal verifications to have %12.12f%% guarantee\" % (HorizontalResults[3], GuaranteeDurability[3]))\n",
|
|
"print(\"We need %d horizontal verifications to have %12.12f%% guarantee\" % (HorizontalResults[6], GuaranteeDurability[6]))\n",
|
|
"print(\"We need %d horizontal verifications to have %12.12f%% guarantee\" % (HorizontalResults[9], GuaranteeDurability[9]))\n",
|
|
" \n",
|
|
"VerticalProb = []\n",
|
|
"VerticalResults = {3:0, 6:0, 9:0}\n",
|
|
"for NbOfVVerif in range(1, int(NbPoRinEC)):\n",
|
|
" prob = (1-((1-(CheatRatio/100))**NbOfVVerif))*100\n",
|
|
" if prob > GuaranteeDurability[3] and VerticalResults[3] == 0:\n",
|
|
" VerticalResults[3] = NbOfVVerif*100/NbPoRinEC\n",
|
|
" if prob > GuaranteeDurability[6] and VerticalResults[6] == 0:\n",
|
|
" VerticalResults[6] = NbOfVVerif*100/NbPoRinEC\n",
|
|
" if prob > GuaranteeDurability[9] and VerticalResults[9] == 0:\n",
|
|
" VerticalResults[9] = NbOfVVerif*100/NbPoRinEC\n",
|
|
" VerticalProb.append(prob)\n",
|
|
"\n",
|
|
"print(\"For Cheat Ratio : %d\" % CheatRatio)\n",
|
|
"VerticalVerification = VerticalResults[9]\n",
|
|
"print(\"We need %2.1f%% vertical verifications to have %12.12f%% guarantee\" % (VerticalResults[3], GuaranteeDurability[3]))\n",
|
|
"print(\"We need %2.1f%% vertical verifications to have %12.12f%% guarantee\" % (VerticalResults[6], GuaranteeDurability[6]))\n",
|
|
"print(\"We need %2.1f%% vertical verifications to have %12.12f%% guarantee\" % (VerticalResults[9], GuaranteeDurability[9]))\n",
|
|
"\n",
|
|
"\n",
|
|
"print(\"\\nGuarantee of data durability is %9.9f\" % ExpectedGuarantee)\n",
|
|
"print(\"The PoR horizontal verification factor is %2.1f\" % HorizontalVerification)\n",
|
|
"print(\"The PoR vertical verification factor is %2.1f%%\" % VerticalVerification)\n",
|
|
"\n",
|
|
"\n",
|
|
"TotalPoRStorage = NumberOfFiles*HorizontalVerification*PoRblockSize/1024\n",
|
|
"NodeAgregationTime = NbPoRinEC*VerticalVerification*ECBlocksPerNode*(HorizontalVerification/(ECK+ECM))*AgregationCost/(1000*60)\n",
|
|
"PoRPerYear = 365*24/(ECL*MTBF)\n",
|
|
"\n",
|
|
"\n",
|
|
"print(\"\\n *** PoR Storage and Time Requirements *** \\n\")\n",
|
|
"print(\"The total storage required for PoR proofs is %2.1f MB to check a total of %2.1fTB of data each round\" % (TotalPoRStorage, TotalUsedCapacity))\n",
|
|
"print(\"To verify %d EC blocks and %2.1f%% PoR blocks per file in the system:\" % (HorizontalVerification, VerticalVerification))\n",
|
|
"print(\"Each node will spend %2.1f minutes (%2.1f hours) agregating PoR proofs\" % (NodeAgregationTime, NodeAgregationTime/60))\n",
|
|
"print(\"It will take the system %d hours (%2.1f days) to accidentally lose M nodes\" % (MTBF*ECM, MTBF*ECM/24))\n",
|
|
"print(\"Lazy repair should be triggered after %d hours (%2.1f days)\" % (MTBF*ECL, MTBF*ECL/24))\n",
|
|
"print(\"Assuming PoR verifications are done once per lazy repair round, PoR verification takes %2.1f%% of the time\" % ((NodeAgregationTime*100)/(MTBF*ECL*60)))\n",
|
|
"print(\"There are %2.1f PoR verification rounds in a year accumulating %2.1f GB of storage\" % (PoRPerYear, PoRPerYear*TotalPoRStorage/1024))\n",
|
|
"\n",
|
|
"color = [\"red\", \"orange\", \"green\", \"blue\"]\n",
|
|
"storVector = []\n",
|
|
"aggVector = []\n",
|
|
"HorVer = [HorizontalResults[3], HorizontalResults[6], HorizontalResults[9]]\n",
|
|
"VerVec = [VerticalResults[3], VerticalResults[6], VerticalResults[9]]\n",
|
|
"for i in range(len(HorizontalResults)):\n",
|
|
" vx = range(64,1024,4)\n",
|
|
" agregationVector = []\n",
|
|
" storageVector = []\n",
|
|
" for PoRS in range(64,1024,4):\n",
|
|
" PoRblockSize = 31*PoRS/1024\n",
|
|
" NbPoRinEC = ECblockSize/PoRblockSize\n",
|
|
" TotalPoRStorage = NumberOfFiles*HorVer[i]*PoRblockSize/(1024*1024)\n",
|
|
" NodeAgregationTime = NbPoRinEC*VerVec[i]*ECBlocksPerNode*(HorizontalVerification/(ECK+ECM))*AgregationCost/(1000*60*60)\n",
|
|
" PoRPerYear = 365*24/(ECL*MTBF)\n",
|
|
" storageVector.append(TotalPoRStorage)\n",
|
|
" agregationVector.append(NodeAgregationTime)\n",
|
|
" storVector.append(storageVector)\n",
|
|
" aggVector.append(agregationVector)\n",
|
|
" \n",
|
|
"\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"plt.grid(axis='x', color='0.9')\n",
|
|
"plt.grid(axis='y', color='0.9')\n",
|
|
"plt.title(\"PoR Storage Consumption\")\n",
|
|
"plt.xlabel(\"Number of PoR sectors per block\")\n",
|
|
"plt.ylabel(\"PoR storage (GB)\")\n",
|
|
"for i in range(len(HorizontalResults)):\n",
|
|
" ax.plot(vx, storVector[i], label = HorVer[i], color = color[i])\n",
|
|
"#plt.yscale('log')\n",
|
|
"ax.legend()\n",
|
|
"plt.show()\n",
|
|
"plt.clf()\n",
|
|
"\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"plt.grid(axis='x', color='0.9')\n",
|
|
"plt.grid(axis='y', color='0.9')\n",
|
|
"plt.title(\"PoR Aggregation time for one complete check\")\n",
|
|
"plt.xlabel(\"Number of PoR sectors per block\")\n",
|
|
"plt.ylabel(\"PoR agregation time (Hours)\")\n",
|
|
"for i in range(len(HorizontalResults)):\n",
|
|
" ax.plot(vx, aggVector[i], label = VerVec[i], color = color[i])\n",
|
|
"ax.legend()\n",
|
|
"plt.show()\n",
|
|
"#print(storageVector)\n"
|
|
]
|
|
}
|
|
]
|
|
} |