Bitcoin Forum
August 01, 2021, 03:21:34 PM *
News: Latest Bitcoin Core release: 0.21.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Делать ли свой блокчейн?  (Read 1525 times)
Ahooleeman
Full Member
***
Offline Offline

Activity: 476
Merit: 111


View Profile WWW
June 07, 2017, 01:59:07 PM
 #1

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

Задача: записывать изменения цен на товары в интернет-магазинах.

Организация процесса:
- раздача на децентрализованные узлы задач для парсинга урлов с товарами и ценами.
- подтверждение парсинга N узлами. (делается ограничение на количество узлов (чтобы не создавать ddos на сайт магазина)
- скрытие данных узлов друг от друга, чтобы избежать фрода со стороны узлов.
- запись подтвержденного парсинга в блокчейн.

На данный момент мы выработали такую схему:
Транзакция – это набор адресов для актуализации цены + смарт-контракт на выполнение парсинга.

1. Первый этап: майнеры подбирают хэш, который дает право спарсить информацию и подписать смарт-контракт.

2. Первый майнер, подобравший хэш, парсит необходимые данные, генерирует приватный и публичный ключи, после чего прикладывает в смарт-контракт публичный ключ и зашифрованные им полученные данные. Шифрование делается для того, чтобы исполнители смарт-контракта не знали о данных полученных первым майнером и не могли подделать информацию без парсинга. Таким образом исполнители смарт-контракта (со 2-го по N майнеры, нашедшие хэш) также парсят данные по адресам, присутствующим в транзакции, шифруют их публичным ключом первого майнера, передают данные в смарт-контракт и подписывают его.

3.После получения N подписей, данные из смарт-контракта расшифровываются и проверяются первым майнером и если все данные от парсеров совпадают, смарт-контракт закрывается, а транзакция получает статус “в ожидании”.

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

Собственно вопрос. Есть ли блокчейн, на базе которого мы можем реализовать этот процесс? Или мы намудрили и можно как-то это все упростить?

1627831294
Hero Member
*
Offline Offline

Posts: 1627831294

View Profile Personal Message (Offline)

Ignore
1627831294
Reply with quote  #2

1627831294
Report to moderator
1627831294
Hero Member
*
Offline Offline

Posts: 1627831294

View Profile Personal Message (Offline)

Ignore
1627831294
Reply with quote  #2

1627831294
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1627831294
Hero Member
*
Offline Offline

Posts: 1627831294

View Profile Personal Message (Offline)

Ignore
1627831294
Reply with quote  #2

1627831294
Report to moderator
imhoneer
Hero Member
*****
Offline Offline

Activity: 1554
Merit: 878



View Profile WWW
June 07, 2017, 07:34:43 PM
 #2

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

Неужели данные этих цен будут так важны в условиях войны, революции или ядерного локального апокалипсиса на вашей территории?

Если нет, то смысла для блокчейна нет. Для лучшей и более быстрой работы подойдет централизованное решение. А иначе, чем будут питаться ваши условные майнеры за свою проделанную работу, тратя на вашу затею свои мощности?

Ahooleeman
Full Member
***
Offline Offline

Activity: 476
Merit: 111


View Profile WWW
June 07, 2017, 09:17:12 PM
 #3

Я осознанно не стал описывать общую концепцию проекта, а написал лишь задачу, которую решает блокчейн. Поверьте, нам есть зачем блокчейн в принципе внедрять и есть ситуации, которые показывают, что в нашем случае централизованное решение не будет эффективным. А наши условные майнеры будут питаться нашим условным токеном Smiley

Сейчас скорее как раз стоит вопрос, можем ли мы решить эту задачу на чем-то существующем? По тому, что мы видели, судя по всему, если бы iEx.ec уже бы работал, то  на нем концептуально наша задача бы решалась, но он еще не запущен. Может быть кто-то видит более изящное решение, чем придумали мы?

imhoneer
Hero Member
*****
Offline Offline

Activity: 1554
Merit: 878



View Profile WWW
June 08, 2017, 09:57:46 AM
 #4

Я осознанно не стал описывать общую концепцию проекта, а написал лишь задачу, которую решает блокчейн. Поверьте, нам есть зачем блокчейн в принципе внедрять и есть ситуации, которые показывают, что в нашем случае централизованное решение не будет эффективным. А наши условные майнеры будут питаться нашим условным токеном Smiley

Сейчас скорее как раз стоит вопрос, можем ли мы решить эту задачу на чем-то существующем? По тому, что мы видели, судя по всему, если бы iEx.ec уже бы работал, то  на нем концептуально наша задача бы решалась, но он еще не запущен. Может быть кто-то видит более изящное решение, чем придумали мы?

Я Вас понял. Однако считаю, что вот в этом месте у Вас есть слабое звено

Quote
2. Первый майнер, подобравший хэш, парсит необходимые данные, генерирует приватный и публичный ключи, после чего прикладывает в смарт-контракт публичный ключ и зашифрованные им полученные данные. Шифрование делается для того, чтобы исполнители смарт-контракта не знали о данных полученных первым майнером и не могли подделать информацию без парсинга. Таким образом исполнители смарт-контракта (со 2-го по N майнеры, нашедшие хэш) также парсят данные по адресам, присутствующим в транзакции, шифруют их публичным ключом первого майнера, передают данные в смарт-контракт и подписывают его.

3.После получения N подписей, данные из смарт-контракта расшифровываются и проверяются первым майнером и если все данные от парсеров совпадают, смарт-контракт закрывается, а транзакция получает статус “в ожидании”.

Без понимания, как именно первый майнер получает заказ, многое становиться неопределенным. Данное получение заказа может ведь быть одновременно и для 2-х майнеров и для 3-х. Вспомните, как в биткоине появляются форки.

Также смущает, что проверку осуществляет первый майнер, а если он засланный казачок и вредит понемногу, как проверить.

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

Ahooleeman
Full Member
***
Offline Offline

Activity: 476
Merit: 111


View Profile WWW
June 08, 2017, 11:34:42 AM
 #5

Quote
2. Первый майнер, подобравший хэш, парсит необходимые данные, генерирует приватный и публичный ключи, после чего прикладывает в смарт-контракт публичный ключ и зашифрованные им полученные данные. Шифрование делается для того, чтобы исполнители смарт-контракта не знали о данных полученных первым майнером и не могли подделать информацию без парсинга. Таким образом исполнители смарт-контракта (со 2-го по N майнеры, нашедшие хэш) также парсят данные по адресам, присутствующим в транзакции, шифруют их публичным ключом первого майнера, передают данные в смарт-контракт и подписывают его.

3.После получения N подписей, данные из смарт-контракта расшифровываются и проверяются первым майнером и если все данные от парсеров совпадают, смарт-контракт закрывается, а транзакция получает статус “в ожидании”.

Без понимания, как именно первый майнер получает заказ, многое становиться неопределенным. Данное получение заказа может ведь быть одновременно и для 2-х майнеров и для 3-х. Вспомните, как в биткоине появляются форки.

Также смущает, что проверку осуществляет первый майнер, а если он засланный казачок и вредит понемногу, как проверить.

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


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

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

Последний вариант не исключен. Но опять же зачем кому-то что-то майнить и править, если монета никому не нужна, а если нужна, то вряд ли он придет один и будет заморачиваться с правкой блоков. Тут можно Шнурова цитировать, но не буду, там мат Smiley

imhoneer
Hero Member
*****
Offline Offline

Activity: 1554
Merit: 878



View Profile WWW
June 08, 2017, 02:34:04 PM
 #6

Но даже, если такая ситуация случится, мы получим в очереди "в ожидании" две транзакции и если чудом второй хэш подберут одновременно два майнера и запишут разные транзакции как правильные, то решение будет как в биткойне, по сути верной будет принята более длинная ветка в итоге.

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

Последний вариант не исключен. Но опять же зачем кому-то что-то майнить и править, если монета никому не нужна, а если нужна, то вряд ли он придет один и будет заморачиваться с правкой блоков. Тут можно Шнурова цитировать, но не буду, там мат Smiley

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

Поэтому Вам бы, чем надеяться на авось, то лучше проработать такие варианты. Чтоб потом мучительно больно не было. Дьявол он ведь, как известно, в мелочах.

Ahooleeman
Full Member
***
Offline Offline

Activity: 476
Merit: 111


View Profile WWW
June 08, 2017, 04:12:00 PM
 #7


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

Поэтому Вам бы, чем надеяться на авось, то лучше проработать такие варианты. Чтоб потом мучительно больно не было. Дьявол он ведь, как известно, в мелочах.

Не волнуйтесь, мы проработаем Smiley Жаль только никто по существу вопроса пока не ответил Sad

imhoneer
Hero Member
*****
Offline Offline

Activity: 1554
Merit: 878



View Profile WWW
June 08, 2017, 06:41:03 PM
 #8

Не волнуйтесь, мы проработаем Smiley Жаль только никто по существу вопроса пока не ответил Sad

Никто я думаю Вам особо здесь ничего не посоветует, т.к. надо действительно знать ваш проект. Вот, например, вот здесь
Quote
Организация процесса:
- раздача на децентрализованные узлы задач для парсинга урлов с товарами и ценами.
- подтверждение парсинга N узлами. (делается ограничение на количество узлов (чтобы не создавать ddos на сайт магазина)
- скрытие данных узлов друг от друга, чтобы избежать фрода со стороны узлов.
- запись подтвержденного парсинга в блокчейн.

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

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

Сама по себе идея для децентрализованной сети использовать централизованные данные плоха.

Лучше постарайтесь тогда создавать такие типы контрактов, чтобы один из участников, мог сам контролировать цену и в любой момент использовать ваш смарт-контракт.

Например, текущая цена биткоина на биржах 2700$, продаем смарт-контракт человеку за сумму в 300$(можно считать вероятности и тогда цену вариировать от 100$ до 300$, да и не Вы должны его продавать, Вы ведь не букмекеры, а потому будет продавать другой участник) и гарантируем ему, что в течении 30 дней, он использую наш контракт может купить биткоин за 3000$. Таким образом, человек сам следит за ценами и когда он видит курс на своей бирже, что биткоин начал стоить 3500$, то он использует контракт. И получает свою прибыль в 200$. И тогда ваша задача сводиться к более простым вещам, а именно гарантировать ему доставку этих биткоинов как можно быстрее.

ateregulov
Copper Member
Newbie
*
Offline Offline

Activity: 49
Merit: 0

Founder at Crypto Magica


View Profile WWW
June 18, 2017, 01:20:46 AM
 #9

Затея интересная, если решите с нуля запрограммировать - зовите, поучаствую.

FanatMonet
Hero Member
*****
Offline Offline

Activity: 742
Merit: 503



View Profile
June 22, 2017, 03:59:17 AM
 #10

А чем не устраивают нынешние блокчейны? Биткоина или WAVES? Свой то чтобы сделать много усилий приложить придётся для того чтобы он работал.

.
.
.
▄███████████████████▄
█████████████████████
████████████▀▀░░░░███
███████████▌░░░░░░███
███████████░░░░██████
███████████░░░░██████
████████░░░░░░░░░░▐██
████████░░░░░░░░░░███

███████████░░░░██████

███████████░░░░██████

███████████░░░░██████

███████████░░░░██████

▀██████████░░░░█████▀
▄███████████████████▄
█████████████████████
█████████████████████
████▀██████▀░░░▀▀▄███
████░░▀▀███░░░░░░▄███
████▀░░░░░░░░░░░▐████
████▄░░░░░░░░░░░█████
█████▀░░░░░░░░░▄█████

████▀█▄░░░░░░░▄██████

█████▄░░░░░▄▄████████

█████████████████████

█████████████████████

▀███████████████████▀
▄███████████████████▄
█████▀▀▀▀▀▀▀▀▀▀▀█████
███░░░▄▄▄▄▄▄▄▄▄░░░███
██░░▄█████████▀▀▄░░██
██░░███▀▀░░░▀▀▄▄█░░██
██░░██▀░▄███▄░▀██░░██
██░░██░░█████░░██░░██
██░░██▄░▀███▀░▄██░░██

██░░███▄▄░░░▄▄███░░██

██░░▀███████████▀░░██

███░░░▀▀▀▀▀▀▀▀▀░░░███

█████▄▄▄▄▄▄▄▄▄▄▄█████

▀███████████████████▀
▄███████████████████▄
█████████████████████
█████████████████████
██████████████▀▀▀████
██████████▀▀░░░░▐████
██████▀▀░░░▄▀░░░█████
████░░░░▄▄▀░░░░▐█████
██████▄▐█░░░░░░██████

███████▌▌░░░░░▐██████

████████▄██▄▄░███████

█████████████████████

█████████████████████

▀███████████████████▀
.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!