Pages:
Author

Topic: POA (Proof Of Auction). Новый алгоритм консенсуса. (Read 2235 times)

legendary
Activity: 2744
Merit: 1588
Только, что внёс важное дополнение к работе данного алгоритма, а именно:

Quote
После рассылки этого блока всем Блокмейкерам, происходит проверка и его принятие. Как только эта процедура закончена, то каждый освободившийся Блокмейкер начинает опрашивать других Блокмейкеров на готовность к работе. Уровень готовности должен быть от 60% (а может больше) предыдущего количества. Как только это произошло, то происходит продолжение работы сети.

Считаю, что именно такое решение позволит очень хорошо масштабировать и увеличивать мощность и скорость сети, даже не увеличивая значительно количество Блокмейкеров. Потому, что оно позволяет количество переводить в качество.

Вот как это работает.

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

Однако, введя данное правило, я ввел механизм селекции. Блокмейкеры это не обязательно идейные пользователи, они профессиональные участники, а значит теоретически они должны с этого жить. Получая плату за свою работу, они на определенном этапе будут видеть, что их оборудование скоро или уже не справляется с размерами блоков, а потому надо обновить оборудование и войти в эти 60% которые требуются сети для возобновления работы после обработки последнего блока.

Таким образом, постепенно состав сети и оборудования блокмейкеров обновятся и станут более мощными, ведь если деньги позволяют, то почему бы это не сделать и продолжать дальше зарабатывать.
legendary
Activity: 2744
Merit: 1588
Поддерживаю.

Большое спасибо!



Рано или поздно будет разнос а это похуже любого форка..
Ищи тех кому проект понравился может намутите что то вместе, без альфы или хотя бы команды такую вещь не поднять..

Где именно и из за чего Вы видите разнос? Лучше увидеть проблему сейчас, чем потом наворотить делов.
newbie
Activity: 10
Merit: 0
Поддерживаю.
sr. member
Activity: 924
Merit: 255
Какие угодно системы построенные на деньгах и рыночных отношениях(так как и в том и в другом присутствует вера) в чистую проигрывают простым математическим законам и теории вероятности. Как алгоритм консенсуса для какой-нибудь игры вполне сойдёт, но не более.

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

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

Рано или поздно будет разнос а это похуже любого форка..
Ищи тех кому проект понравился может намутите что то вместе, без альфы или хотя бы команды такую вещь не поднять..
legendary
Activity: 2744
Merit: 1588
Какие угодно системы построенные на деньгах и рыночных отношениях(так как и в том и в другом присутствует вера) в чистую проигрывают простым математическим законам и теории вероятности. Как алгоритм консенсуса для какой-нибудь игры вполне сойдёт, но не более.

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

Да и где здесь элементы веры увидели? В том, что предполагал, как будет действовать разумный Блокмейкер. Ну хорошо пусть он будет тупым и не будет перестраиваться, то он просто тогда будет терять деньги на страховых выплатах и все. Кому от этого только хуже будет, только ему, т.к. пользователи получают компенсацию.
legendary
Activity: 3556
Merit: 1100

...В чем прелесть данного алгоритма, так в том, что он строиться на деньгах и рыночных отношения. А такая система всегда найдет способ приспособиться.

Какие угодно системы построенные на деньгах и рыночных отношениях(так как и в том и в другом присутствует вера) в чистую проигрывают простым математическим законам и теории вероятности. Как алгоритм консенсуса для какой-нибудь игры вполне сойдёт, но не более.
legendary
Activity: 2744
Merit: 1588
На основании ваших же пояснений. Так же из них следует, что каждая следующая транзакция пользователя будет включена в блокчейн в среднем примерно через количество блоков равное или больше количеству блокмейкеров.

Думаю, что понял, как Вы сделали такие выводы. Однако есть нюансы, которые самонастраивают систему.

Вот смотрите:

- пользователи могут выбирать Блокмейкеров в зависимости от их условий.

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

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

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

Любой разумный человек в этой ситуации начинает думать и принимать какие-то решения. Кто-то будет изменять время когда он будет набирать транзакции (может он попал в час пик), кто-то ещё больше выставит комиссию для пользователей, например, будет таким образом собирать только крупные суммы и с более большой комиссией, как только соберет, то выйдет на аукцион и сразу его выйграет, тем самым создав блок, а кто-то просто увидев, что активных Блокмейкеров слишком много, предпочтет больше не набирать транзакции, а просто получать пассивный доход.

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

У таких Блокмейкеров будут более полные накопители, их станет меньше. А следовательно вероятность построить блок будет выше, так как они будут стремиться именно к полному наполнению накопителя, а это нужно время для этого. В это же время очередь претендентов с полными накопителями будет уменьшаться по мере строительства каждого блока.

В чем прелесть данного алгоритма, так в том, что он строиться на деньгах и рыночных отношения. А такая система всегда найдет способ приспособиться.
legendary
Activity: 3556
Merit: 1100
При количестве блокмейкеров 100, 1000 и более, пользователь, заключивший контракт с одним из них на включение его транзакции в блок в течение 4 часов, должен будет повторять это действие ~ 100, 1000 и более раз в течение ~ 400, 4000, и более часов, пока его транзакция не попадёт в блок.

Мне не совсем понятно, как Вы пришли к таким выводам...

На основании ваших же пояснений. Так же из них следует, что каждая следующая транзакция пользователя будет включена в блокчейн в среднем примерно через количество блоков равное или больше количеству блокмейкеров.
legendary
Activity: 2744
Merit: 1588
При количестве блокмейкеров 100, 1000 и более, пользователь, заключивший контракт с одним из них на включение его транзакции в блок в течение 4 часов, должен будет повторять это действие ~ 100, 1000 и более раз в течение ~ 400, 4000, и более часов, пока его транзакция не попадёт в блок.

Мне не совсем понятно, как Вы пришли к таким выводам.

Вот смотрите у нас есть сеть из 1000 Блокмейкеров, значит максимальное количество в накопители может быть у каждого Блокмейкера на 1000 транзакций. Пользователь может сам выбрать блокмейкера. Если пользователь платит рекомендованную комиссию, то с Блокмейкером заключается договор о страховке (на счет сроков и самой компенсации, это может меняться. Кто-то может сделать так, что гарантирует не за 4 часа, а допустим за 10 минут, тогда к нему ломануться все пользователи и он сможет быстрее наполнять свой накопитель и выходить на аукцион, быстрее построить блок и вновь принимать желающих за счет этого у него будет увеличен оборот и как следствие прибыль).

Теперь давайте примерно прикинем обработку сети. Если время аукциона и последующего строительства блока будет 1 минуту. То каждый блог будет содержать 1000 транзакций. В течении только 2 часов может обработаться 120,000 транзакций и это мы еще условимся, что у нас идет мощный поток транзакций и Блокмейкеры выходят с полностью наполненными накопителями транзакций. А если в сети не очень много заявок поступает, то Блокмейкер может не дожидаться полного наполнения, а видя предыдущую цену строительства блока, он может решить выйти и предложить даже больше предыдущей, если сумма комиссий ему позволяет это сделать.

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

Ну а на счет ожидания, ну не прошла транзакция за какое-то время. Ну так Вы получите компенсацию за это. Ничего идеального не бывает, однако, именно в нашем случае это будет не так обидно для пользователя.
legendary
Activity: 3556
Merit: 1100

При количестве блокмейкеров 100, 1000 и более, пользователь, заключивший контракт с одним из них на включение его транзакции в блок в течение 4 часов, должен будет повторять это действие ~ 100, 1000 и более раз в течение ~ 400, 4000, и более часов, пока его транзакция не попадёт в блок.
legendary
Activity: 2744
Merit: 1588
Что ж, тест на покупку чашки кофе ваш алгоритм не проходит, но вы правы насчет надежности.
Правда вы трактуете надежность в аспекте, что осуществляющий платеж гарантированно не потеряет свои средства, но реципиент в вашем алгоритме не гарантированно платеж получит! Он может лишь с уверенностью утверждать, что если за четыре часа платеж не прошёл, то можно уже не ждать. Можно ли внести какие то изменения, чтобы больше защитить интересы и реципиента?

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

А я понял вашу мысль, Вы волновались больше о получателе денег, чтобы он их гарантированно получил в оговоренный срок. Как я говорил, платеж страхуется смарт-контрактом, его заключают 2 стороны Блокмейкер и пользователь. Поэтому при конкретных условиях ничто не мешает создать этот контракт на выплату компенсации 3-й стороне(т.е. получателю денег) в размере платежа.

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

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

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

На счет залога и кражи миллиона. Залог призван не кражи предотвращать, а заставлять дисциплинированно работать Блокмейкеров. Такие же, как и в биткоине. Платеж подписывается закрытым ключом и отправляется в открытую сеть, там уже открытыми ключами проверяют этот платеж.
copper member
Activity: 2254
Merit: 915
White Russian
Поэтому время меньше 1-2 минут быть не может, иначе пострадает безопасность сети.
Что ж, тест на покупку чашки кофе ваш алгоритм не проходит, но вы правы насчет надежности.
Правда вы трактуете надежность в аспекте, что осуществляющий платеж гарантированно не потеряет свои средства, но реципиент в вашем алгоритме не гарантированно платеж получит! Он может лишь с уверенностью утверждать, что если за четыре часа платеж не прошёл, то можно уже не ждать. Можно ли внести какие то изменения, чтобы больше защитить интересы и реципиента?

Также есть вопрос относительно стодолларового залога блокмейкера.
Если перевод на миллион, какие шансы у нечистого на руку блокмейкера завладеть переводом?
legendary
Activity: 2744
Merit: 1588
Насколько условное?
Интересует нижняя граница, если шанс у сети с предлагаемым вами алгоритмом консенсуса пройти тест на покупку чашки кофе?
Можно ли все ускорить с четырех часов до пяти секунд?

Давайте попробуем купить чашку кофе.

Допустим наша сеть состоит из 10-х Блокмейкеров. Я в своем приложении отправил транзакцию продавцу на какую-то сумму за чашку кофе, плюс комиссия.

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

Если Блокмейкер так и сделает, то он может Вам гарантировать по страховке, что если в течении 1-2 минут, ваша транзакция не попадет в блокчейн, то он заплатит Вам компенсацию (как видите 4 часа это просто условность. Блокмейкер устанавливает время на основе своих возможностей).

Тогда ваша комиссия должна быть примерно 13сатоши (это вообще по минимуму, т.к. сам Блокмейкер вообще получит 1сатоши), это чтобы не торговаться с остальными, а сразу отдать 12 сатоши 60% сети и получить право строить блок.

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

Поэтому время меньше 1-2 минут быть не может, иначе пострадает безопасность сети.

Тем не менее я считаю, что данный тест не совсем будет то, что нужно для использования криптовалюты на данном алгоритме. Здесь не особо гоняться за скоростью, скорее за эффективностью и надежностью.
copper member
Activity: 2254
Merit: 915
White Russian
4часа - это время условное. Суть в том, что каждый Блокмейкер должен при помощи смарт-контракта взять на себя ответственность гарантированно добавить транзакции пользователя в блокчейн. Если он с этим не справился, то он должен выплатить компенсацию пользователю. Данное время у разных Блокмейкеров может быть разное. Более того и сама страховка может быть больше. Это позволяет Блокмейкерам создавать конкурентное преимущество перед другими. Когда пользователь видит, более интересные условия компенсации, то он может предпочесть именно этого Блокмейкера перед остальными. У такого Блокмейкера пользователи будут быстрее наполнять накопитель транзакций с соответствующими комиссиями. Тем самым у Блокмейкера повышается оборот средств, что в конечном случае делает ему больше прибыли.
Насколько условное?
Интересует нижняя граница, если шанс у сети с предлагаемым вами алгоритмом консенсуса пройти тест на покупку чашки кофе?
Можно ли все ускорить с четырех часов до пяти секунд?
legendary
Activity: 2744
Merit: 1588
вам бы человека который оформил графику чтобы было понятно и можно набирать команду чтобы провести ico, учитывая спрос то есть шанс запустить в реале. структура довольно таки интересная и мысли хорошие. мне нравится!  Cool

Спасибо! Я бы уже сам бы давно сделал, если бы мог. Но нет ни финансов, ни знаний. Поэтому пока отшлифовываю и довожу до ума на бумаге и здесь в теме.

Мне бы 1-2 человек с навыками программирования, чтобы сделать прототипы рабочие. Так как я даже не представляю сколько стоит такая разработка.

А сделать нужно пользовательский клиент, он самый простой.
И клиент Блокмейкера, тут да надо подумать.
legendary
Activity: 2744
Merit: 1588
В ваших рассуждениях вы упоминаете 100$, 1000 сатоши, 4 часа, расскажите исходя из каких предположений выбраны именно эти числа.
Также интересно до каких пределов можно теоретически уменьшить "4 часа" в вашей модели, чтобы она оставалась работоспособной?

Спасибо за вопросы!
Итак начнем.

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

4часа - это время условное. Суть в том, что каждый Блокмейкер должен при помощи смарт-контракта взять на себя ответственность гарантированно добавить транзакции пользователя в блокчейн. Если он с этим не справился, то он должен выплатить компенсацию пользователю. Данное время у разных Блокмейкеров может быть разное. Более того и сама страховка может быть больше. Это позволяет Блокмейкерам создавать конкурентное преимущество перед другими. Когда пользователь видит, более интересные условия компенсации, то он может предпочесть именно этого Блокмейкера перед остальными. У такого Блокмейкера пользователи будут быстрее наполнять накопитель транзакций с соответствующими комиссиями. Тем самым у Блокмейкера повышается оборот средств, что в конечном случае делает ему больше прибыли.

1000сатоши - это просто пример для лучшего понимания. Комиссия будет определяться рыночными механизмами, а потому она плавающая. Однако она никогда не сможет быть меньше чем Xсатоши, где Х - это 60% от количества всех Блокмейкеров сети (т.е. сеть состоит из 10 Блокмейкеров, 60%- это 6 Блокмейкеров, поэтому минимальная комиссия не должна быть меньше 6сатоши. Добавте также ограничение по минимальной прибыли на аукционе у Блокмейкера в 1%).
sr. member
Activity: 882
Merit: 254
copper member
Activity: 2254
Merit: 915
White Russian
Задавайте ещё вопросы, если Вам что-то стало не понятно.
В ваших рассуждениях вы упоминаете 100$, 1000 сатоши, 4 часа, расскажите исходя из каких предположений выбраны именно эти числа.
Также интересно до каких пределов можно теоретически уменьшить "4 часа" в вашей модели, чтобы она оставалась работоспособной?
legendary
Activity: 2744
Merit: 1588
Пожалуйста поясните за мемпул, где он находится в вашей схеме?
Это распределенная роль, которую играют Блокмейкеры или это какой-то внешний арбитр?

Мне нравится ваша идея в целом, хотя некоторые моменты возможно кажутся недостаточно проработанными.

Спасибо за интерес к теме!

Сейчас весь алгоритм переделанный и обновленный написан в самом первом посте этой темы.

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

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

Задавайте ещё вопросы, если Вам что-то стало не понятно.
copper member
Activity: 2254
Merit: 915
White Russian
Pages:
Jump to: