загрузка..
RU
Создать запрос

Алгоритм выборки множеств прошёл тестирование и внедрен в экосистему

Опубликовано May 25, 2023 09:24
Последнее обновление Jul 10, 2023 07:11

Данный алгоритм применяется:

  • при отборе блоков транзакции из общего числа блоков, удовлетворяющих условиям транзакции;
  • при выборе куста транзакций во время создания новой транзакции;
  • при выборе блоков для их подтверждения участниками сети;
  • в процессе подтверждения гашения блоков;
  • при подборе воркеров и выполнении других операций.

Алгоритм выборки основан на преобразовании hash-кодов в десятичные значения.

Особенностью алгоритма является то, что в момент, когда требуется провести случайную выборку, исходные данные для получения группы случайных значений ещё не существуют и не могут быть заранее интерпретированы.

Для выполнения алгоритма система использует hash-код, который появляется в сети уже после начала операции. Кроме того, проводится процедура повторного хеширования полученного hash-кода вместе со времени начала операции с точностью до миллисекунды.

При этом результат процедуры получения группы случайных целых чисел заданного диапазона не даёт id конечных элементов, но даёт временные id элементов в индексах, которые для каждого элемента непостоянны и часто меняются.

Случайные значения для произведения выборки «множества из множества» сеть получает из будущего.

Как это работает:

  • на входе принимаются следующие данные: hash-код sha512, условия транзакции, диапазон значений для id индекса;
  • проводится математическое преобразование sha512 в десятичный ряд, в результате чего получается очень большое число;
  • применяется математическая формула для преобразования полученного значения в нужных диапазонах;
  • итерация повторяется необходимое количество раз, и в процессе итерации происходит преобразование старого hash-кода в новый;
  • множество полученных id индекса используется для получения множества элементов.

Алгоритм успешно прошел тестирование и внедрён в работу сети.


Fenomy Team reserves the right, at its discretion, to change, modify, or remove portions of the announcements at any time by posting the amended version on the website.

Похожие статьи

Need Support? Create a Ticket. Create ticket