«Код есть Закон» и Ветхозаветные Боги

Код есть Закон

Одна из моих любимых цитат о компьютерах принадлежит Джозефу Кэмпбеллу: Компьютеры похожи на ветхозаветных богов; куча правил и никакого милосердия.

Несмотря на фривольность, в этом заявлении достаточно правды. Компьютерные программы глупы, педантичны и абсолютно беспощадны. Большинство главных инноваций в разработке софта за последние несколько десятилетий кажутся лишь попытками защитить нас от самих себя. Будь то общепринятое событие вроде разработки с тестированием, или же линтинг в сторону оккультных методов вроде логики Хоара, можете посмотреть отличное руководство тут. Разработка софта, кажется, является искусством ментальной самозащиты.

Вне моего знания и вне знания любого компьютерного ученого предлагать универсальный метод написания корректного кода. Даже тогда, когда проигрыш стоит миллионы, как в космической отрасли, мы все равно наблюдаем почти комичные ошибки, вроде того прокола NASA с метрикой в 1999 году. Так что, это может оказаться Сизифовым трудом пытаться сделать все идеально. Неужели лучшее, на что мы можем надеяться — преимущественно стабильное приложение, которое быстро латают и естественным образом чистят по достижении определенной планки технического долга? Философия Кремниевой Долины «двигайся напролом, разрушай всё вокруг» похоже подтверждает данное предположение.

Однако, по номинальной ценности «Код есть Закон» — это мантра, которая требует совершенства, и, подобно ветхозаветным богам, вершит сокрушительную месть над проигравшими. Моя главная мысль в том, что данная интерпретация неверна. В лучшем случае это непонимание, ну а в худшем — политически мотивированный кукольный театр.

Насколько обосновано утверждение «код есть закон»?

Когда Эфириум начал движение Иллегальности, слоган гласил код, который ни что не волнует. Моя интерпретация этой идеи состоит в том, что беспокойство не может существовать на уровне протокола. Решать вещи, связанные с эмоциями человека — это ответственность автора, пользователей, а также их соответствующих юрисдикций. Протокол — как Биткойн до него — должен быть автоматизированным голиафом, обрабатывающим одну строку логики за другой, пока на выходе не появится что-то значащее.

Такие суждения, кажется, угнетают наше человеческое чувство морали. Мы можем представить себе современную версию любознательного убийцы, который привязывает таймер оружия массового уничтожения к смарт-контракту. Стоит ли нам подвергнуть цензуре  контракт, чтобы бомба не взорвалась? Действительно ли парадигма «Код есть Закон» стоит человеческих жизней? Более детальные дискуссии можно прочесть в отличной работе Ши, The Ring of Gyges.

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

Мы не привыкли взаимодействовать с такого типа системами. Люди — создания исключений, предубеждений и отношений. Мы строим широкую сеть контактов для защиты себя от непредвиденных проблем. Мы налаживаем политические связи чтобы получать преимущества. Ещё более социопатичные манипулируют эмоциями или получают желаемое вымогательством. Такое поведение — хорошо это или плохо — ожидаемо, и является полностью человеческим.

Когда представленная действующая сторона не сходится с нашими ожиданиями, мы можем просто наслаждаться её хорошими качествами, но многие немедленно хотят изменить его природу, как только столкнутся с последствиями. Инцидент с The DAO не является драматическим событием в стиле «черного лебедя». Это норма. Итак, мы стоим перед странным выбором: Нормально ли, что люди будут управляться системами, которым в эмоциональном плане нет до нас дела?

Однобокие понятия

Возвращаясь к началу, наверное, самый сложный компонент данной парадигмы лежит в нашей неспособности полностью выразить наши замысел и волю относительно компьютеров. Мы попросту не говорим на одинаковых языках, и не можем достигнуть достаточной точности чтобы гарантировать, что не произойдут непредвиденные вещи. Кажется, несправедливо карать кого-то за неправильную трактовку. Тем не менее, это понятие кажется ужасно однобоким.

Мы можем легко увидеть бреши в компьютерной интерпретации, однако, что если дефективна человеческая сторона? Например, недавняя авария автопилота Tesla привлекла внимание мировой общественности. Репортеры и группы защиты потребителей быстро начали вещать о скорейшем закрытии разработки технологии автопилота как о оптимальной мере безопасности; эмпирические доказательства показывают четко, что даже в недоработанном виде, автопилот Tesla намного более безопасный, чем пьяный водитель. Сколько людей отвлекающиеся и расслабленные водители убивают каждый год?

Такие нюансы, как мне кажется, обычно теряются в аргументах против идеи «Код есть Закон». Мы любим спорить, обсуждая все от конкретных деталей и до общих концепций, но не вникаем в долгосрочные выгоды. Существование Биткойна спровоцировало драматическую эволюцию в платежных системах и банкинге. Все это спровоцировало уменьшение комиссий и более широким включение в мировую финансовую систему. Все это произошло без регулирования на уровне протокола и без принятия человеческой этики. Нам нужно было создавать гуманность за рамками протокола.

Точно так Эфириум, под воздействием парадигмы «Код есть Закон», заставляет нас присмотреться к вопросу точности на куда более высоком уровне. Он заставляет инженеров недвусмысленно кодировать исключения, пути к апгрейдам или защиты от ошибок в свои смарт-контракты. Это стимулирует лучшие практики и наказывает более пагубные. Это кажется эволюционным стимулятором в сторону лучших стандартов инженерного дела. Более того, это заставляет людей куда более тщательно продумывать мотивы и последствия.

Главная мысль тут в том, что код закона не говорит, что вы не имеете права на вмешательство или оспаривание. Он не говорит, что вам нужно оставить в прошлом локальные законы и регулирование. Он говорит о том, что вам нужно запрограммировать всё это в смарт-контракт. Даже более того, где сложно смоделировать предназначение программированием, разработчик сможет создать предметный язык для его захвата, а люди будут судить позже.

Это необходимые шаги для безопасного взаимодействия с ветхозаветным богом кода. И, они и правда несут с собой отличные преимущества. Вы получаете намного лучшие контракты, более ясное выражение намерения, библиотеки с открытым исходным кодом, которые можно использовать снова, и появляющиеся правительственные регуляции, подстроенные под учёт новой технологии. Ничего подобного не нужно если вы разрешаете вмешательство человека на уровень протокола.

Познай самого себя

Я предполагаю, надо иметь достаточно смелости для путешествия в новые земли. Мы не можем по-настоящему оценить дорогу, которая впереди, не можем предсказать события, которые нас ранят, но мы можем принять тот факт, что мы несовершенные создания.

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

Пока взаимодействия имеют последствия, они делают нас лучше и заставляют думать по-другому. Для меня, это новая эпоха гуманности, которую мы должны всячески поддерживать. Настал момент познать самих себя в 21 веке. Давайте не профукаем его.

Автор: Чарльз Хоскинсон

Источник: Steemit



Рубрики:DApps, Анализ, Важное, Мнение, Новичкам, Сообщество, Теория, ETC, Ethereum

Метки: , ,

3 replies

  1. Код есть закон, не совсем верная формулировка. Я бы сказал так: «Контракт или соглашение есть закон для тех кто его принимает. Действие контракта или соглашения продолжается до тех пор, пока он принимается как закон». Это не значит что нужно подчиняться коду во что бы то ни стало. Но значит, что нарушение закона означает прекращение его работы.

    Иначе говоря, я не за строгую формулировку: вор украл, значит имеет право на деньги, нет. Конечно, можно эти деньги вернуть или откатить, но это означает нарушение соглашения. В случае с TheDAO и Ethereum было нарушено сразу два соглашения. Первое соглашение касалось работы самого контракта TheDAO. Оно нарушено ещё хакером, который воспользовался уязвимостью в нем. Такую ошибку воплне можно исправить и вернуть средства и или просто перевести средства на новый контракт. Говорить о том, что деньги по праву принадлежат хакеру не совсем верно, хотя полностью игнорировать это нельзя.

    Второе соглашение касалось Ethereum, и их там было нарушено целых несколько. Во первых, это соглашения о необратимости транзакций. Это является соглашением в криптовалютах ещё из биткоина. И оно переносится на все криптовалюты, потому что обычно подразумевается. Иные случаи должны быть объявлены заранее, пока откат транзакций не станет обычным делом, когда будет нужно явно оговаривать возможность или невозможность откатов.

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

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

    Что следует отметить, что и классик не является продолжением изначального контракта. Дело в том что в изначальном было очень много недосказанностей, которые должны были быть устранены на усмотрение разработчиков. Так не определены максимальное количество монет, алгоритм консенсуса на будущее. В классике все эти дыры остались. Потому нужно сначала придти к соглашению по этим параметрам. Но это уже не будет изначальным контрактом. Даже решение «оставить все как есть», будет решением сверх того, что были приняты EF.

    Сейчас в классике нужно устранить неопределенности. Пока есть такой момент. Не нужно его запускать так же, как был запущен изначальный Ethereum. Нужно явно выбрать направление движения уже сейчас. Выбрать, будет ли PoW, PoW с мастернодами или какойто-ещё PoS. Не нужно затягивать с этим, и говорить, потом решим.

Trackbacks

  1. Кто такой Эфириум Классик? — EthereumClassic
  2. «Код есть Закон» и Ветхозаветные Боги – Bit•Новости

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s