Первую статью серии мы посвятим так называемым смарт-контрактам. Сама идея смарт-контрактов витала в воздухе несколько десятилетий, но свое современное имя и концептуальные очертания приобрела в 2005 году, когда Ник Сабо представил ее вниманию заинтересованной в криптографии публики. Суть термина очень проста: смарт-контракт – это контракт, который исполняется без постороннего вмешательства. Другими словами, если обычный контракт – это лист бумаги (или PDF-документ) с текстом, согласно которому одна сторона должна отправить деньги (или другую собственность) другой стороне при соблюдении определенных условий, то смарт-контракт – это компьютерная программа, которая сама автоматически выполняет эти условия. Ник Сабо использовал пример с вендинговыми автоматами:
Классический пример из реальной жизни – простой вендинговый автомат, можно сказать, примитивный предшественник смарт-контрактов. Он принимает монеты в пределах определенной суммы (сумма в кассе не должна превышать затраты злоумышленников на ее взлом) и за счет простого механизма – на уровне задач для студентов-программистов первого курса – выдает товар и сдачу в соответствии с указанной ценой. Вендинговый автомат – это контракт на предъявителя, то есть обмен с ним может совершить любой, у кого есть достаточно монет. Замки и другие защитные механизмы оберегают товары и монеты от взломщиков, и этого вполне достаточно, чтобы продавцам было выгодно использовать такие автоматы.
В смарт-контрактах тот же принцип применяется для, скажем так, самых широких задач. Например, финансовые смарт-контракты могут автоматически перемещать деньги на основании заданных формул и условий; смарт-контракт на продажу доменного имени может автоматически отдать его первому, кто заплатит за него $200; возможны даже страховые смарт-контракты, которые контролируют банковские счета и автоматически осуществляют выплаты на основании данных о событиях в реальном мире из надежного источника (или источников).
Здесь, однако, возникает очевидный вопрос: как эти контракты будут исполняться? Традиционный контракт не стоит и цены листа бумаги, на котором он написан, пока, например, судья, обладающий законной властью, не гарантирует его исполнение. Со смарт-контрактами все то же самое: чтобы возыметь силу, они должны быть «встроены» в какую-то систему. Самое старое и очевидное решение – специальное оборудование, известное также как «умная собственность». Вендинговый автомат Ника Сабо – хороший пример такого решения. Ведь внутри автомата находится, можно сказать, протосмарт-контракт с примерно таким компьютерным кодом:
if button_pressed == “Coca Cola” and money_inserted >= 1.75:
release(“Coca Cola”)
return_change(money_inserted – 1.75)
else if button_pressed == “Aquafina Water” and money_inserted >= 1.25:
release(“Aquafina Water”)
return_change(money_inserted – 1.25)
else if …
Этот контракт имеет четыре привязки к внешнему миру: входные