Приватный блокчейн и 1С популярно
Разработка - Математика и алгоритмы
Блокчейн был придуман почти тридцать лет назад, в 1991 году. Два приятеля, физик и криптограф, Скотт Сторнетта и Стюарт Хабер задумались над тем, как сделать информацию не изменяемой. Нашли решение этой проблемы. Запатентовали решение, открыли компанию с многозначительным названием Surety и даже создали свой, весьма необычный распределенный реестр. Однако, по ряду причин технология блокчейн не получила широкого распространения в то время. И только через 17 лет она стала известна всем. И произошло это в связи с появлением первой криптовалюты Биткоин. С этого момента блокчейн становится «модной» темой. И с этого же момента технологию сопровождают два довольно устойчивых мифа.
Миф первый: блокчейн - это «про деньги». Причем, про очень сомнительные деньги. Что-то типа МММ на современном технологичесом уровне. Это не так. Блокчейн - всего лишь одна из многих технологий, которые используются в криптовалютах. С другой стороны, как бы кому не были интересны и важны криптовалюты, блокчейн является более универсальной (а на мой взгляд еще и фундаментальной) информационной технологией. И, следовательно, имеет большее значение. На рисунке ниже представлено близкое к реальности соотношение двух этих технологий.

Миф второй: блокчейн требует распределенной базы данных. Данные должны храниться параллельно у множества независимых друг от друга хранителей. И чем их больше, тем лучше. А если хранитель будет один, тогда вся технология теряет смысл. Почему это не соотвествует действительности, вы поймете из дальнейшего изложения.
Чтобы понять - как работает блокчейн, требуется сначала познакомиться с хэш-функциями. Исходное слово hash означает «фарш», «мешанина», «крошево». Хэш-функция принимает на входе данные произвольной длины, «крошит», «размешивает» и выдает на выходе битовую строку фиксированной длины. «Машинка» работает очень просто. Загружаете в нее, например:
«В траве сидел кузнечик»
получаете на выходе 256 бит (или 32 байта). Загружаете «Горе от ума», получаете другие 256 бит. Загружаете новый роман Пелевина, получаете третьи 256 бит. Очень удобно. У вас на выходе всегда 256 бит и они всегда разные. Звучит контринтуитивно. Ведь если ужимать большие тексты до 32 «букв», когда-нибудь да возникнет повторение. Это, конечно, справедливо. Но вопрос - когда. Представьте себе, что мы собрали все тексты, когда-либо созданные человеком и решили их пронумеровать. Число, которое у нас получится, вроде бы большое. Но, например, количество атомов в комнате, в которой вы сейчас сидите, тоже большое число. И я рискну предположить, что два этих числа вполне сопоставимы. В биткоине используется хэш-функция, дающая на выходе как раз 256-битовую строку. Насколько большим является 256-битовое число? Если перевести в привычный большинству десятичный вид, то это будет число с 77 нулями. А, например, по некоторым оценкам число атомов во всей наблюдаемой нами вселенной выражается числом с 80 нулями. Так что, может сами оценить вероятность этого «когда». Если вас все-таки смущает само наличие такой вероятности, просто примите во внимание, что компьютеры тоже считают не точно, а приблизительно, но никто не жалуется.
Теперь, после того, как мы разобрались с хэш-функциями, можно сказать, что самое сложное уже позади. Потому что идея блокчейна предельно проста.

Собственно, посмотрев на картинку, можно все понять. Берем данные первого блока, применяем хеш-функцию и получаем ключ(результат). Берем этот ключ, прицепляем к нему данные второго блока, применяем к этому всему хеш-функцию, получаем следующий ключ и т. д. Я выделил на картинке синим пунктиром то место, где происходит «сцепление» двух блоков данных. Само название технологии произошло от этого. Block chain - дословно «цепочка блоков».
У блокчейна одно-единственное, но зато бесценное свойство. Если вы захотите поменять данные где-нибудь в середине цепочки, то вам придется пересчитать все ключи с этого места и до самого конца. Иногда говорят, что блокчейн обеспечивает неизменяемость данных. Это не совсем правильно. В общем случае, блокчейн обеспечивает прозрачность. Любое изменение данных, в каком бы месте цепочки оно не произошло, как легко догадаться, обязательно «всплывет» в конце. Используя это свойство определенным образом, можно действительно добиться неизменяемости один раз введеных данных. Но можно этого и не делать, а ограничаться тем, что у вас есть прозрачность. Откуда берется эта прозрачность. Дело в том, что цепочку блоков очень легко проверить. Первым делом сравниваете начальный ключ текущего блока с конечным ключом предыдущего блока. Они должны совпадать. Потом вычисляете хэш-функцию начального ключа и данных и сравниваете результат с конечным ключом. Вот, собственно и весь алгоритм. Прелесть в том, что программа которая будет выполнять проверку, уложиться буквально в несколько строчек. Ее будет легко понимать и контролировать.
Где можно использовать это свойство. Ответ может показаться неожиданным, но вообще-то в любой базе данных, к которой есть доступ более чем у одного человека. Практически все базы данных так или иначе регистрируют некие события или состояния. И, на сегодняшний день, все они являются машинами времени. Если вы думаете, что я сейчас использовал метафору, то вы глубоко заблуждаетесь. Самая что ни на есть настоящая машина времени находится в распоряжении каждого, у кого есть возможность вносить изменения в какую-либо базу данных. И, как вы понимаете, в этом нет ничего хорошего. Данное свойство баз данных - очевидно вредное и от него надо как-то избавляться. Технология блокчейн как раз и позволяет нам это сделать. Организовав хранение данных в виде цепочки блоков, мы можем строго запретить изменение ранее введеных данных или, если строгий запрет нам по каким-то соображениям не подходит, мы можем обеспечить хронологическую последовательность изменений. Это делается путем регистрации изменения старых данных в конце цепочки. Ниже я расскажу об этом подробнее, а сейчас еще пара слов о том, кому нужен блокчейн.
Уже прямо сейчас эта технология потребуется вам, если вы хотите создать частные деньги. Это - наиболее очевидная и уже проверенная практикой область применения. Частные деньги у нас пока еще не отрегулированны законодательно, но если верить экономической науке, за ними будущее.
Также вам будет крайне необходима эта технология, если у вас есть одна база данных и несколько владельцев. В любой акционерной компании и просто в компании, где есть несколько владельцев, использование блокчейна обеспечит базам данных прозрачность и легкую проверку.
И, наконец, даже в том случае, когда вы являетесь единственным владельцем базы данных и вольны делать с ней все, что вам заблагорассудится, у вас могут быть причины желать сделать свою базу прозрачной и проверяемой. Это касается в первую очередь отношений комиссионеров и комитентов. Особенно актуальным это становится тогда, когда у одного очень большого комиссионера много мелких комитентов.
Я привел три, наиболее очевидных примера. Но, повторюсь, блокчейн имеет смысл использовать в любой базе данных, кроме сугубо личных. Тем более, что сама технология очень проста и не требует особых затрат.
Перейдем к особенностям использования приватного блокчейна в 1С. Не так давно я проводил конкурс на поиск уязвимостей в схеме приватного блокчейна на 1С. https://forum.infostart.ru/forum9/topic222624/ Некоторые из приведенных ниже рекомендаций родились из результатов данного конкурса. Другие - остались неизменными с момента первых публикаций: //infostart.ru/public/717210/ и //infostart.ru/public/728995/
Вот у нас есть какая-то база 1С. На основе типовой конфигурации, переделанная из типовой или полностью оригинальная. Первый вопрос - как подключить блокчейн к этой базе. Надо менять структуру каждого объекта метаданных? И что потом делать, если у нас чисто типовая конфигурация? Ответ - ничего менять не надо. Можно даже вообще не трогать контролируемую базу. Блокчейн может «жить» рядом, в отдельной базе. Вместо самих данных записываем в цепочку блоков ссылки, но хэш-функции при создании цепочки, а также при контроле считаем все же из данных. Получается что-то вроде журнала регистрации изменений. Только в отличие от простых журналов, этот будет защищен от изменений. Такой журнал может размещаться, как я уже сказал, в отдельной базе. И этот вариант является предпочтительным, потому что сводит к минимуму нагрузку на основную базу. У основной базы появляется всего лишь один новый пользователь, который только читает данные. Если все же мы хотим иметь такой журнал в той же базе, тогда следует задействовать механизм расширений.
Далее нам надо определиться с тем, что мы будем считать блоком данных. На первый взгляд, для 1С было бы естесвенным принять за блок данных документ. Но здесь проблема в том, что кроме документов в 1С есть еще и регистры. И в общем случае нет никаких препятствий к тому, чтобы в документе, например, стояло «списание со склада товара Х две штуки», а в регистре «списание со склада товара Y три штуки». Есть три способа решения данной проблемы. Можно рассматривать движения документа как его неотъемлемую часть и включать в блок данных как сам документ, так и его движения по регистрам. Можно вообще перевести фокус с документов на регистры. И считать блоком данных набор записей регистра. У этих двух способов есть определенные недостатки. В первом случае вам потребуется контролировать абсолютно все документы в базе, потому что записи в регистр могут быть внесены любым документом. Это может оказаться неудобным. Особенно для тяжелых типовых конфигураций. Второй способ чуть лучше, но он все еще будет неудобным в том случае, если мы захотим организовать множество отдельных блокчейнов, по одному для каждого нашего контрагента. Тут нам придется разбираться с ситуацией, когда один набор записей регистра относиться сразу к нескольким контрагентам. Поэтому я рекомендую третий способ, который заключается в том, чтобы просто игнорировать существование регистров. Мы изначально ориентируемся на то, что будем контролировать именно документы, а не их интерпретацию. В подавляющем большинстве случаев интерпретация документов очевидна. Поступление товаров увеличивает остаток на складе, списание уменьшает. Здесь вобщем-то нет предмета для споров. В сомнительной ситуации всегда можно задействовать пусть и более медленный, но надежный отчет по документам.
Прежде чем применить хеш-функцию к документу, вам сначала потребуется превратить документ в строку. Выражаясь научно, сериализовать его. И здесь вам потребуется решить, что делать с реквизитами ссылочных типов. Если сериализовать их как ссылки, тогда придется контролировать блокчейном не только документы, но и справочники. Иначе в вашем блокчейне будет уязвимость. Например, можно поменять местами два элемента справочника контрагентов и все документы, связанные с ними, поменяют свой смысл, а блокчейн этого не заметит. Поэтому я рекомендую другой способ. Сериализовать не ссылки, а наименования (или все содержимое элемента, если есть что-то, кроме наименования). Надо только иметь ввиду, что при этом способе редактирование уже существующего элемента справочника приведет к тому, что блокчейн зарегистрирует очень большое количество изменений. Так что потребуется принятие и выполнение достаточно строгой политики в отношении редактирования справочников.
И последний вопрос - что делать с редактированием старых документов. В иделогии 1С такое редактирование рассматривается, как обычное дело. Соотвественно, нам требуется как-то модифицировать схему построения цепочки блоков и ее проверки. Это не очень сложно. Измененные документы будем оставлять в цепочке на их прежнем месте. Данные и хеш-сумма при этом перестанут совпадать. Поэтому, мы пометим такой блок как измененный. Затем создадим новый блок, поместим его в конец цепочки и дадим на него ссылку в старом блоке. Алгоритм проверки усложниться не сильно. Теперь нам надо проверить блок на модифицированность. Для модифицированного блока пройти по ссылке и обработать уже этот новый блок.
Все сказаное выше относится к приватному блокчейну. Т.е. к такому, где есть всего один владелец. Как видите, он работоспособен и несложен в создании. В том числе и на платформе 1С. Задавайте вопросы здесь, а также здесь t.me/privateblockchain1C
И участвуйте в тестировании рабочей модели, которое будет проходить на Инфостарте ориентировочно во второй половине сентября 2019. Участников ждет скромное вознаграждение.
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Математика и алгоритмы Разработчик 1С 8.3 Абонемент ($m)
Данная внешняя обработка для платформы 1С:Предприятие реализует усовершенствованный алгоритм Левенштейна для вычисления схожести строк с учетом различных лингвистических особенностей русского языка. В отличие от классической реализации, этот алгоритм учитывает фонетические, визуальные и контекстные особенности набора текста.
1 стартмани
07.11.2025 6999 18 InFlach 17
Математика и алгоритмы Запросы Разработчик 1С:Предприятие 8 Бесплатно (free)
Рассмотрим быстрый алгоритм поиска дублей с использованием hash функции по набору полей шапки и табличных частей.
08.07.2024 9159 ivanov660 9
Математика и алгоритмы Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Абонемент ($m)
На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.
1 стартмани
30.01.2024 16969 stopa85 12
Математика и алгоритмы Бесплатно (free)
Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.
19.10.2023 25228 user1959478 57
Математика и алгоритмы Разное 1С:Предприятие 8 1C:Бухгалтерия Россия Абонемент ($m)
Расширение (+ обработка) представляют собою математический тренажер. Ваш ребенок сможет проверить свои знание на математические вычисление до 100.
2 стартмани
29.09.2023 15714 maksa2005 8
Математика и алгоритмы Инструментарий разработчика Разработчик 1С:Предприятие 8 Россия Абонемент ($m)
Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.
1 стартмани
09.06.2023 25511 11 SpaceOfMyHead 20
Математика и алгоритмы Разработчик 1С:Предприятие 8 Бесплатно (free)
Три задачи - три идеи - три решения. Мало кода, много смысла. Мини-статья.
03.04.2023 17726 RustIG 10
Механизмы платформы 1С Математика и алгоритмы Разработчик 1С:Предприятие 8 Россия Бесплатно (free)
В статье анализируются средства платформы для решения системы линейных уравнений в 1С. Приводятся доводы в пользу некорректной работы встроенных алгоритмов, а значит потенциально некорректного расчета себестоимости в типовых конфигурациях.
23.11.2022 16613 gzharkoj 17
Изменилась, как заметил мессир Воланд, "аппаратура", а люди - остались прежними, и отношения между ними остались прежними, просто потому, что природа человека не изменилась за тысячелетия.
Но автор истово верит в
Впрочем, фанатикам всегда надо во что-то верить: в слово господне, в марксизм-ленинизм или в блокчейн - без разницы.
Так что спор этот полностью лишен смысла.
А если настанет (не дай бог!) время, когда алгоритмы станут работать без участия людей... тогда что вы будете делать с несовершенными людьми, мешающими работе совершенных алгоритмов? Подсказываю: уничтожать. Или, в лучшем случае, изолировать (в гетто, всех в гетто!).
Не верите? Элементарно: в любой религии прописаны правильные алгоритмы: не лги, не кради, не убивай, люби ближнего и так далее. Напомнить, во что это всегда выливалось и сейчас выливается? Или вы все-таки историю учили в школе?
Но история прикольная, спасибо!
Вам сложно анализировать, видимо, потому, что вы не в теме. Задавайте вопросы. Я введу вас в курс дела
2. Я так и не понял, что такое связанное с блокчейном вы собрались фиксировать в журнал регистрации, что оно критично. Мне кажется, что вы придумываете использование его совсем не по назначению?
3. Что значит "А что не хочешь, удаляй"? Есть способ средствами 1С удалить из журнала что-то? Или это у вас банально код имеет файловый доступ - тогда админа на кол?
4. Защищать нужно многие этапы и в комплексе целиком.
5. Я достаточно в теме и именно по этому пытаюсь у вас узнать, чего вам конкретно не хватает и для чего по пунктам. И при этом я читал все ваши статьи.
Удалить что-то из журнала можно средствами SQLite. Как работать с базой SQLite гуглится за 2 минуты.
Журнал регистрации должен быть не изменяем. Причем, никем. Даже пользователем с админскими правами. Для чего, собственно, и нужен блокчейн.
Или вы запускаете сервер 1С под пользователем доменного администратора?
Но в реальности это не так. Никого такое положение дел не устраивает. На складе регулярно проводят инвентаризацию.
Так вот, блокчейн - это постоянно действующая инвентаризации базы данных
И то, "фото" я пишу чтобы приблизится к миру вещей. В информационной реальности фото == складу.
То, о чем вы пишете, как о супердостижении блокчейна - это не блокчейн, а обеспечение аудиторского следа в учетной системе. В SAP он есть бай дезайн, в 1С его нету, а есть перепроведение задним числом.
В итоге - в сапе все без блокчейна работает, а в 1С и блокчейн не спасет. Так как факт изменения без возможности откатить куда надо никому в большинстве случаев не нужен.
Откатить можно при наличии бэкапа, но если есть в надежном месте бэкап, то блокчейн - лишняя сущность. Если же вы контрагент, и решаете "а стоит ли доверять базе партнера" то хэш блокчейна и акт сверки решают задачу одинаково эффективно, только первый "стильно модно молодежно" а второй - уже сто лет как.
Акт сверки - это замечательно. А что с чем сверяется вы не задумывались? База одного контрагента с базой другого. Потом выясняется, что есть расхождения. Потом начинается мучительное выяснение - чей сотрудник накосячил. С блокчейном ничего этого не будет. База одна. Проверяй хеши и спи спокойно.
и никаких мучений не будет. В акте сверки список всех операций с момента прошлого акта сверки. В итоге для блокчейна имеем "у нас есть расходждения" для акта сверки "вот эта пара строк отражена по разному, пошли поднимать первичку"
Ну и по поводу "не админ" - все, что делает база автоматически - это делает админ. Так как в 1С он может сделать, что она будет делать это так, как скажет он.
А если еще дать право генерить ключи для блокчейна для учета операций в 1С сразу на сайте налоговой инспекции, и проверять целостность цепочки данных там же, то потом и проверок налоговиками можно будет не проводить выездных. :)
Вы предлагаете что-то абстрактное. Лишь бы что-нибудь предложить и отстоять любой ценой свою точку зрения.
Попробуйте хотя бы на время переключиться со своей позиции.
Попробуйте хотя бы на время переключиться со своей позиции.
Ох, Михаил, и не говорите. Очень тяжело с такими персонажами.
Каким образом это связано с возможностью изменения документов задним числом?
2. У вас есть подозрение что, что-то имеет физический доступ к устройству и может давать команды приводу? Тогда добавляется комплекс административных мер.
3. Нужно обеспечить достоверность? Для этого есть ЭЦП
И всё вместе это называется КОМПЛЕКС МЕР!
Все вот это вот
работает только тогда, когда цепочка хэшей есть в нескольких экземплярах, её хранители одинаково авторитетны и не могут сговориться. В битке это сделано через сложность пересчета цепочки, в приватном это никто делать не будет - электричество дорого. А в приватном и централизованном хэши пересчитываются опять же
А если у него есть вся база до момента этого ключа (тогда доказательством валидности будет возможность пересчета ключа с выходом на те же данные) - то и ключ не имеет смысла - есть же база.
В общем, больше безопасности, чем подписанный акт сверки приватный блокчейн дать не может.
Вся база в общем случае не дает безопасности. Безопасность дает блокчейн.
Вот у вас есть архивная копия и текущая база. И что? Как вы обнаружите изменения?
Если вы умудритесь так подправить базу, что у меня сойдутся баланс и прибыли и убытки и кэшфло, то несите. На эффективности фирмы ваш вынос не отразится.
Только вы максимум будете мусор на утилизацию не весь отправлять, а часть себе отсыпать на дачу и деньги на оплату утилизатора прикарманивать.
При вашей системе нести можно с любого склада и в любом количестве, которое будет не очень заметно.
"
Миф второй: блокчейн требует распределенной базы данных. Данные должны храниться параллельно у множества независимых друг от друга хранителей. И чем их больше, тем лучше. А если хранитель будет один, тогда вся технология теряет смысл. Почему это не соотвествует действительности, вы поймете из дальнейшего изложения.
"
при одной цепочке констатирует полное отсутствие валидной базы данных.
Или второй миф таки оказался не мифом?
Вся база в общем случае не дает безопасности. Безопасность дает блокчейн.
Вот у вас есть архивная копия и текущая база. И что? Как вы обнаружите изменения?
Вы провели инвентаризацию на складе и выявили недостачу. Что дальше?
В самом общем случае, если я - проверяющий и я обнаружил подмену цепочки, я просто перестаю доверять владельцу базы.
Вам пытаются донести, что блокчейн:
1. Это обычный инструмент как тысячи других
2. Он не появился недавно, а эта фича всегда использовалась ещё в незапамятные времена.
3. Революция отменяется :о)
А я вам пытаюсь донести, что:
1. У этого инструмента нет аналогов.
2. Блокчейн стал использоваться в 2008-ом в криптовалюте. Другие области применения еще только появляются прямо сейчас.
3. Считать что-то революцией или нет - это дело вкуса.
В частности:
Отсюда напрашивается вывод, что только в 2008 придумали механизм проверки достоверности цепочки данных. Я показал, что это СОВСЕМ не так.
Вы постоянно ссылаетесь на то, что мифические "алгоритмы" теперь смогут заменить ведомства/людей. Но, что мешало это сделать раньше? Может потому что всё упирается не только в достоверность каких-либо данных?
Я вообще не понимаю всего хайпа вокруг блокчейна именно по причине что этому "методу" уже почти под полтинник. Плюс только в том что круговорот денег увеличивается, но вот реальный полезный выхлоп около нуля.
Вы предубеждены. Попробуйте на время стереть ваши убеждения и посмотреть на вопрос свежим взглядом.
Я прекрасно понимаю как это можно использовать. Я прекрасно понимаю плюсы и ограничения. И про эти методы знал ещё в институтские годы.
Вы лучше про неперезаписываемый носитель расскажите. Вместе посмеемся.
Если вам не нравится именно слово "шифрование" в широком смысле термина, то акцентируйтесь на эцп
Расширьте кругозор :о) И это тоже институскотехникумовский курс о системах хранения данных.
Для примера на вскидку
Такие же системы есть и от других вендоров. Ищите по аббревиатуре WORM
И убедить то я пытаюсь только в этом.
А вот насчет кучи способов готов с вами согласиться, только если вы опишите хотя бы один способ из этой ваше кучи.
Тем, что мы имеем ВСЮ историю изменений.
Недопонимание из-за постоянных перескакиваний с одной темы на другую и, что логично, ответ по одному вопросу становится бессмысленным для другого.
Давайте определимся чего мы хотим добиться в результате:
* Узнать, что данные были тупо изменены?
Да тогда шифрование с использованием CBC и подобных алгоритмов (то что вы в своей статье называли блокчейном) на выходе знать что был изменён какой-то ОДИН первый в цепочке объект. Но что дальше делать с этим знанием?
* Обеспечить достоверность данных?
Тогда нужно хранить все изменения, но это большие накладные расходы
Можно комбинировать эти способы, можно добавить придумать ещё. Но каждый из них не может решить все проблемы или будет неприемлемо дорогим.
Если вы считаете, что есть другие решения, тогда опишите их. И я либо покажу вам, где вы ошибаетесь, либо соглашусь с вами, что, да, другие решения существуют.
И, кстати, неперезаписываемые носители не решают вообще ничего. Свойство неперезаписываемости конкретного носителя вам вообще ничего не дает. Подумайте сами. Купите себе ДВА неперезаписываемых компакт-диска. Положите их прямо перед собой. Посидите и помедитируйте над этим. И вы поймете - где ваша ошибка.
Специалистов "именно в этой области" на хабре достаточно и думаю их там даже больше чем специалистов по блокчейну на ИС.
5 стартмани это тарелка борща. Я ни сколько не хочу. Но то что вы предлагаете только 5 стартмани говорит мне о том что вы сами не верите в вашу систему. Как я могу доверять системе которой сам разработчик не доверяет?
2. Вы не поверите, но для реализации физический носитель не обязательно должен быть "одноразовым". Оптический диск это просто один ПРОСТЕЙШИЙ пример конкретного "бытового" устройства. А реально, по ссылкам которые я вам привёл, это комплексы хранения информации, которые с помощью многих методов обеспечивают целостность, неизменяемость и достоверность переданных им на хранение данных.
3. Ваш вопрос про ДВА носителя и попытки медитации на них не понял, просьба свою мысль доносить полностью. А то получится, что каждый своё придумает. Или вы этого и хотите?
4. Я именно и говорю, что решение обеспечения надёжности не может базироваться на одной какой-то "технологии", а только КОМПЛЕКС МЕР.
Если будете отвечать, то пожалуйста не односложными предложениями.
И пожалуйста объясните, чем предлагаемый вами "блокчейн" отличается от потокового шифрования CBC.
2,3 Я предложил вам подумать над тем, какой вообще может быть смысл в неперезаписываемом оптическом диске. Любой оптический диск можно перезаписать. На нем же или на ДРУГОМ диске. Вам это в голову не приходило?
4 Комплекс мер для обеспечения прозрачности базы данных исчерпывается применением блокчейна.
Более того. Никакие другие комплексы здесь не сработают. Я вам еще раз предлагаю. Попробуйте хотя бы мысленно сконструировать такой комплекс без блокчейна. И, если вы как следует подумаете, вы поймете, что такой комплекс задачу прозрачности не решит.
2,3 Ну если уж вы решили привязаться к хх-ROM то прочитайте про способ хранения на нём. Там точно так же поблочно хранятся контрольные суммы для контроля корректности считывания. А дальше при финализации каждого блока пишем ЭЦП.
Или вы говорите про подмену самого носителя? Для чего все производители стораджей делают WORM комплексы? Видимо дураки.
4. Ваша реализация потокового расчёта подписи (реально задачка для первокурсника) не обеспечивает никакой достоверности кроме вас самого без использования внешнего ключа (относительно незаинтересованной стороны). Прочитайте статьи про потоковые шифрование, эцп и т.д.. Эти темы обсуждаются десятки лет, а вы тут оказывается изобрели волшебство. А точнее колесо, которым уже десятки лет все благополучно пользуются не крича об этом.
Никто не против того что это устраивает вас лично, но все искренне сочувствую тому кто это решение у вас купит (ведь это модно звучит).
Предлагали ему создать приватный доверенный блокчейн где-нибудь, кроме своей фантазии, и заработать на нём миллиарды долларов.
Да что там инфостарт - весь мир и положение вещей в мире ему показывают наглядно, что ПРИВАТНЫЙ БЛОКЧЕЙН НЕ МОЖЕТ БЫТЬ ДОВЕРЕННЫМ. А если может, значит он так настроен, что доверие реализуется не блокчейном и сам блокчейн тут не нужен.
Но, видимо, есть люди, которые просто в принципе не способны обучаться и воспринимать информацию извне.
1. Приватный блокчейн ничуть не хуже распределенного. У них отличие только в том, что в случае приватного блокчейна владелец может уничтожить базу.
2. Не существует (по крайней мере на сегодняшний день) приемлемых на практике способов обеспечить прозрачность данных, не задействуя блокчейн.
Вот ваши две ошибки. Насчет первой мы уже все выяснили. После сто одного предложения с моей стороны описать уязвимость приватного блокчейна и полного отсутствия ответов с вашей стороны, вопрос можно считать закрытым.
Но вы можете взять реванш. И поспорить со мной по второму вопросу. Предложите систему обеспечения прозрачности без блокчейна. А я вам покажу, где вы ошибаетесь. Ну или не покажу и признаю, что вы были правы.
Вот статьи, в которых на примерах описаны проблемы приватных блокчейнов.
А ты можешь дальше делать вид, что ничего нет и толкать свою туфту.
Теперь, после того, как вы в очередной раз прорекламировали свои статьи, давайте переключимся на второй вопрос.
Единственное, что мы с тобой выяснили неоднократно - это то, что ты за свои слова не отвечаешь от слова совсем. Например, даже сейчас, зная, что в этих статьях есть опровержение всей той чуши, которую ты тут пытаешься лить, ты всё равно брешешь. Так что эти статьи не для тебя здесь. Эти статьи для того, кто вдруг каким-то чудом решит, что в твоих словах есть какая-то истина. Ну мало ли, вдруг ещё один такой же кадр попадётся))
Я тебе в сотый раз предлагаю заработать на своём неликвидном приватном михчейне миллиард долларов)) Как заработки? А то что-то ты со своими гениальными идеями дальше задворок инфостарта никуда не лезешь. Очень странно - такое гениальное открытие, а ты скрываешь от общественности)))
Вот и сейчас. Я вам предлагаю:
Опишите систему обеспечения прозрачности без блокчейна. Аргументируйте свои слова:
"...значит он так настроен, что доверие реализуется не блокчейном и сам блокчейн тут не нужен."
В ответ - ничего. Попробуйте перестроится и начать давать аргументы своим утверждениям. Всем сразу станет интереснее.
Кстати, второй вопрос мы вообще не обсуждали еще. Ни в этой ветке, ни где-нибудь еще. Здесь вы на что будете ссылаться, интересно?
Вот махчейн содержит 4 подписи на каждый конец дня, и по одной подписи да каждый момент цепи. Зав склад, супервизор, бухгалтер, итп. При чем путём подписи шнора или рса я могу проверить валидность всех подписей.
А нету подписи — я скажу Миша ты что решил что ты хитрее Одесского равина?
В топку твои хэшовские функции.
Теперь представь что каждую неделю ЭЦП меняетя у каждого из 4 участников — итого чтобы подделать цепь надо украсть 4*12меc*4 недели =196 подписей.
Получается такой блокчейн гарантирован 196 подписями в год
Магия блокчейна безгранична. Только надо понять суть и не городить щитчейны
Вы наверное ничего не поняли- блокчейн не для всех. Усе все последующие консультации платные. Одна консультация один биткоин
Чем плоха твоя система. Каждый день четыре человека подписывают чего-то. У них возникает резонный вопрос: а чего это мы подписываем? журнал? какой журнал? дайте посмотреть, что здесь вообще такое? какая-то абракадабра, почему я должен подписывать то, чего я не понимаю? И дальше получится следующее. Те, люди, которые относятся серьезно к своей подписи, они в этом участвовать не будут принципиально. А те, которым все пофиг, они своим подписям не хозяева по определению и дело кончится тем, что их приватные ключи окажутся у админа.
Я не против ЭЦП как таковых. Просто надо понимать их практическую применимость. Да, блокчейн работает надежно и обеспечивает 100% прозрачность. Но нам не нужна прозрачность ради прозрачности. Нам нужна прозрачность ради достоверности. А достоверность рождается только в реале. Блокчейн выдал нам: вот у вас новый документ в базе. Мы взяли первичку и проверили этот документ в базе. Блокчейн выдал: вот у вас старый документ отредактировали. Мы снова взяли первичку и проверили. И вот здесь, в идеале, можно было бы каждый акт такой проверки скреплять подписью. Тут люди будут понимать - что они подписывают. Но это - в идеале. А на практике если ты сделаешь систему удобную для пользователей, то она будет совсем ненадежна. А если ты попытаешься повысить надежность, тебе придется жертвовать удобством. И самое главное. Повышая надежность своей системы с подписями ты до 100% все равно не дойдешь. Если тебе это не очевидно, обращайся, я объясню - почему так. Я пока еще не достиг твоих расценок. Так что спеши воспользоваться)))
Какая может быть прозрачность если ты игнорируешь движения документов ? В 1с все строится на движениях , показывай в документах одно , в движениях другое . Пример пришло реально 5 шт товара , в движениях изменили на 4 шт. Одну штуку вынесли . Реальную проблему ты решил просто исключить ( что покажет инвентаризация ?)
2) твой блок чейн - очень сильно зависит от человеческого фактора - т.е. пользователю приходится самому копировать последний хеш документа (операцию копирования кстати можно перехватить ) и время от времени инициировать проверки , а если он не один такой , есть куча других поставщиков , и часто идёт изменения задним числом + новые документы
Необходимость запускать проверку. А теперь если будет 50 пользователей , и база с кучей документов и все захотят проверить цепочку ?
1. Включать движения документа в данные для сериализации.
2. Сериализовать только движения.
3. Использовать отчеты по документам.
Пользователь может выбирать из этих трех способов наиболее подходящий для его ситуации. Я рекомендую начинать с третьего. Если есть возможность воспользоваться им, то он лучший.
Не могу согласиться с тем, что контроль над 32 байтами приводит к сильной зависимости от человеческого фактора. Скорее наоборот, зависимость сводится к минимуму. Приведите пример решения этой же задачи, где зависимость будет еще меньше.
Про движения сами говорили что будет множество изменений и в журнале будет мусор.
Опять же , если есть человеческий фактор ( надо запускать проверку , надо сохранять куда-то последний хэш) , то уже есть вероятность как-то повлиять на систему( и мы это с вами уже обсуждали)
Ещё один момент , мне не совсем понятен что сериализуется например в документе был контрагент ООО «ясень» с инн хххххххх , я добавляю дубль данного контрагента с инн ууууууууу и меняю его в документе
1. Сериализуем ссылки. Контролируем изменения справочников.
2. Сериализуем содержимое элемента справочника (это, как правило, наименование).
Здесь, опять же, смотрим по ситуации. Я рекомендую второй способ.
Другой вариант: у вас в блокчейне только ПТиУ и РТиУ, но реквизит "Контрагент" вы сериализуете как Наименование+ИНН или просто Наименование.
От "я", через "мы" к "вы"...
Нет, Михаил. Сериализуете-то как раз вы, и никто другой.
Пару лет назад на ресурсе хабр я публиковал несколько статей насчет персонального (читай, приватного) блокчейна. Более того, идею проверял на практике, создав вполне работоспособный блокчейн на основе своих идей. Не знаю, допустимы ли на этом форуме ссылки, но попробуйте найти статьи поиском на хабре по названиям: Метод гарантирования доверия в блокчейнах. Прототип платежной криптосистемы. Авантюрный проект.
Если будут вопросы, то пишите.
Ваша демо ссылка не работает
Это ваша статья? Начало почитал - так ведь не стыковка получается. По вашему получается Крипто-анархист уверует большинству? С чего бы вдруг?
У Bitcoin - есть протокол консенсуса PoW (proof of work или доказательство вычисления). Биткоин - есть Цифровой Анархизм.
Еще бывают превдо-консенсусы типа PoS (proof of Stake или доказательство доли/бабла/толпы/лампасов).
Как раз туда Бутерин рвется в PoS. Ну так сказать туда ему и дорога вместе с остальными щитками. Откуда пришел - оттуда и ушел
Разница лишь в том что я предпочитаю сельдерей петрушку и укроп, а вам вам все одного цвета и запаха?
Например, ответить - чем на данный момент PoW отличается от PoS.
Ссылка действительно сейчас не работает, так как не стал продлевать домен того проекта.
Криптуанархисту все равно приходится верить в этой жизни. хотя бы для того, чтобы элементарно жить. Он же покупает, например, хлеб в магазине. А вдруг туда битое стекло запихали? :)
В упомянутой статье речь немного о другом. Не о вере, а о принятии решения в условиях тотального недоверия друг к другу. Это разные вещи.
Кстати, в той статье я упоминал о PoW как о механизме, в котором можно манипулировать. Дело даже не в наличии мощных узлов в Китае самих по себе, важнее наличие добровольных пулов "независимых" майнеров, которые контролируются теми узлами.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 1114877
Создание 02.09.19 08:40
Обновление 02.09.19 08:40
Просмотры 11723
Загрузки 0
Рейтинг
11
Комментарии 140
Код открыт Да
Рубрики Математика и алгоритмы
Кому Для всех
Тип файла Нет файла
Платформа Не имеет значения
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)