«Код есть Закон» и Ветхозаветные Боги
«Код есть Закон» и Ветхозаветные Боги
Одна из моих любимых цитат о компьютерах принадлежит Джозефу Кэмпбеллу: Компьютеры похожи на ветхозаветных богов; куча правил и никакого милосердия.
Несмотря на фривольность, в этом заявлении достаточно правды. Компьютерные программы глупы, педантичны и абсолютно беспощадны. Большинство главных инноваций в разработке софта за последние несколько десятилетий кажутся лишь попытками защитить нас от самих себя. Будь то общепринятое событие вроде разработки с тестированием, или же линтинг в сторону оккультных методов вроде логики Хоара, можете посмотреть отличное руководство тут. Разработка софта, кажется, является искусством ментальной самозащиты.
Вне моего знания и вне знания любого компьютерного ученого предлагать универсальный метод написания корректного кода. Даже тогда, когда проигрыш стоит миллионы, как в космической отрасли, мы все равно наблюдаем почти комичные ошибки, вроде того прокола NASA с метрикой в 1999 году. Так что, это может оказаться Сизифовым трудом пытаться сделать все идеально. Неужели лучшее, на что мы можем надеяться — преимущественно стабильное приложение, которое быстро латают и естественным образом чистят по достижении определенной планки технического долга? Философия Кремниевой Долины «двигайся напролом, разрушай всё вокруг» похоже подтверждает данное предположение.
Однако, по номинальной ценности «Код есть Закон» — это мантра, которая требует совершенства, и, подобно ветхозаветным богам, вершит сокрушительную месть над проигравшими. Моя главная мысль в том, что данная интерпретация неверна. В лучшем случае это непонимание, ну а в худшем — политически мотивированный кукольный театр.
Насколько обосновано утверждение «код есть закон»?
Когда Эфириум начал движение Иллегальности, слоган гласил код, который ни что не волнует. Моя интерпретация этой идеи состоит в том, что беспокойство не может существовать на уровне протокола. Решать вещи, связанные с эмоциями человека — это ответственность автора, пользователей, а также их соответствующих юрисдикций. Протокол — как Биткойн до него — должен быть автоматизированным голиафом, обрабатывающим одну строку логики за другой, пока на выходе не появится что-то значащее.
Такие суждения, кажется, угнетают наше человеческое чувство морали. Мы можем представить себе современную версию любознательного убийцы, который привязывает таймер оружия массового уничтожения к смарт-контракту. Стоит ли нам подвергнуть цензуре контракт, чтобы бомба не взорвалась? Действительно ли парадигма «Код есть Закон» стоит человеческих жизней? Более детальные дискуссии можно прочесть в отличной работе Ши, The Ring of Gyges.
Самый вероятный корень этих дебатов растет из соединения человеческой и компьютерной этики. Протоколы криптовалют, автономные транспорты, дроны и другие системы, которые частично или полностью управляются кодом, не могут управляться человеческой моралью. Они отстранены от нее. Такая реальность также делает их очень предсказуемыми, устойчивыми к коррупции и насилию. Нет никакого эго, чтобы его защищать. Нет предвзятости в суждениях.
Мы не привыкли взаимодействовать с такого типа системами. Люди — создания исключений, предубеждений и отношений. Мы строим широкую сеть контактов для защиты себя от непредвиденных проблем. Мы налаживаем политические связи чтобы получать преимущества. Ещё более социопатичные манипулируют эмоциями или получают желаемое вымогательством. Такое поведение — хорошо это или плохо — ожидаемо, и является полностью человеческим.
Когда представленная действующая сторона не сходится с нашими ожиданиями, мы можем просто наслаждаться её хорошими качествами, но многие немедленно хотят изменить его природу, как только столкнутся с последствиями. Инцидент с The DAO не является драматическим событием в стиле «черного лебедя». Это норма. Итак, мы стоим перед странным выбором: Нормально ли, что люди будут управляться системами, которым в эмоциональном плане нет до нас дела?
Однобокие понятия
Возвращаясь к началу, наверное, самый сложный компонент данной парадигмы лежит в нашей неспособности полностью выразить наши замысел и волю относительно компьютеров. Мы попросту не говорим на одинаковых языках, и не можем достигнуть достаточной точности чтобы гарантировать, что не произойдут непредвиденные вещи. Кажется, несправедливо карать кого-то за неправильную трактовку. Тем не менее, это понятие кажется ужасно однобоким.
Мы можем легко увидеть бреши в компьютерной интерпретации, однако, что если дефективна человеческая сторона? Например, недавняя авария автопилота Tesla привлекла внимание мировой общественности. Репортеры и группы защиты потребителей быстро начали вещать о скорейшем закрытии разработки технологии автопилота как о оптимальной мере безопасности; эмпирические доказательства показывают четко, что даже в недоработанном виде, автопилот Tesla намного более безопасный, чем пьяный водитель. Сколько людей отвлекающиеся и расслабленные водители убивают каждый год?
Такие нюансы, как мне кажется, обычно теряются в аргументах против идеи «Код есть Закон». Мы любим спорить, обсуждая все от конкретных деталей и до общих концепций, но не вникаем в долгосрочные выгоды. Существование Биткойна спровоцировало драматическую эволюцию в платежных системах и банкинге. Все это спровоцировало уменьшение комиссий и более широким включение в мировую финансовую систему. Все это произошло без регулирования на уровне протокола и без принятия человеческой этики. Нам нужно было создавать гуманность за рамками протокола.
Точно так Эфириум, под воздействием парадигмы «Код есть Закон», заставляет нас присмотреться к вопросу точности на куда более высоком уровне. Он заставляет инженеров недвусмысленно кодировать исключения, пути к апгрейдам или защиты от ошибок в свои смарт-контракты. Это стимулирует лучшие практики и наказывает более пагубные. Это кажется эволюционным стимулятором в сторону лучших стандартов инженерного дела. Более того, это заставляет людей куда более тщательно продумывать мотивы и последствия.
Главная мысль тут в том, что код закона не говорит, что вы не имеете права на вмешательство или оспаривание. Он не говорит, что вам нужно оставить в прошлом локальные законы и регулирование. Он говорит о том, что вам нужно запрограммировать всё это в смарт-контракт. Даже более того, где сложно смоделировать предназначение программированием, разработчик сможет создать предметный язык для его захвата, а люди будут судить позже.
Это необходимые шаги для безопасного взаимодействия с ветхозаветным богом кода. И, они и правда несут с собой отличные преимущества. Вы получаете намного лучшие контракты, более ясное выражение намерения, библиотеки с открытым исходным кодом, которые можно использовать снова, и появляющиеся правительственные регуляции, подстроенные под учёт новой технологии. Ничего подобного не нужно если вы разрешаете вмешательство человека на уровень протокола.
Познай самого себя
Я предполагаю, надо иметь достаточно смелости для путешествия в новые земли. Мы не можем по-настоящему оценить дорогу, которая впереди, не можем предсказать события, которые нас ранят, но мы можем принять тот факт, что мы несовершенные создания.
Существование ветхозаветных протоколов является памятником для нашего интеллекта. Мы создали нечто, позволяющее нам преодолеть нашу собственную природу и взаимодействовать с чем-то совершенно иным.
Пока взаимодействия имеют последствия, они делают нас лучше и заставляют думать по-другому. Для меня, это новая эпоха гуманности, которую мы должны всячески поддерживать. Настал момент познать самих себя в 21 веке. Давайте не профукаем его.
Автор: Чарльз Хоскинсон
Источник