Данный алгоритм применяется:
- при отборе блоков
транзакции из общего числа блоков,
удовлетворяющих условиям транзакции;
- при выборе куста транзакций
во время создания новой транзакции;
- при выборе блоков для их
подтверждения участниками сети;
- в процессе подтверждения
гашения блоков;
- при подборе воркеров и
выполнении других операций.
Алгоритм
выборки основан на преобразовании
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.