From 26d0fad8f0c8e523ec77c70dec244afc2c0e86e3 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 30 Jun 2021 15:32:40 +0300 Subject: [PATCH] =?utf8?q?=D0=94=D0=B5=D1=80=D0=B5=D0=B2=D1=8C=D1=8F=20?= =?utf8?q?=D0=9C=D0=B5=D1=80=D0=BA=D0=BB=D0=B5=20=D0=B2=20NNCP?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit http://www.nncpgo.org/Reliz-7_002e0_002e0.html В новом релизе NNCP я наконец-то стал использовать деревья Меркле для проверки целостности шифрованных пакетов. Как минимум, польза от этого в том, что если мы докачали половинку файла, то прежде мы не могли посчитать хэш файла без его полного чтения, хотя ведь половина файла "прошла" через программу и данные мы видели. В NNCP реализация MTH (Merkle Tree Hashing) имеет метод PrependFrom, который прочитает недостающие данные до уже нам известных и увиденных. Но текущая реализация далека от оптимальной с точки зрения расходов. В памяти находятся все хэши всех блоков, что означает потребление памяти под полгигабайта для проверки терабайтного файла. Плюс никакого распараллеливания вычисления самого дерева. Но терабайты я не думаю что многие передают, и делают это на дохлых (с малым объёмом памяти) машинах. А BLAKE3 жутко быстрый, так что всё значительно быстрее будет в любом случае. -- 2.50.0