Я не против поделиться некоторыми своими личными данными с компанией, предоставляющей мне услуги. Я считаю это вполне разумным условием обслуживания. Но когда истечет срок службы, я хочу, чтобы истек и мой общий доступ к данным.
Конечно, возможно, что компания удалит мои данные, особенно если они соответствуют требованиям регулирования данных (например, GDPR), но я бы предпочел, чтобы это было принудительно, а не было подарком компании.
И хотя мы говорим о моих данных, я бы также предпочел, чтобы мои данные хранились в безопасности (снова GDPR), возможно, удаленно от компании. Может быть, даже децентрализовано.
Также была бы полезна возможность обновлять свои данные, например, когда я меняю адрес, работу, номер телефона, адрес электронной почты, пол и т. Д. По своему усмотрению (опять же, GDPR).
Что ж, конечно, мы можем делать все это!
Права физических лиц GDPR 8 кратко изложены здесь. Доступны и другие правила защиты данных.
Хранилище данных, управляемое смарт-контрактом
Смарт-контракт между мной и компанией развернут в блокчейне. Смарт-контракт контролирует доступ к данным.
Мои данные хранятся в выбранном мной хранилище данных. В этом случае я собираюсь использовать доступный облачный сервер хранилища данных в тестовой сети Ethereum на datonavault.com. Дополнительные возможности, такие как самостоятельный хостинг, веб-интерфейс, межсетевые экраны, автономный хостинг и т.д., более подробно описаны в документации datona-lib.
У меня есть разрешение на чтение, запись и обновление моих данных. Это контролируется смарт-контрактом. В некоторых случаях эти разрешения могут быть ограничены, например, невозможно обновить адрес доставки или изменить реквизиты банковского счета.
Всякий раз, когда Компания хочет получить доступ к моим данным, они запрашивают их из хранилища данных, которое проверяет с помощью смарт-контракта, действительны ли разрешения компании. Компания получает данные только в том случае, если разрешения действительны.
Еще одна важная вещь, которую я хочу, чтобы смарт-контракт выполнял, - это истекший, когда истекает срок службы компании.
Это именно то, что может делать смарт-контракт, поэтому давайте сделаем это сразу после следующей загадочной картины.
Пример смарт-контракта
Вот смарт-контракт Solidity для блокчейна Ethereum (ну, в любом случае, соответствующие его части):
pragma solidity ^0.6.3; import "SDACinterface.sol"; contract Duration_SDAC is SDACinterface { address myself = msg.sender; address company; uint endTime;
constructor( address _company, uint duration_secs ) public { company = _company; endTime = block.timestamp + duration_secs; }
function hasExpired() public view override returns (bool) { return block.timestamp >= endTime; }
function getPermissions( address account, uint object ) public view override virtual returns (uint) { if (!hasExpired()) { if (account == myself) return ALL_PERMISSIONS; else if (account == company) return READ_PERMISSION; } return NO_PERMISSIONS; } ... }
Этот смарт-контракт соответствует спецификации интерфейса datona-lib. Это документ, который определяет интерфейс, который должен предоставить смарт-контракт, чтобы его можно было вызвать из хранилища данных.
В constructor()
указывается адрес учетной записи компании и продолжительность смарт-контракта (в этом примере продолжительность указывается в секундах).
Важная функция getPermissions()
вызывается всякий раз, когда хранилище данных требуется, чтобы определить, какой доступ имеет учетная запись и к какому объекту. Здесь мы игнорируем идентификатор объекта. Пока смарт-контракт не hasExpired()
, мы возвращаем одинаковые разрешения для всех объектов. Это все разрешения для меня, и просто разрешение на чтение для компании.
Смарт-контракт может быть настолько простым или сложным, насколько это необходимо. Очевидно, это довольно просто. Но обратите внимание, что он по-прежнему очень мощный, поскольку контролирует мои данные.
Развертывание и использование смарт-контракта
Следуя примерам из этой статьи, мы развернем смарт-контракт в блокчейне Ethereum, используя окно терминала (обычно мы будем использовать DApp, чтобы сделать это за нас):
My Terminal
$ datona generateKey myself
$ contractCode= <<smart contract code as described in the example>>
$ company= <<company account address>
$ duration= <<number of seconds in one week>>
$ datona deployContract $contractCode $company $duration --key owner
0x3E68...44d8
$ contract=0x3E68...44d8
Здесь мы намеренно ограничиваем срок действия смарт-контракта 1 неделей.
Затем я могу создать хранилище данных для смарт-контракта (доступны другие хранилища):
My Terminal $ vaultUrl=file://77.68.75.133:8127 $ vaultSrvrId=0x288b32F2653C1d72043d240A7F938a114Ab69584 $ datona createVault $contract $vaultUrl $vaultSrvrId --key myself
И тогда я могу написать данные, необходимые Компании:
My Terminal $ datona writeVault $contract $vaultUrl $vaultSrvId --key myself "data required by company"
Компания может получать данные из окна своего терминала (обычно они используют программу, которая взаимодействует с datona-lib):
Company Terminal $ datona readVault $contract $vaultUrl $vaultSrvId --key company "data required by company"
Но когда Компания пытается прочитать данные неделю спустя:
Company Terminal $ datona readVault $contract $vaultUrl $vaultSrvId --key company permission denied
Компания не может получить доступ к данным. Кроме того, данные удаляются из хранилища данных для дополнительной безопасности и спокойствия.
Выводы
Я готов поделиться своей необходимой личной информацией с компаниями в обмен на услугу, при условии, что, когда срок действия услуги истечет, моя доля данных также истечет.
Я показал практическое решение для этого, используя комбинацию смарт-контракта и хранилища данных, которое соответствует спецификации интерфейса, описанной в datona-lib.
Био
Жюль Годдард - соучредитель Datona Labs, который предоставляет смарт-контракты для защиты вашей цифровой информации от злоупотреблений.
Сайт - твиттер - раздор - GitHub
Также прочтите
- Лучший Crypto Trading Bot
- Торговые платформы для криптографических копий
- Лучшее крипто-налоговое программное обеспечение
- Лучшие криптографические торговые платформы
- Лучшие платформы криптографического кредитования
- Лучшие инструменты анализа цепочки блоков
- Гайд Криптоарбитраж: Как заработать новичку
- Лучший инструмент для построения графиков криптовалюты
- Леджер против Трезора
- Какие книги о Биткойне лучше всего?
- Обзор 3Commas
- Обзор биржи AAX | Реферальный код, торговая комиссия, плюсы и минусы
- Обзор Дерибит | Опции, комиссии, API и тестовая сеть
- Обзор криптобиржи FTX
- Обзор NGRAVE ZERO
- Обзор биржи Bybit
- 3Commas против Cryptohopper
- Лучший биткойн-аппаратный кошелек
- Лучший кошелек monero
- Бухгалтерская книга nano s vs x
- Bitsgap vs 3Commas vs Quadency
- Ledger Nano S против Trezor one против Trezor T против Ledger Nano X
- BlockFi vs Celsius vs Hodlnaut
- Обзор Bitsgap - бот для криптовалюты, который делает легкие деньги
- Quadency Review - робот для торговли криптовалютой, созданный для профессионалов
- Обзор PrimeXBT | Торговля с кредитным плечом, комиссия и покрытие
- Обзор Эллипального Титана
- Обзор SecuX Stone
- Обзор BlockFi | Зарабатывайте до 8,6% процентов от своей криптовалюты