СПОСОБ УЧЁТА ИМУЩЕСТВЕННЫХ И ИНЫХ ИМЕНОВАННЫХ ЕДИНИЦ В ОДНОУРОВНЕВЫХ СРЕДАХ ТИПА BITCOIN И NEXT

1. Способ распределенного учета имущественных и иных единиц (вещи, услуги, обязательства), заключающийся в том, что с помощью цифровых учетных единиц в цифровой среде, подобной Bitcoin и NEXT, участники (пользователи) среды с помощью специального программного обеспечения и технических средств:
- создают начальную книгу учета, сохраняют ее в файловой структуре в виде одного или нескольких файлов и хранят в ней цифровые записи, отражающие изменение состояния цифровых учетных единиц,
- задают порядок (алгоритм) создания номера записи из записи для книги учета,
- получают для данной записи по заданному порядку (алгоритму) номер записи и присваивают его этой записи в книге учета,
- задают параметры канала связи, используемого для передачи данных между разными участниками среды,
- синхронизируют записи в книге учета с книгами у других участников среды через заданный канал связи,
- задают известный способ (алгоритм) шифрования для шифрования тайных ключей в открытый ключ (подпись),
- создают открытый ключ (подпись) из тайного ключа с помощью заданного способа шифрования,
- задают известный способ (алгоритм) сжатия для сжатия открытого ключа (подписи),
- задают длину номера счета,
- создают номер счета из открытого ключа (подписи) путем использования заданного способа сжатия и обрезания результата сжатия открытого ключа до заданной длинны номера счета,
- ведут учет изменения состояний учетных единиц на счетах участников среды, внося соответствующие записи в книгу учета путем создания записи-заявки, подписи ее своим открытым ключом (подписью), посылки ее другим участникам среды через заданный канал связи, получения от других участников подтверждения, что эта заявка включена в их книгу учета в виде записи, проверки заданных условий на внесение этой записи-заявки в книгу учета и в случае их выполнения, внесения этой записи-заявки в свою книгу учета в виде записи с присвоением ей номера записи,
- задают список данных, необходимых для создания записи-заявки:
- список выходов - набор строк, содержащих количество учетных единиц и номер счета куда переводятся эти единицы,
- список входов - набор строк, содержащих номер записи и номер строки в списке выходов этой записи, откуда взяты эти единицы,
- вид записи-заявки - перевод единиц, создание новых единиц или иное;
- задают условия, необходимые для включения записей-заявок в книгу учета,
- задают условия, необходимые для создания новых начальных учетных единиц,
- создают начальные учетные единицы (начальные единицы) путем создания записи-заявки, посылки ее другим участникам среды через заданный канал связи и получения от других участников подтверждения что заданные условия для данной заявки выполнены и она включена в их книгу учета,
- ведут учет изменения этих начальных единиц путем внесения соответствующих записей в книгу учета,
- задают условия, необходимые для создания нового вида именованных единиц и выпуска (эмиссии) их,
- создают новый вид именованных единиц с заданным уникальным (среди имен других видов именованных единиц) именем (например 00RUB) путем создания записи-заявки включающей следующие данные:
- имя именованной единицы,
- имя имущества, обязательства или услуги, которое будет учитываться данным видом именованных единиц (например "валюта Рубль" или "электроэнергия кВт*ч"),
- минимальная доля учета;
- посылают в среду созданную запись-заявку на создание нового вида именованных единиц для включения ее в начальную книгу учета,
- создают заданное количество именованных единиц соответствующего вида путем создания записи-заявки, включающей следующие данные:
- вид именованных единиц,
- количество создаваемых именованных единиц,
- номер счета (адрес), на котором эти единицы создают;
- посылают в среду созданную запись-заявку на выпуск новых именованных единиц для включения ее в начальную книгу учета,
отличающийся тем, что:
- задают дополнительные условия, необходимые для внесения в начальную книгу учета записи-заявки, в которой отражается создание нового вида именованных единиц и/или их выпуск (эмиссию), как совокупность, по крайней мере, двух условий:
- получить необходимое количество разнящихся (уникальных) подписей у данной записи-заявки от обладателей (участников среды) начальных учетных единиц (подписантов), согласных на включение данной записи-заявки в книгу учета,
- совокупное количество начальных учетных единиц, хранимых на счетах, соответствующих полученным подписям, должно превысить заданную долю от общего количества начальных учетных единиц;
- получают из среды запись-заявку, в которой отражается создание нового вида именованных единиц и/или их выпуск (эмиссию) в случае согласия участника среды на внесение ее в начальную книгу учета подписывают ее своей подписью и передают ее обратно в среду,
- при создании нового вида именованных единиц включают в запись-заявку на их создание и впоследствии сохраняют в книге учета дополнительно следующие данные:
- отличительные признаки (параметры) используемого канала связи для синхронизации записей и изменений данного вида именованных единиц между участниками среды (например, порт 10634 по интернет протоколу TCP);
- используют заданный канал связи для синхронизации записей и изменений относящихся к данному виду именованных учетных единиц, отраженный в записи их создания,
- вводят дополнительный вид книги учета - вложенная книга и задают набор свойств для этого вида книг:
- имя книги,
- ссылка на главную книгу, в которую вложена (которой подчинена) эта книга,
- уровень вложенности,
- отличительный признак учета данной книги;
- задают условия для ограничения создания вложенных книг как совокупность, по крайней мере, двух условий для внесения в текущую книгу учета записи-заявки, отражающей создание новой вложенной книги:
- получить необходимое количество разнящихся (уникальных) подписей у данной записи-заявки от обладателей (участников среды) учетных единиц, хранящихся на счетах в данной книге,
- совокупное количество учетных единиц, хранимых на счетах, соответствующих полученным подписям, должно превысить заданную долю от общего количества учетных единиц данного вида в данной книге;
- задают свойства для каждого уровня вложенности (подчинения):
- длина имен книг данного уровня,
- длина номера счета, до которой будет происходить обрезание результата сжатия открытого ключа (таким образом, один тайный ключ создает подобные номера счетов во всех вложенных книгах, различные только по длине, и может подписывать записи-заявки для всех этих счетов),
- отличительные признаки учета именованных единиц на данном уровне;
- вводят понятие "полное имя" и "полный номер" для поиска вложенных книг и данных в них,
- задают следующий порядок (алгоритм) создания полных имен и полных номеров:
- задают символ-разделитель имен,
- задают порядок (алгоритм) сложения имен вложенных книг по возрастанию уровня вложенности или по убыванию,
- используют порядок (алгоритм) создания полного имени для данной вложенной книги как строковое (символьное) сложение имен всех вложенных книг по цепочке вложения от данной книги до начальной книги согласно заданного порядка сложения имен вложенных книг с включением заданного символа-разделителя между двумя складываемыми именами,
- используют порядок (алгоритм) создания полного номера счета (полного адреса) хранения именованных единиц во вложенной книге путем строкового сложения полного имени этой книги с номером счета (адресом) хранения этих именованных единиц и включения между ними заданного символа-разделителя или пробела,
- используют порядок (алгоритм) создания полного номера записи во вложенной книге путем строкового сложения полного имени этой книги с номером этой записи и включения между ними заданного символа-разделителя или пробела;
- задают следующий порядок (алгоритм) сохранения вложенных книг в файловой структуре:
- при создании вложенной книги Б, главной книгой для которой является книга А, имя книги Б разделяют на левую часть И1 и правую часть И2 примерно одинаковой длины и если длина не одинакова, то левую часть И1 выбирают длиннее правой,
- в месте MA хранения файла ФА, в котором хранится главная книга А, создают папку ПА с именем, равным имени этого файла ФА, если она еще не была создана, а в ней создают папку ПБ с именем, равным левой части И1 имени книги Б, если она еще не была создана,
- создают в папке ПБ файл ФБ с именем, равным правой части И2 имени книги Б, и сохраняют эту созданную книгу Б в этом файле ФБ;
- используют порядок поиска вложенной книги Б по ее полному имени в файловой структуре, начиная с места хранения начальной книги учета согласно выше описанному способу сохранения вложенных книг в файловой структуре,
- задают порядок доступа (получения ссылки) к главной книге А согласно выше описанному способу сохранения вложенных книг в файловой структуре, где имя книги А состоит из имени папки ПА и имени файла ФА, который в ней хранится, в котором хранится эта книга А,
- создают, по крайней мере, одну вложенную книгу Б, главной книгой А которой может быть как начальная книга, так и другая вложенная книга, путем:
- задания уникального имени среди имен других вложенных книг у данной книги А,
- задания во вложенной книге Б ссылки на главную книгу А,
- внесения в книге А записи о создании книги Б с проверкой выполнения условий для ее внесения, при этом указывают в записи имя книги Б и отличительные признаки учета этой книге Б,
- указания отличительных признаков учета в создаваемой книге Б, включая частоту внесения изменений в эту книгу (например раз в 5 минут),
- сохранения вложенной книги Б в файловой структуре согласно выше описанному порядку;
- вводят дополнительные виды записей в книге учета, относящиеся к виду переноса учетных единиц между книгами:
- перенос учетных единиц из текущей (главной) книги в подчиненную ей вложенную книгу - "передача вниз",
- перенос учетных единиц в текущую (вложенную) книгу из главной для нее книги - "прием свыше",
- перенос учетных единиц из текущей (вложенной) книги в главную для нее - "передача вверх",
- перенос учетных единиц в текущую (главную) книгу из подчиненной ей вложенной книги - "прием снизу";
- добавляют в список данных, необходимых для создания записи-заявки:
- для вида записи "передача вниз": в списке выходов вместо номера счета задают имя подчиненной книги,
- для вида записи "прием снизу": в списке входов к номеру записи, откуда берут учетные единицы, добавляют имя подчиненной книги, в которой хранится эта запись;
- задают дополнительные условия, необходимые для внесения в книгу учета записи-заявки, относящейся к виду переноса учетных единиц между книгами:
- открытый ключ, соответствующий счетам, на которые переводятся учетные единицы, должен быть равен открытому ключу подписи этой записи-заявки, то есть перенос единиц возможен между счетами, созданными от одного секретного ключа,
- запись-заявка вида "передача вверх" может осуществляться только на номер счета главной книги, с которого ранее были "переданы вниз" данные учетные единицы в данную вложенную книгу и при этом совокупный объем всех переводов учетных единиц вида "передача вниз" не должен быть меньше совокупного объема всех переводов вида "прием снизу" для этого счета;
- осуществляют учет именованных единиц заданного вида во всех вложенных книгах путем переноса этих единиц между книгами и внутри книг так, что совокупное количество этих единиц во всех книгах остается неизменным, а изменение общего числа единиц возможно только в начальной книге, при этом:
- вводят порядок вычисления остатка учетных единиц на заданном счету с учетом числа единиц, переданных в другие книги и полученных из других книг,
- переводят учетные единицы между книгами путем создания связанных записей-заявок на внесения изменений в каждую участвующую в этом переводе книгу, посылают их в среду, получают подтверждение на включение их в книги учета и вносят их в свои книги учета в случае приема подтверждения для всех связанных записей-заявок, относящихся к данному переводу единиц,
- вводят порядок учета перевода учетных единиц из текущей (главной) книги во вложенную книгу и обратно путем создания и внесения связанных записей соответствующего вида в этих книгах;
- получают отличительные признаки канала связи для синхронизации учета заданных именованных единиц с другими пользователями среды из записи с описанием создания данного вида именованных единиц в начальной книге учета, используют полученные признаки для подключения к среде и используют данный канал связи для получения и синхронизации всех вложенных книг, в которых ведется учет этих именованных единиц, при этом:
- получают вложенную книгу от других пользователей среды путем посылки запроса в среду с указанием полного имени нужной книги,
- посылают в среду вложенную книгу при получении запроса от других пользователей, в случае если эта книга найдена в файловой структуре данного пользователя,
- синхронизируют записи во вложенной книге с другими пользователями среды путем использование канала связи, заданного в описании именованных единиц из начальной книги;
- передают или получают данные о записи во вложенной книге путем передачи полного номера этой записи,
- передают или получают данные о счете во вложенной книге путем передачи полного номера этого счета (полного адреса),
- задают, по крайней мере, в одном уровне вложенности отличительным признаком учета имя именованной единицы, указывая во вложенной книге этого уровня и в записи создания этой книги в главной книге описание этой именованной единицы,
- задают, по крайней мере, в одном уровне вложенности отличительным признаком учета место действия именованных единиц в заданном пространстве или на географической местности (например в некоторой стране, на некотором острове или континенте Земли), указывая во вложенной книге этого уровня и в записи создания этой книги в главной книге описание этого места или пространства,
- задают, по крайней мере, в одном уровне вложенности отличительным признаком учета лицо действия (например, собственник имущества или исполнитель услуг или обязанное лицо по обязательствам) с данными именованным единицами, указывая во вложенной книге этого уровня и в записи создания этой книги в главной книге описание этого лица,
- задают, по крайней мере, в одном уровне вложенности отличительным признаком учета время учета именованных единиц, указывая во вложенной книге этого уровня и в записи создания этой книги в главной книге дату начала учета в данной книге и продолжительность использования ее.
2. Способ по п. 1, отличающийся тем, что задают условия, необходимые для внесения в начальную книгу учета записи, в которой отражается создание нового вида именованных единиц и/или их выпуск:
- получить, по крайней мере, 5 разнящихся (уникальных) подписей на данную запись-заявку,
- совокупное количество начальных единиц, хранимых на счетах, соответствующих полученным подписям, должно превысить 1/50 долю от общего количества начальных единиц;
3. Способ по п. 1, отличающийся тем, что отличительным признаком канала связи именованной единицы задают номер порта интернет протокола TCP, причем значением для первой именованной единицы задают 1001 или 10001.
4. Способ по п. 1, отличающийся тем, что задают условия необходимые для внесения в текущую книгу учета записи, в которой отражается создание новой вложенной книги:
- получить, по крайней мере, 3 разнящихся (уникальных) подписей на данную запись-заявку,
- совокупное количество учетных единиц, хранимых на счетах, соответствующих полученным подписям в данной книге, должно превысить 1/300 долю от общего количества этих единиц в данной книге;
5. Способ по п. 1, отличающийся тем, что задают для первого уровня вложенности, подчиняющегося начальной книге учета, отличительный признак учета - имя именованных единиц, задают для второго уровня вложенности отличительный признак учета - место действия или лицо действия, задают для третьего уровня вложенности отличительный признак учета - время учета именованных единиц.
6. Способ по п. 1, отличающийся тем, что задают имя вложенной книги, имеющей отличительным признаком учета имя именованной единицы, как код этого имени, например код ISO валюты или код инструмента на международных биржах.
7. Способ по п. 1, отличающийся тем, что задают имя вложенной книги, имеющей отличительным признаком учета время учета, как разницу между годом начала учета в данной книге и 2015-м годом.
8. Способ по п. 1, отличающийся тем, что сжимают цифровым способом имя вложенной книги, например по алгоритму base58.