Серед сучасних криптовалют не так багато тих, хто приніс реальні інновації. Але Ethereum, безсумнівно, входить до їх числа.
Поява на ринку криптовалют Ethereum супроводжувалася чималою помпою, перераховувалися переваги нової системи, і серед них перше місце посідали смарт-контракти.
Не те, щоб це було щось раніше небачене. Ідея смарт-контрактів була озвучена ще 1994 року Ніком Сабо. Однак практична реалізація цих ідей стала можлива лише з появою життєздатної реалізації технології блокконструкції. Однак навіть визначення, що дається смарт-контрактам у вікіпедії, помітно відрізняється від того, чим є насправді смарт-контракти в Ethereum.
У чому ж різниця?
Для початку - як ми очікуємо від технології, яка називається смарт-контракт (“розумний договір”), як мінімум, що це - договір (контракт же), тобто щось, що має юридичну силу. З "розумним" - трохи складніше, але теж логічно припустити, що це, як мінімум, технологія, за якої сама угода є не просто записом, а має якісь інтелектуальні функції. Як приклад наводиться ситуація, коли виконання умов, описаних у самрт-контракті, автоматично викликає переказ грошей.
На практиці, принаймні у контексті Ethereum, все не зовсім так. А якщо точніше – то це зовсім не так.
По-перше, відразу розлучимося зі словом "контракт" - очевидно, що смарт-контракти Ethereum не мають і не можуть мати жодної юридичної сили. І не лише тому, що жоден нотаріус чи суд не визнає їх. А за самою своєю природою.
Так, технологія blockchain є практично ідеальним сховищем даних, яке відмінно захищає дані від втрати та спотворення. Навіть у bitcoin blockchain можна зберегти текст договору і він залишиться в незмінному вигляді доступним на весь час існування цього блокчейну.
Проте те, що в Ethereum прийнято називати контрактом - це не договір між суб'єктами. А якийсь набір програмного коду. Якщо придивитися до Ethereum, особливо до того, як його позиціонують самі розробники - це не криптовалюта в чистому вигляді. Самі розробники називають Ethereum “Розподіленою віртуальною машиною на основі технології блокчейн”. Навіть визначення Ethereum у вікіпедії звучить так:
платформа для створення децентралізованих онлайн-сервісів на базі блокчейну (Đapps, Decentralized applications, децентралізованих додатків), що працюють на базі розумних контрактів..
Знайдіть тут слово "криптовалюта". Так ось ці Đapps і називають найчастіше смарт-контрактами. В інтернеті часто виникає плутанина і непорозуміння, в чому між цими поняттями різниця, проте для простоти я не буду вдаватися в нетрі функціонування EVM (Ethereum Virtual Machine). байт-коду. Найпоширенішою мовою програмування, заточеною спеціально під Ethereum, є Solidity - розвиток широко поширеного JavaScript з низкою серйозних обмежень та особливостей синтаксу.
Для того, щоб обмежити навантаження та не дозволити несумлінним розробникам використовувати надто багато ресурсів мережі, виконання смарт-контракту потребує використання газу (gas) – своєрідної внутрішньої валюти. Нижче я навів типовий приклад смарт-контакту.
А чому все ж таки “Море і свинки?”. Тому що морська свинка не має відношення ні до моря, ні до свиней...
contract Mortal {
address owner;
function Mortal() {owner=msg.sender; }
function kill() { if (msg.sender == owner) selfdestruct(owner); }
}
contract Greeter is Mortal {
string greeting;
function Greeter(string _greeting) public {
greeting = _greeting;
}
function greet() constant returns (string) {
return greeting;
}
}
Читайте також
Як альткоїни за биткоином ходили
Багато хто з вас давно звернув увагу, як сильно корелюють ціни альткоїнів з динамікою криптовалютної пари BTC/USD. Сьогодні розуміємося на причини такого сильного «родинного зв'язку»
Індикатор стохастик - принцип роботи та використання у трейдингу
У своїх оглядах ми часто згадуємо індикатор стохастик, сигналами якого керуємося при торгівлі криптовалютою. У нашому огляді ми коротко розповімо про деякі технічні особливості і пояснимо деякі його сигнали.
