1. "Каждая сделка должна содержать ссылку (т.е.. Хэш) к предыдущей сделке"
2. "Кандидат состояние-оф-система получается путем вычисления результата в результате цепочки транзакций"
3. "Правильная цепочка из нескольких кандидатов является тот, который имеет либо
Источник: https://blog.ethereum.org/2014/07/05/stake/ (Забастовка сквозной только добавили здесь, как я не буду обсуждать Монетные дни типовых схем. В самом деле, ничто здесь не будет выглядеть так же, как доказательство костры, и это лучше мысль о том, как альтернативе финальной стадии Bitcoin, в котором все добыче награды приходят от сборов сделки.)
Я был действительно поражен элегантной простотой этого предложения. Он также решает "ничего на карту" Проблема с PoS, как это наблюдалось в статье.
Конечно, на практике она не будет масштабироваться на все хорошо, а Виталик Бутерин указывает. Тогда возникает вопрос, может ли один создать алгоритм, который сохраняет большую часть этой замечательной простотой, одновременно улучшая масштабирование. В остальной части этого поста, я хотел бы обсудить один из возможных вариантов решения. Любые комментарии по ли это было на самом деле работать было бы оценен, и если кто-то с большим количеством свободного времени, чем мне казалось, что его реализация, я был бы невероятно польщен.
Главное изменение, что вместо того, чтобы блок-цепь, или, как с TaPoS, транзакцией-цепью, мы вместо того, чтобы иметь транзакции ориентированных ациклический граф (транзакция-DAG / КГРЭ), с каждой транзакцией, содержащей список / Меркл -tree хешей предыдущих сделок.
Если я правильно понимаю, главная причина, по которой простые TaPoS приведенные выше, не будет масштабироваться, что с большим объемом транзакций, большое количество сделок будет все утверждают, что они произошли от одной родительской транзакции. Таким образом, будут огромными объемами "сиротские-операции", и, возможно, даже довольно длинная сиротская-цепь. Это означало бы, что было бы почти невозможно для низких сделок значения, чтобы попасть в цепь. Однако при операции формирования DAG, эта проблема является потенциально разрешима. В то время как большое количество сделок, могут по-прежнему имеют общий родитель (или родители), если они не противоречат друг другу (быть ясно), они могут быть возвращены вместе, имея следующее поколение сделок "сходить" от них всех.
КГРЭ должны удовлетворять следующие свойства, которые будут приняты в сети:
1. Частичный порядок, связанный с DAG образует ограниченную решетку, так что, в частности, существует единственный корневой узел, и уникальное бездетное узел, который должен быть сделкой представляется в сеть.
2. Пусть P (N), множество всех родителей узла N, и А (N) будет множество, содержащее N и все его предки узлов (например, родители, Гранд-родитель и т.д. весь путь обратно к корню ). Тогда для всех N в DAG, и все M1 в P (N), существует по меньшей мере один узел В в А (М1), что для всех M2 в P (N), Q не в A (M2). (Т.е. узел может требовать только одного из родителей, если это строго увеличивает свой набор предков.)
3. Для каждого узла N в DAG, есть топологическое упорядочение A (N), скажем, М1, М2, ..., М. К., с МК = N такое, что для всех к в 1, ..., К, входы сделки, содержащейся в Мк являются неизрасходованные выходы из узлов M1, ..., М (к-1). (Т.е. ДАГ должно быть, по крайней мере постфактум rationalizable как представляющие собой цепочку сделок.)
Для того чтобы этот механизм работать, люди должны быть стимулами, чтобы включать в себя как можно больше бездетных сделок, как родитель их сделки, как это возможно. Они также должны быть стимулы, чтобы добавить их сделку как можно ближе к нижней части DAG. Для этого я предлагаю следующее.
1. Как и с Bitcoin, разница между суммой входов и выходов суммы по сделке, интерпретируется как плата транзакции, которую мы рассматриваем в качестве неизрасходованного выход при применении правила 3 выше.
2. Что бы ни случилось, половина всех сборов сделки постоянно отбрасывается.
3. Создатель новой транзакции Н может включать в себя до половины от общей суммы сделки от сборов P (N) в качестве входных данных в пределах их сделки (т.е. до всего остатка).
4. Если необходим выбор между несколькими непримиримым TDAGs быть сделан (то есть, когда не представляется возможным сформировать новую КГРЭ с нижним узлом, родители которого являются нижними узлами исходной TDAGs), в КГРЭ с наибольшей суммой общей стоимости сделки платный должен быть выбран. В случае равенства, тех TDAGs с той же общей стоимостью сделки, оплаченной, один с самой высокой общей стоимостью невостребованных сделки должна быть выбрано.
Для того, чтобы понять смысл этого, предположим, что имеется узел N с детьми M1, M2, ..., MK каждый без других родителей. Если K = 1, и один ребенок утверждали максимально допустимую плату, то минимальное возможное количество отбрасывается, то есть только половина платы за транзакцию. Если они утверждают, что меньше, чем максимально возможный, то более половины сборов транзакции будут отброшены (хотя на самом деле, кто бы реализовать некоторые из них были все еще доступны, и представит дополнительную операцию ребенка требовать его). Если K = 2, и снова каждый ребенок утверждал максимально допустимую плату, то есть не может быть никакого КГРЭ, содержащего N, M1 и M2, поскольку такая КГРЭ будет функция расходов, уже отработанных выходов. Таким образом, либо создатели узлов M1 и M2 являются менее жадным в своих претензий (вероятный исход), или один из этих узлов не будут включены в конечном итоге КГРЭ. Если (скажем) M1 значительно прибыли до М2, то они, вероятно, имеют больше детей своих, и, следовательно, КГРЭ, содержащий M1, вероятно, имеют более высокие общие операционные издержки, чем один, содержащий М2, и поэтому один (ы), содержащий М2 не будет выбран. В идеале, бумажники должны динамически регулировать заявленную сумму, чтобы дать высокую вероятность включения транзакции. Я бы тогда ожидать, что оппортунистические человек с высокой пропускной способностью сети будет зачистить нечетные немного оставшиеся невостребованные операционные издержки.
Насколько я могу видеть, как и с оригинальной TaPoS, это еще не уязвимы для "ничего на карту" Проблема с PoS. Там нет стимула представлять транзакции в нескольких TDAGs. Какие еще проблемы мне не хватает?
Как я уже говорил, любые комментарии будут оценены. Как бы пинг любых потенциально заинтересованные сторон.
Примечание: Во-первых размещены здесь: https://www.reddit.com/r/btc/comments/4n6nq8/proposal_transactiondirected_acyclic_graphs/ (Где он утонул в шуме).