Веха номер один для биткойнов

При создании ассемблера или компилятора важнейшей вехой является то, когда ассемблер или компилятор может собрать или скомпилировать себя.

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

То же самое и с биткойнами.

Скрипт был разработан для встраивания данных.

PUSHDATA2 допускал до 65 535 байтов встроенных данных.
Это могло охватывать практически все виды шаблонов частных транзакций.
Открытые ключи государственных органов и компаний для клиента для шифрования личных данных, и только это конкретное правительство или компания будут способен расшифровать.

Биткойн изначально был разработан и построен на платформе Windows.

Всякий раз, когда приложение создавалось для платформы Windows, у вас был выбор, объединить ли все в один исполняемый файл или разделить части на статические или динамические библиотеки.

Разделение кода на библиотеки позволило повторно использовать одни и те же библиотеки в других проектах и ​​публиковать их для использования другими разработчиками.

Основное различие между статическими и динамическими библиотеками заключается в следующем:
Статические библиотеки встраивают свои данные и код в ваше скомпилированное приложение.
Динамические библиотеки устанавливают маркеры в вашем приложении и ожидают, что данные и код библиотеки будут на хосте. машина.

Если бы каждое приложение статически связывало одну и ту же библиотеку, это было бы пустой тратой места на жестком диске и раздуванием исполняемого файла до ненужного размера.

Преимущество использования статической библиотеки заключается в том, что все данные и код идут вместе с исполняемым файлом, поэтому вам не нужно беспокоиться о том, есть ли у пользователя правильная DLL на своей машине.

Для уменьшения размера приложения, чтобы размер файла был минимальным и чтобы его можно было быстро и успешно отправить через Интернет, были использованы библиотеки динамической компоновки.

Это создает ситуацию, называемую «адом DLL», когда вы заранее не знаете, есть ли у пользователя DLL на своей машине или правильная версия выпуска.



Одним из решений "ада с DLL" было послать DLL вместе с исполняемым файлом, все в аккуратно заархивированном виде.

Однако, если вы все равно собираетесь отправить DLL, вы также можете скомпилировать ее с помощью статической библиотеки.

Если вы отправляете DLL, она обычно помещается в тот же каталог, что и исполняемый файл, и вы не получаете преимуществ от использования библиотеки DLL среди других приложений.

Разве не было бы замечательно, если бы у нас была технология, которая позволяла бы репозиторию динамически подключаемых библиотек быть доступным для всех, везде и в одно и то же время?
Где-нибудь, что нельзя будет закрыть, если остановится служба хостинга.

Приложению потребуется только включить информацию о том, где расположены библиотеки DLL, на которые оно полагается, и как их загрузить / расшифровать / разархивировать.

Вот где в игру вступают коды операций PUSHDATA в сценарии Биткойн.

PUSHDATA2 позволяет встроить в основную цепочку DLL размером до 65 535 байт.
PUSHDATA4 позволяет встраивать файлы размером от сотен килобайт до сотен мегабайт в основную цепочку.

Вехой номер один Биткойн является встраивание клиентского исполняемого файла и любых необходимых DLL в саму цепочку.

Затем будет исходный код, необходимый для перекомпиляции приложения.

Как только это будет сделано, больше не будет иметь значения, закрывают ли правительства или компании репозитории Биткойн.

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

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