Module 1 → Lesson 8 → Part 1 of 8
Почему цифровые деньги оказались сложнее цифрового файла
Lesson contents
- Почему вообще появилась идея криптовалют
- Проблема двойного расходования
- Почему обычным цифровым деньгам нужен доверенный центр
- Первые попытки создать цифровые деньги
- Cypherpunks: деньги, приватность и свобода от посредника
- Hashcash, b-money и Bit Gold: идеи, из которых вырос Bitcoin
- Bitcoin: что именно удалось соединить в работающую систему
- Итоги: какую проблему на самом деле решали криптовалюты
What you'll learn
Деньги уже были цифровыми. Так зачем понадобились криптовалюты?
В прошлом уроке мы пришли к важному выводу: криптовалюты появились не потому, что кому-то впервые пришла в голову идея сделать деньги цифровыми.
Банковские деньги к этому моменту уже давно существовали в электронном виде.
На счетах были цифровые записи.
Банки обменивались электронными сообщениями.
Люди платили картами.
Поэтому задача была другой.
И значительно сложнее.
Представим самый простой вариант цифровых денег
Допустим, мы создадим файл `100_EUR.money` и договоримся: этот файл стоит 100 €.
Emma Lee отправляет его Alex Morgan.
Готово?
Получились цифровые деньги?
Не совсем.
У цифрового файла есть неприятная особенность
Emma может скопировать файл и получить четыре одинаковых: `100_EUR_1.money`, `100_EUR_2.money`, `100_EUR_3.money`, `100_EUR_4.money`.
А затем отправить один файл Alex, другой Sofia, третий Daniel.
Исходные 100 € внезапно превратились в 300 €.
Не лучший фундамент денежной системы.
Цифровые данные прекрасно копируются
Это одно из величайших достоинств компьютеров.
Фотография может существовать: на ноутбуке; в телефоне; в облаке; у друга.
При копировании исходная фотография не исчезает.
Именно так цифровые данные обычно и должны работать.
Но для денег это создает проблему.
Деньги должны обладать другим свойством
Если Emma передает Alex банкноту 100 €, то после передачи у Emma остается 0 €, а у Alex — 100 €.
У Emma больше нет этой банкноты.
Физический объект нельзя одновременно оставить у Emma и передать Alex.
А цифровой файл можно
До передачи файл `100.money` есть только у Emma.
После обычного копирования такой же файл есть и у Emma, и у Alex.
Теперь оба имеют одинаковые данные.
Для фотографии — прекрасно.
Для денег — катастрофа.
- 1Копирование данных — нормальное свойство цифровой информации: фотографию можно скопировать сколько угодно раз, и это никого не смущает.
- 2Копирование ценности — здесь копия данных не должна автоматически становиться новой действительной денежной единицей.
Главная проблема цифровой ценности
Чтобы цифровые деньги работали, система должна каким-то образом обеспечить правило: одни и те же деньги нельзя потратить несколько раз.
И здесь возникает фундаментальный вопрос: кто будет следить за выполнением этого правила?
Банковская система уже знает ответ
Представим, что у Emma на банковском счете 100 €.
Она переводит Alex 100 €.
Банк меняет учет: у Emma было 100 €, стало 0 €; у Alex было 0 €, стало 100 €.
Если Emma попробует отправить еще 100 € Sofia, банк увидит, что доступный баланс Emma равен 0 €, и вторую операцию не выполнит.
Значит, проблема решена?
В банковской модели — да.
Потому что существует организация, которая ведет официальный учет.
- 1У Emma на счете 100 €.
- 2Банк ведет официальный учет и обрабатывает распоряжение.
- 3Emma переводит Alex 100 €.
- 4После операции у Emma остается 0 €.
- 5Emma пытается отправить те же 100 € Sofia.
- 6Доступный баланс — 0 €, поэтому вторая операция отклоняется.
Банк знает историю
Банк знает: сколько денег было у Emma; какие операции она уже выполнила; сколько осталось; может ли быть выполнена следующая операция.
Но появляется знакомое условие.
Все участники должны признать учет банка официальным
Если Emma говорит «у меня еще есть 100 €», а банковский учет говорит «нет, вы их уже отправили», для системы важен учет банка.
То есть цифровые банковские деньги решили проблему через доверенный реестр.
Это очень эффективная архитектура: один официальный учет проверяет баланс, проверяет операции и делает невозможным потратить одну позицию дважды.
Но теперь вернемся к вопросу предыдущего урока.
А можно ли убрать этот центр?
Представим систему, где Emma отправляет средства Alex напрямую.
Банка нет.
Платежного оператора нет.
Единой компании, ведущей официальный реестр, тоже нет.
На первый взгляд стало проще.
Но теперь Alex должен понять: действительно ли эти 100 единиц принадлежат Emma?
И еще важнее: не отправила ли Emma эти же 100 единиц кому-то еще?
Alex не может просто поверить файлу
Emma отправляет файл `digital_coin_100`.
Файл выглядит абсолютно правильно.
Подпись тоже может быть настоящей.
Но этого недостаточно.
Почему?
Потому что Emma могла подписать распоряжение «Emma → Alex: 100», а через секунду — «Emma → Sofia: 100».
Обе команды могут быть технически подлинными.
Но денег хватает только на одну.
Вот где начинается настоящая сложность
Проблема цифровых денег состоит не только в вопросе «кто отправил операцию?».
Нужно решить еще один вопрос: «каково правильное текущее состояние всей системы?».
То есть нужно знать историю.
Состояние зависит от истории
Допустим, сейчас появляется операция «Emma → Alex: 100».
Она может быть корректной.
А может быть некорректной.
Все зависит от того, что произошло раньше.
Если Emma получила 100 и потратила 0 — перевод Alex допустим.
Если Emma получила 100 и уже отправила Sofia 100 — перевод Alex недопустим.
Одна и та же новая операция.
Разный результат в зависимости от истории.
Значит, цифровым деньгам нужен реестр
Для цифровых денег реестр может отвечать на вопросы: кто получил средства; кто их уже потратил; какие операции признаны действительными; какое состояние является текущим.
Мы уже встречали реестры в банковской системе.
Но теперь задача усложняется.
Кто будет вести этот реестр без банка?
В централизованной системе ответ простой: банк ведет официальный учет.
А теперь представим на месте банка вопросительный знак: кто-то должен вести общий цифровой реестр.
Кто поставит вместо вопросительного знака свое имя?
Можно дать эту роль другой компании
Например, некая Digital Money Company разворачивает единый сервер и выпускает цифровые деньги.
Технически это вполне рабочий подход.
Компания: выпускает цифровые единицы; хранит реестр; проверяет операции; предотвращает повторное расходование.
Но архитектурно мы снова получили центрального оператора.
Название изменилось.
Модель доверия — не особенно.
Поэтому настоящая задача была другой
Вопрос звучал примерно так: можно ли создать цифровые деньги, которые невозможно произвольно копировать и тратить несколько раз, но при этом не назначать одну организацию единственным владельцем официального реестра?
Вот это уже значительно интереснее.
Цифровая редкость
Здесь нам понадобится важная идея.
Не в буквальном смысле «этот файл нельзя скопировать».
Файл скопировать можно почти всегда.
Важно другое: копия не должна автоматически становиться еще одной действительной денежной единицей.
Это принципиальное различие
Допустим, кто-то копирует данные Bitcoin-транзакции сто раз.
Само появление ста копий файла не создает сто новых Bitcoin.
Система должна самостоятельно определять, какие изменения состояния допустимы.
Именно это отличает копирование информации от создания новой действительной финансовой позиции.
Криптография решает только часть задачи
Можно подумать: «Ну хорошо. Просто подпишем деньги криптографически».
Цифровая подпись действительно может помочь доказать, что операцию создал владелец соответствующего ключа.
Но она сама по себе не отвечает на вопрос: не потратил ли он эти средства раньше?
Это разные проблемы.
Очень важный пример
Emma действительно владеет ключом.
Она подписывает операцию A: «Emma → Alex: 100».
Через секунду тем же настоящим ключом — операцию B: «Emma → Sofia: 100».
Обе подписи математически корректны.
Но если у Emma было только 100, система должна решить: какую операцию принять?
Криптография доказала автора.
Она еще не определила правильную историю.
Поэтому нужны сразу несколько вещей
Для цифровых денег без центра нужно решить как минимум пять задач.
Первая: кто имеет право распоряжаться средствами. Здесь помогает криптография.
Вторая: какие средства существуют. Нужен учет состояния.
Третья: какие средства уже потрачены. Нужна история операций.
Четвертая: в каком порядке произошли конфликтующие операции. Нужно согласование.
Пятая: как независимые участники придут к одному результату. Нужен механизм общего правила.
И вот здесь задача становится действительно интересной.
Почему это долго не удавалось
Создать электронные деньги под контролем центральной организации относительно просто.
Создать систему цифровую, удаленную, защищенную, без единого оператора, устойчивую к копированию и к повторному расходованию — значительно сложнее.
Потому что нужно заменить функцию доверенного центра каким-то другим механизмом.
Не «убрать доверие», а изменить его устройство
Это важный принцип, который будет сопровождать нас дальше.
Иногда о криптовалютах говорят: «это система без доверия».
Фраза удобная, но неточная.
Пользователь все равно чему-то доверяет: математике; программному обеспечению; правилам протокола; криптографическим алгоритмам; работе сети; собственному хранению ключей.
Поэтому точнее говорить: модель доверия меняется.
Доверие не исчезает в черную дыру.
И отсюда начинается путь к криптовалютам
Сначала проблема выглядела почти бытовой: цифровой файл можно скопировать.
Но если копнуть глубже, она превращается в целую цепочку вопросов: как доказать право распоряжения; как учесть предыдущие операции; как предотвратить повторную трату; как определить порядок операций; как согласовать одну историю без единственного оператора.
Именно последний вопрос оказался самым трудным.
Главное, что нужно запомнить
- Цифровые банковские деньги существовали задолго до криптовалют.
- Обычные цифровые данные легко копируются, поэтому простой файл не может автоматически быть денежной единицей.
- Для цифровых денег важно не запретить копирование файла, а не допустить создания действительной стоимости простым копированием.
- Банковская система решает эту задачу через официальный учет, который ведет доверенная организация.
- Без центрального оператора необходимо другим способом определить правильное состояние и историю операций.
- Цифровая подпись способна доказать авторство операции, но сама по себе не предотвращает повторное расходование.
- Состояние цифровых денег зависит от истории предыдущих операций.
- Ключевой технический вопрос ранних криптовалютных идей состоял в том, как согласовать общий реестр без единственного доверенного оператора.
- Криптовалюты не уничтожают доверие полностью — они меняют его распределение и механизмы.
Что дальше
Мы несколько раз столкнулись с одной особенно важной проблемой.
Emma имеет 100 и пытается одновременно отправить 100 Alex и 100 Sofia.
Обе операции могут выглядеть совершенно правильно.
Но выполнить можно только одну.
- 1У Emma есть только 100 единиц — их достаточно ровно на один перевод.
- 2Emma подписывает перевод 100 единиц Alex.
- 3Одновременно Emma подписывает перевод тех же 100 единиц Sofia — какую историю считать правильной?
Эта проблема получила собственное название: двойное расходование, или double spending.
Почему для цифровых денег она настолько важна и почему без ее решения невозможно построить независимую цифровую валюту?
Об этом — в следующей части — «Проблема двойного расходования».
- Цифровые банковские деньги существовали задолго до криптовалют.
- Обычные цифровые данные легко копируются, поэтому простой файл не может автоматически быть денежной единицей.
- Для цифровых денег важно не запретить копирование файла, а не допустить создания действительной стоимости простым копированием.
- Банковская система решает эту задачу через официальный учет, который ведет доверенная организация.
- Без центрального оператора необходимо другим способом определить правильное состояние и историю операций.
- Цифровая подпись способна доказать авторство операции, но сама по себе не предотвращает повторное расходование.
- Состояние цифровых денег зависит от истории предыдущих операций.
- Ключевой технический вопрос ранних криптовалютных идей состоял в том, как согласовать общий реестр без единственного доверенного оператора.
- Криптовалюты не уничтожают доверие полностью — они меняют его распределение и механизмы.
Money was already digital. So why were cryptocurrencies needed?
In the previous lesson we reached an important conclusion: cryptocurrencies did not appear because someone was the first to come up with the idea of making money digital.
By that point, bank money had long existed in electronic form.
Accounts held digital records.
Banks exchanged electronic messages.
People paid with cards.
So the task was a different one.
And considerably harder.
Let's imagine the simplest version of digital money
Suppose we create a file called `100_EUR.money` and agree: this file is worth €100.
Emma Lee sends it to Alex Morgan.
Done?
Have we produced digital money?
Not quite.
A digital file has an unpleasant quirk
Emma can copy the file and end up with four identical ones: `100_EUR_1.money`, `100_EUR_2.money`, `100_EUR_3.money`, `100_EUR_4.money`.
And then send one file to Alex, another to Sofia, a third to Daniel.
The original €100 has suddenly turned into €300.
Not the best foundation for a monetary system.
Digital data copies beautifully
This is one of the greatest strengths of computers.
A photograph can exist: on a laptop; on a phone; in the cloud; at a friend's place.
When it is copied, the original photograph does not disappear.
That is exactly how digital data is normally supposed to work.
But for money this creates a problem.
Money must have a different property
If Emma hands Alex a €100 banknote, then after the handover Emma is left with €0, and Alex has €100.
Emma no longer has that banknote.
A physical object cannot be kept by Emma and handed to Alex at the same time.
But a digital file can
Before the transfer, the file `100.money` exists only on Emma's side.
After an ordinary copy, the same file exists on both Emma's side and Alex's.
Now both hold identical data.
For a photograph — wonderful.
For money — a disaster.
- 1Copying data is a normal property of digital information: a photograph can be copied any number of times, and no one is bothered by it.
- 2Copying value — here a copy of the data must not automatically become a new valid monetary unit.
The core problem of digital value
For digital money to work, the system must somehow enforce the rule: the same money cannot be spent more than once.
And here a fundamental question arises: who is going to ensure that this rule is followed?
The banking system already knows the answer
Imagine Emma has €100 in her bank account.
She transfers €100 to Alex.
The bank updates its records: Emma had €100, now has €0; Alex had €0, now has €100.
If Emma tries to send another €100 to Sofia, the bank sees that Emma's available balance is €0, and does not carry out the second operation.
So, is the problem solved?
In the banking model — yes.
Because there is an organization that keeps the official records.
- 1Emma has €100 in her account.
- 2The bank keeps the official records and processes the instruction.
- 3Emma transfers €100 to Alex.
- 4After the operation, Emma is left with €0.
- 5Emma tries to send the same €100 to Sofia.
- 6The available balance is €0, so the second operation is rejected.
The bank knows the history
The bank knows: how much money Emma had; which operations she has already carried out; how much is left; whether the next operation can be carried out.
But a familiar condition appears.
All participants must recognize the bank's records as official
If Emma says "I still have €100," while the bank's records say "no, you have already sent it," what matters for the system is the bank's records.
In other words, digital bank money solved the problem through a trusted ledger.
This is a very effective architecture: a single official record checks the balance, checks the operations, and makes it impossible to spend one position twice.
But now let's return to the question from the previous lesson.
Can this center be removed?
Imagine a system where Emma sends funds to Alex directly.
There is no bank.
There is no payment operator.
There is no single company keeping the official registry either.
At first glance it has become simpler.
But now Alex has to work out: do these 100 units really belong to Emma?
And, even more important: has Emma not already sent these same 100 units to someone else?
Alex cannot simply trust the file
Emma sends the file `digital_coin_100`.
The file looks perfectly correct.
The signature may also be genuine.
But that is not enough.
Why?
Because Emma could have signed the instruction "Emma → Alex: 100," and a second later — "Emma → Sofia: 100."
Both commands may be technically authentic.
But there is only enough money for one.
This is where the real difficulty begins
The problem of digital money is not only the question "who sent the operation?"
Another question has to be resolved: "what is the correct current state of the whole system?"
That is, you need to know the history.
The state depends on the history
Suppose an operation "Emma → Alex: 100" now appears.
It may be valid.
Or it may be invalid.
It all depends on what happened earlier.
If Emma received 100 and spent 0 — the transfer to Alex is permissible.
If Emma received 100 and has already sent Sofia 100 — the transfer to Alex is not permissible.
One and the same new operation.
A different result depending on the history.
So digital money needs a ledger
For digital money, a registry can answer questions such as: who received funds; who has already spent them; which operations are recognized as valid; which state is the current one.
We have already encountered registries in the banking system.
But now the task becomes more complicated.
Who is going to keep this registry without a bank?
In a centralized system the answer is simple: the bank keeps the official records.
Now imagine a question mark in place of the bank: someone has to keep the shared digital registry.
Who will put their name in place of the question mark?
This role can be given to another company
For example, some Digital Money Company sets up a single server and issues digital money.
Technically this is a perfectly workable approach.
The company: issues digital units; maintains the registry; verifies operations; prevents double spending.
But architecturally we have once again ended up with a central operator.
The name has changed.
The trust model — not really.
That is why the real task was a different one
The question sounded roughly like this: is it possible to create digital money that cannot be arbitrarily copied and spent multiple times, while at the same time not appointing a single organization as the sole owner of the official registry?
Now that is considerably more interesting.
Digital scarcity
Here we will need an important idea.
Not in the literal sense of "this file cannot be copied."
A file can almost always be copied.
What matters is something else: a copy must not automatically become yet another valid monetary unit.
This is a fundamental distinction
Suppose someone copies the data of a Bitcoin transaction a hundred times.
The mere appearance of a hundred copies of the file does not create a hundred new Bitcoin.
The system must decide on its own which state changes are permissible.
This is exactly what distinguishes copying information from creating a new valid financial position.
Cryptography solves only part of the task
You might think: "All right. Let's just sign the money cryptographically."
A digital signature really can help prove that an operation was created by the owner of the corresponding key.
But by itself it does not answer the question: did he spend these funds earlier?
These are different problems.
A very important example
Emma really does own the key.
She signs operation A: "Emma → Alex: 100."
A second later, with the same genuine key — operation B: "Emma → Sofia: 100."
Both signatures are mathematically correct.
But if Emma had only 100, the system must decide: which operation to accept?
Cryptography has proved the author.
It has not yet determined the correct history.
That is why several things are needed at once
For digital money without a center, at least five tasks have to be solved.
First: who has the right to dispose of the funds. Here cryptography helps.
Second: what funds exist. A record of state is needed.
Third: what funds have already been spent. A history of operations is needed.
Fourth: in what order conflicting operations occurred. Ordering is needed.
Fifth: how independent participants will arrive at a single result. A mechanism for a common rule is needed.
And this is where the task becomes genuinely interesting.
Why it took so long to achieve
Creating electronic money under the control of a central organization is relatively easy.
Creating a system that is digital, remote, secure, without a single operator, resistant to copying and to double spending — is considerably harder.
Because the function of the trusted center has to be replaced by some other mechanism.
Not "removing trust," but changing how it is arranged
This is an important principle that will stay with us going forward.
Sometimes people say of cryptocurrencies: "it is a trustless system."
The phrase is convenient, but imprecise.
The user still trusts something: mathematics; software; protocol rules; cryptographic algorithms; the operation of the network; their own key storage.
So it is more accurate to say: the trust model changes.
Trust does not vanish into a black hole.
And this is where the path to cryptocurrencies begins
At first the problem looked almost mundane: a digital file can be copied.
But if you dig deeper, it turns into a whole chain of questions: how to prove the right of disposal; how to account for previous operations; how to prevent double spending; how to determine the order of operations; how to agree on a single history without a sole operator.
It was that last question that turned out to be the hardest.
The main things to remember
- Digital bank money existed long before cryptocurrencies.
- Ordinary digital data is easy to copy, so a simple file cannot automatically be a monetary unit.
- For digital money, what matters is not forbidding the copying of a file, but preventing valid value from being created by simple copying.
- The banking system solves this task through official records kept by a trusted organization.
- Without a central operator, the correct state and history of operations must be determined by some other means.
- A digital signature can prove the authorship of an operation, but by itself it does not prevent double spending.
- The state of digital money depends on the history of previous operations.
- The key technical question of early cryptocurrency ideas was how to agree on a shared registry without a sole trusted operator.
- Cryptocurrencies do not destroy trust entirely — they change its distribution and mechanisms.
What comes next
We have run into one particularly important problem several times.
Emma has 100 and tries to send 100 to Alex and 100 to Sofia at the same time.
Both operations may look entirely correct.
But only one can be carried out.
- 1Emma has only 100 units — just enough for exactly one transfer.
- 2Emma signs a transfer of 100 units to Alex.
- 3At the same time Emma signs a transfer of the same 100 units to Sofia — which history should be considered the correct one?
This problem has been given a name of its own: double-spending.
Why is it so important for digital money, and why is it impossible to build an independent digital currency without solving it?
That is the subject of the next part — "The Double-Spending Problem."
- Digital bank money existed long before cryptocurrencies.
- Ordinary digital data copies easily, so a plain file can't automatically be a unit of money.
- For digital money, what matters is not preventing a file from being copied, but preventing valid value from being created by copying alone.
- The banking system solves this through official record-keeping maintained by a trusted organization.
- Without a central operator, the correct state and history of operations must be established some other way.
- A digital signature can prove who created an operation, but by itself it does not prevent double-spending.
- The state of digital money depends on the history of previous operations.
- The key technical question behind early cryptocurrency ideas was how to agree on a shared ledger without a single trusted operator.
- Cryptocurrencies don't eliminate trust entirely — they change how it's distributed and enforced.
Το χρήμα ήταν ήδη ψηφιακό. Τότε γιατί χρειάστηκαν τα κρυπτονομίσματα;
Στο προηγούμενο μάθημα καταλήξαμε σε ένα σημαντικό συμπέρασμα: τα κρυπτονομίσματα δεν εμφανίστηκαν επειδή κάποιος σκέφτηκε για πρώτη φορά την ιδέα να κάνει το χρήμα ψηφιακό.
Το τραπεζικό χρήμα εκείνη τη στιγμή υπήρχε ήδη εδώ και πολύ καιρό σε ηλεκτρονική μορφή.
Στους λογαριασμούς υπήρχαν ψηφιακές εγγραφές.
Οι τράπεζες αντάλλασσαν ηλεκτρονικά μηνύματα.
Οι άνθρωποι πλήρωναν με κάρτες.
Γι' αυτό το πρόβλημα ήταν διαφορετικό.
Και σημαντικά πιο δύσκολο.
Ας φανταστούμε την πιο απλή εκδοχή ψηφιακού χρήματος
Ας υποθέσουμε ότι δημιουργούμε ένα αρχείο `100_EUR.money` και συμφωνούμε: αυτό το αρχείο αξίζει 100 €.
Η Emma Lee το στέλνει στον Alex Morgan.
Έτοιμο;
Προέκυψε ψηφιακό χρήμα;
Όχι ακριβώς.
Το ψηφιακό αρχείο έχει μια δυσάρεστη ιδιότητα
Η Emma μπορεί να αντιγράψει το αρχείο και να αποκτήσει τέσσερα πανομοιότυπα: `100_EUR_1.money`, `100_EUR_2.money`, `100_EUR_3.money`, `100_EUR_4.money`.
Και στη συνέχεια να στείλει το ένα αρχείο στον Alex, το άλλο στη Sofia, το τρίτο στον Daniel.
Τα αρχικά 100 € ξαφνικά μετατράπηκαν σε 300 €.
Όχι το καλύτερο θεμέλιο για ένα νομισματικό σύστημα.
Τα ψηφιακά δεδομένα αντιγράφονται τέλεια
Αυτό είναι ένα από τα μεγαλύτερα πλεονεκτήματα των υπολογιστών.
Μια φωτογραφία μπορεί να υπάρχει: στον φορητό υπολογιστή· στο τηλέφωνο· στο cloud· σε έναν φίλο.
Κατά την αντιγραφή, η αρχική φωτογραφία δεν εξαφανίζεται.
Έτσι ακριβώς συνήθως πρέπει να λειτουργούν τα ψηφιακά δεδομένα.
Αλλά για το χρήμα αυτό δημιουργεί πρόβλημα.
Το χρήμα πρέπει να έχει μια διαφορετική ιδιότητα
Αν η Emma δώσει στον Alex ένα χαρτονόμισμα των 100 €, τότε μετά τη μεταβίβαση η Emma μένει με 0 €, ενώ ο Alex με 100 €.
Η Emma δεν έχει πλέον αυτό το χαρτονόμισμα.
Ένα φυσικό αντικείμενο δεν μπορεί ταυτόχρονα να μείνει στην Emma και να μεταβιβαστεί στον Alex.
Ενώ ένα ψηφιακό αρχείο μπορεί
Πριν από τη μεταβίβαση, το αρχείο `100.money` το έχει μόνο η Emma.
Μετά από μια συνηθισμένη αντιγραφή, το ίδιο αρχείο το έχουν και η Emma και ο Alex.
Τώρα και οι δύο έχουν τα ίδια δεδομένα.
Για μια φωτογραφία — τέλεια.
Για το χρήμα — καταστροφή.
- 1Αντιγραφή δεδομένων — φυσιολογική ιδιότητα της ψηφιακής πληροφορίας: μια φωτογραφία μπορεί να αντιγραφεί όσες φορές θέλει κανείς, και αυτό δεν ενοχλεί κανέναν.
- 2Αντιγραφή αξίας — εδώ το αντίγραφο των δεδομένων δεν πρέπει αυτόματα να γίνεται μια νέα έγκυρη νομισματική μονάδα.
Το κύριο πρόβλημα της ψηφιακής αξίας
Για να λειτουργήσει το ψηφιακό χρήμα, το σύστημα πρέπει με κάποιον τρόπο να διασφαλίσει τον κανόνα: το ίδιο χρήμα δεν μπορεί να ξοδευτεί πολλές φορές.
Και εδώ προκύπτει ένα θεμελιώδες ερώτημα: ποιος θα επιβλέπει την τήρηση αυτού του κανόνα;
Το τραπεζικό σύστημα γνωρίζει ήδη την απάντηση
Ας φανταστούμε ότι η Emma έχει στον τραπεζικό της λογαριασμό 100 €.
Μεταφέρει στον Alex 100 €.
Η τράπεζα αλλάζει τις εγγραφές: η Emma είχε 100 €, έμεινε με 0 €· ο Alex είχε 0 €, έμεινε με 100 €.
Αν η Emma προσπαθήσει να στείλει άλλα 100 € στη Sofia, η τράπεζα θα δει ότι το διαθέσιμο υπόλοιπο της Emma είναι 0 €, και τη δεύτερη συναλλαγή δεν θα την εκτελέσει.
Άρα, το πρόβλημα λύθηκε;
Στο τραπεζικό μοντέλο — ναι.
Επειδή υπάρχει ένας οργανισμός που τηρεί την επίσημη καταγραφή.
- 1Η Emma έχει στον λογαριασμό 100 €.
- 2Η τράπεζα τηρεί την επίσημη καταγραφή και επεξεργάζεται την εντολή.
- 3Η Emma μεταφέρει στον Alex 100 €.
- 4Μετά τη συναλλαγή η Emma μένει με 0 €.
- 5Η Emma προσπαθεί να στείλει τα ίδια 100 € στη Sofia.
- 6Το διαθέσιμο υπόλοιπο — 0 €, γι' αυτό η δεύτερη συναλλαγή απορρίπτεται.
Η τράπεζα γνωρίζει το ιστορικό
Η τράπεζα γνωρίζει: πόσα χρήματα είχε η Emma· ποιες συναλλαγές έχει ήδη εκτελέσει· πόσα έμειναν· αν μπορεί να εκτελεστεί η επόμενη συναλλαγή.
Αλλά εμφανίζεται μια γνώριμη προϋπόθεση.
Όλοι οι συμμετέχοντες πρέπει να αναγνωρίσουν την καταγραφή της τράπεζας ως επίσημη
Αν η Emma λέει «έχω ακόμα 100 €», ενώ η τραπεζική καταγραφή λέει «όχι, τα έχετε ήδη στείλει», για το σύστημα σημασία έχει η καταγραφή της τράπεζας.
Δηλαδή το ψηφιακό τραπεζικό χρήμα έλυσε το πρόβλημα μέσω ενός έμπιστου μητρώου.
Αυτή είναι μια πολύ αποτελεσματική αρχιτεκτονική: μία επίσημη καταγραφή ελέγχει το υπόλοιπο, ελέγχει τις συναλλαγές και καθιστά αδύνατο να ξοδευτεί μία θέση δύο φορές.
Αλλά τώρα ας επιστρέψουμε στο ερώτημα του προηγούμενου μαθήματος.
Μπορεί άραγε να αφαιρεθεί αυτό το κέντρο;
Ας φανταστούμε ένα σύστημα όπου η Emma στέλνει κεφάλαια στον Alex απευθείας.
Τράπεζα δεν υπάρχει.
Πάροχος πληρωμών δεν υπάρχει.
Ούτε μία ενιαία εταιρεία που τηρεί το επίσημο μητρώο υπάρχει.
Με την πρώτη ματιά έγινε πιο απλό.
Αλλά τώρα ο Alex πρέπει να καταλάβει: ανήκουν πράγματι αυτές οι 100 μονάδες στην Emma;
Και ακόμα πιο σημαντικό: μήπως η Emma έστειλε τις ίδιες αυτές 100 μονάδες και σε κάποιον άλλο;
Ο Alex δεν μπορεί απλώς να εμπιστευτεί το αρχείο
Η Emma στέλνει το αρχείο `digital_coin_100`.
Το αρχείο φαίνεται απολύτως σωστό.
Και η υπογραφή μπορεί να είναι γνήσια.
Αλλά αυτό δεν αρκεί.
Γιατί;
Επειδή η Emma θα μπορούσε να έχει υπογράψει την εντολή «Emma → Alex: 100», και ένα δευτερόλεπτο αργότερα — «Emma → Sofia: 100».
Και οι δύο εντολές μπορεί να είναι τεχνικά γνήσιες.
Αλλά τα χρήματα φτάνουν μόνο για μία.
Εδώ αρχίζει η πραγματική δυσκολία
Το πρόβλημα του ψηφιακού χρήματος δεν συνίσταται μόνο στο ερώτημα «ποιος έστειλε τη συναλλαγή;».
Πρέπει να λυθεί ακόμα ένα ερώτημα: «ποια είναι η σωστή τρέχουσα κατάσταση όλου του συστήματος;».
Δηλαδή πρέπει να γνωρίζουμε το ιστορικό.
Η κατάσταση εξαρτάται από το ιστορικό
Ας υποθέσουμε ότι τώρα εμφανίζεται η συναλλαγή «Emma → Alex: 100».
Μπορεί να είναι έγκυρη.
Μπορεί και να μην είναι έγκυρη.
Όλα εξαρτώνται από το τι συνέβη νωρίτερα.
Αν η Emma έλαβε 100 και ξόδεψε 0 — η μεταφορά στον Alex επιτρέπεται.
Αν η Emma έλαβε 100 και έχει ήδη στείλει στη Sofia 100 — η μεταφορά στον Alex δεν επιτρέπεται.
Η ίδια νέα συναλλαγή.
Διαφορετικό αποτέλεσμα ανάλογα με το ιστορικό.
Άρα το ψηφιακό χρήμα χρειάζεται μητρώο
Για το ψηφιακό χρήμα, το μητρώο μπορεί να απαντά σε ερωτήματα: ποιος έλαβε κεφάλαια· ποιος τα έχει ήδη ξοδέψει· ποιες συναλλαγές αναγνωρίζονται ως έγκυρες· ποια κατάσταση είναι η τρέχουσα.
Έχουμε ήδη συναντήσει μητρώα στο τραπεζικό σύστημα.
Αλλά τώρα το πρόβλημα γίνεται πιο περίπλοκο.
Ποιος θα τηρεί αυτό το μητρώο χωρίς τράπεζα;
Σε ένα συγκεντρωτικό σύστημα η απάντηση είναι απλή: η τράπεζα τηρεί την επίσημη καταγραφή.
Και τώρα ας φανταστούμε στη θέση της τράπεζας ένα ερωτηματικό: κάποιος πρέπει να τηρεί το κοινό ψηφιακό μητρώο.
Ποιος θα βάλει στη θέση του ερωτηματικού το όνομά του;
Μπορούμε να δώσουμε αυτόν τον ρόλο σε μια άλλη εταιρεία
Για παράδειγμα, κάποια Digital Money Company αναπτύσσει έναν ενιαίο διακομιστή και εκδίδει ψηφιακό χρήμα.
Τεχνικά αυτή είναι μια απολύτως λειτουργική προσέγγιση.
Η εταιρεία: εκδίδει ψηφιακές μονάδες· αποθηκεύει το μητρώο· ελέγχει τις συναλλαγές· αποτρέπει την επαναλαμβανόμενη δαπάνη.
Αλλά αρχιτεκτονικά αποκτήσαμε ξανά έναν κεντρικό διαχειριστή.
Το όνομα άλλαξε.
Το μοντέλο εμπιστοσύνης — όχι ιδιαίτερα.
Γι' αυτό το πραγματικό πρόβλημα ήταν διαφορετικό
Το ερώτημα ακουγόταν περίπου έτσι: μπορεί κανείς να δημιουργήσει ψηφιακό χρήμα που να μην μπορεί να αντιγράφεται και να ξοδεύεται αυθαίρετα πολλές φορές, αλλά ταυτόχρονα χωρίς να ορίζεται ένας οργανισμός ως ο μοναδικός κάτοχος του επίσημου μητρώου;
Αυτό είναι ήδη σημαντικά πιο ενδιαφέρον.
Ψηφιακή σπανιότητα
Εδώ θα χρειαστούμε μια σημαντική ιδέα.
Όχι με την κυριολεκτική έννοια «αυτό το αρχείο δεν μπορεί να αντιγραφεί».
Ένα αρχείο μπορεί σχεδόν πάντα να αντιγραφεί.
Σημασία έχει κάτι άλλο: το αντίγραφο δεν πρέπει αυτόματα να γίνεται ακόμα μία έγκυρη νομισματική μονάδα.
Αυτή είναι μια θεμελιώδης διαφορά
Ας υποθέσουμε ότι κάποιος αντιγράφει τα δεδομένα μιας συναλλαγής Bitcoin εκατό φορές.
Η ίδια η εμφάνιση εκατό αντιγράφων του αρχείου δεν δημιουργεί εκατό νέα Bitcoin.
Το σύστημα πρέπει να προσδιορίζει από μόνο του ποιες αλλαγές κατάστασης επιτρέπονται.
Ακριβώς αυτό διακρίνει την αντιγραφή πληροφορίας από τη δημιουργία μιας νέας έγκυρης χρηματοοικονομικής θέσης.
Η κρυπτογραφία λύνει μόνο ένα μέρος του προβλήματος
Θα μπορούσε κανείς να σκεφτεί: «Εντάξει λοιπόν. Ας υπογράψουμε απλώς το χρήμα κρυπτογραφικά».
Η ψηφιακή υπογραφή πράγματι μπορεί να βοηθήσει να αποδειχθεί ότι τη συναλλαγή τη δημιούργησε ο κάτοχος του αντίστοιχου κλειδιού.
Αλλά από μόνη της δεν απαντά στο ερώτημα: μήπως ξόδεψε αυτά τα κεφάλαια νωρίτερα;
Αυτά είναι διαφορετικά προβλήματα.
Ένα πολύ σημαντικό παράδειγμα
Η Emma πράγματι κατέχει το κλειδί.
Υπογράφει τη συναλλαγή A: «Emma → Alex: 100».
Ένα δευτερόλεπτο αργότερα, με το ίδιο γνήσιο κλειδί — τη συναλλαγή B: «Emma → Sofia: 100».
Και οι δύο υπογραφές είναι μαθηματικά σωστές.
Αλλά αν η Emma είχε μόνο 100, το σύστημα πρέπει να αποφασίσει: ποια συναλλαγή να αποδεχτεί;
Η κρυπτογραφία απέδειξε τον δημιουργό.
Δεν έχει ακόμα προσδιορίσει το σωστό ιστορικό.
Γι' αυτό χρειάζονται ταυτόχρονα αρκετά πράγματα
Για ψηφιακό χρήμα χωρίς κέντρο πρέπει να λυθούν τουλάχιστον πέντε προβλήματα.
Πρώτο: ποιος έχει το δικαίωμα να διαχειρίζεται τα κεφάλαια. Εδώ βοηθά η κρυπτογραφία.
Δεύτερο: ποια κεφάλαια υπάρχουν. Χρειάζεται καταγραφή της κατάστασης.
Τρίτο: ποια κεφάλαια έχουν ήδη ξοδευτεί. Χρειάζεται ιστορικό συναλλαγών.
Τέταρτο: με ποια σειρά συνέβησαν οι αντικρουόμενες συναλλαγές. Χρειάζεται συμφωνία.
Πέμπτο: πώς ανεξάρτητοι συμμετέχοντες θα καταλήξουν σε ένα αποτέλεσμα. Χρειάζεται μηχανισμός κοινού κανόνα.
Και εδώ ακριβώς το πρόβλημα γίνεται πραγματικά ενδιαφέρον.
Γιατί αυτό δεν κατάφερνε να γίνει για πολύ καιρό
Το να δημιουργήσεις ηλεκτρονικό χρήμα υπό τον έλεγχο ενός κεντρικού οργανισμού είναι σχετικά απλό.
Το να δημιουργήσεις ένα σύστημα ψηφιακό, απομακρυσμένο, ασφαλές, χωρίς έναν ενιαίο διαχειριστή, ανθεκτικό στην αντιγραφή και στην επαναλαμβανόμενη δαπάνη — είναι σημαντικά πιο δύσκολο.
Επειδή πρέπει να αντικαταστήσεις τη λειτουργία του έμπιστου κέντρου με κάποιον άλλο μηχανισμό.
Όχι «να αφαιρέσουμε την εμπιστοσύνη», αλλά να αλλάξουμε τη δομή της
Αυτή είναι μια σημαντική αρχή που θα μας συνοδεύει και παρακάτω.
Μερικές φορές για τα κρυπτονομίσματα λένε: «είναι ένα σύστημα χωρίς εμπιστοσύνη».
Η φράση είναι βολική, αλλά ανακριβής.
Ο χρήστης εξακολουθεί να εμπιστεύεται κάτι: τα μαθηματικά· το λογισμικό· τους κανόνες του πρωτοκόλλου· τους κρυπτογραφικούς αλγορίθμους· τη λειτουργία του δικτύου· τη δική του φύλαξη των κλειδιών.
Γι' αυτό είναι πιο ακριβές να λέμε: το μοντέλο εμπιστοσύνης αλλάζει.
Η εμπιστοσύνη δεν εξαφανίζεται σε μια μαύρη τρύπα.
Και από εδώ αρχίζει η διαδρομή προς τα κρυπτονομίσματα
Στην αρχή το πρόβλημα φαινόταν σχεδόν καθημερινό: ένα ψηφιακό αρχείο μπορεί να αντιγραφεί.
Αλλά αν σκάψει κανείς βαθύτερα, μετατρέπεται σε μια ολόκληρη αλυσίδα ερωτημάτων: πώς να αποδειχθεί το δικαίωμα διαχείρισης· πώς να ληφθούν υπόψη οι προηγούμενες συναλλαγές· πώς να αποτραπεί η επαναλαμβανόμενη δαπάνη· πώς να προσδιοριστεί η σειρά των συναλλαγών· πώς να συμφωνηθεί ένα ενιαίο ιστορικό χωρίς έναν μοναδικό διαχειριστή.
Ακριβώς το τελευταίο ερώτημα αποδείχθηκε το πιο δύσκολο.
Το βασικό που πρέπει να θυμάστε
- Το ψηφιακό τραπεζικό χρήμα υπήρχε πολύ πριν από τα κρυπτονομίσματα.
- Τα συνηθισμένα ψηφιακά δεδομένα αντιγράφονται εύκολα, γι' αυτό ένα απλό αρχείο δεν μπορεί αυτόματα να είναι νομισματική μονάδα.
- Για το ψηφιακό χρήμα σημασία έχει όχι να απαγορευτεί η αντιγραφή του αρχείου, αλλά να μην επιτραπεί η δημιουργία έγκυρης αξίας με απλή αντιγραφή.
- Το τραπεζικό σύστημα λύνει αυτό το πρόβλημα μέσω μιας επίσημης καταγραφής, την οποία τηρεί ένας έμπιστος οργανισμός.
- Χωρίς κεντρικό διαχειριστή είναι απαραίτητο να προσδιοριστεί με άλλον τρόπο η σωστή κατάσταση και το ιστορικό των συναλλαγών.
- Η ψηφιακή υπογραφή μπορεί να αποδείξει την πατρότητα μιας συναλλαγής, αλλά από μόνη της δεν αποτρέπει την επαναλαμβανόμενη δαπάνη.
- Η κατάσταση του ψηφιακού χρήματος εξαρτάται από το ιστορικό των προηγούμενων συναλλαγών.
- Το βασικό τεχνικό ερώτημα των πρώιμων ιδεών για τα κρυπτονομίσματα ήταν πώς να συμφωνηθεί ένα κοινό μητρώο χωρίς έναν μοναδικό έμπιστο διαχειριστή.
- Τα κρυπτονομίσματα δεν καταστρέφουν πλήρως την εμπιστοσύνη — αλλάζουν την κατανομή και τους μηχανισμούς της.
Τι ακολουθεί
Συναντήσαμε αρκετές φορές ένα ιδιαίτερα σημαντικό πρόβλημα.
Η Emma έχει 100 και προσπαθεί ταυτόχρονα να στείλει 100 στον Alex και 100 στη Sofia.
Και οι δύο συναλλαγές μπορεί να φαίνονται εντελώς σωστές.
Αλλά μπορεί να εκτελεστεί μόνο μία.
- 1Η Emma έχει μόνο 100 μονάδες — είναι αρκετές ακριβώς για μία μεταφορά.
- 2Η Emma υπογράφει μεταφορά 100 μονάδων στον Alex.
- 3Ταυτόχρονα η Emma υπογράφει μεταφορά των ίδιων 100 μονάδων στη Sofia — ποιο ιστορικό να θεωρηθεί σωστό;
Αυτό το πρόβλημα απέκτησε το δικό του όνομα: διπλή δαπάνη, ή double spending.
Γιατί για το ψηφιακό χρήμα είναι τόσο σημαντικό και γιατί χωρίς τη λύση του είναι αδύνατο να χτιστεί ένα ανεξάρτητο ψηφιακό νόμισμα;
Γι' αυτό — στο επόμενο μέρος — «Το πρόβλημα της διπλής δαπάνης».
- Το ψηφιακό τραπεζικό χρήμα υπήρχε πολύ πριν από τα κρυπτονομίσματα.
- Τα συνηθισμένα ψηφιακά δεδομένα αντιγράφονται εύκολα, οπότε ένα απλό αρχείο δεν μπορεί αυτόματα να είναι μια νομισματική μονάδα.
- Για το ψηφιακό χρήμα, σημασία έχει όχι να απαγορευτεί η αντιγραφή ενός αρχείου, αλλά να μην δημιουργείται έγκυρη αξία μόνο με αντιγραφή.
- Το τραπεζικό σύστημα το λύνει αυτό μέσω επίσημης τήρησης μητρώων από έναν έμπιστο οργανισμό.
- Χωρίς κεντρικό φορέα, η σωστή κατάσταση και το ιστορικό των συναλλαγών πρέπει να καθοριστούν με άλλον τρόπο.
- Μια ψηφιακή υπογραφή μπορεί να αποδείξει ποιος δημιούργησε μια συναλλαγή, αλλά από μόνη της δεν αποτρέπει το double spending.
- Η κατάσταση του ψηφιακού χρήματος εξαρτάται από το ιστορικό των προηγούμενων συναλλαγών.
- Το βασικό τεχνικό ερώτημα πίσω από τις πρώτες ιδέες κρυπτονομισμάτων ήταν πώς να συμφωνηθεί ένα κοινό μητρώο χωρίς έναν μοναδικό έμπιστο φορέα.
- Τα κρυπτονομίσματα δεν εξαλείφουν εντελώς την εμπιστοσύνη — αλλάζουν τον τρόπο κατανομής και επιβολής της.