Проверка обратной цепи при сбоях узлов в R3 Corda - PullRequest
0 голосов
/ 09 апреля 2020

Я новичок в Корде. Мой вопрос не о какой-то конкретной реализации, а о архитектурном вопросе.

Что происходит во время проверки обратной цепи, если один из задействованных узлов постоянно умирает и не отвечает? Как эта транзакция подтверждена?

Я видел эту проблему , которая говорит только о том, как объем транзакции может замедлить проверку. Приходит ли проверка к остановке, если один из узлов постоянно выходит из строя?

В соответствии с веб-семинаром Corda о консенсусе , в примере, который занимает 5 минут видео, обратная цепочка - Чарл ie -> Дэн -> Алиса -> Боб. При этом, если либо Charl ie, либо Dan недоступны, предложенная транзакция не может быть подтверждена. В том же вебинаре далее говорится, что это не является проблемой в других цепочках блоков, таких как Ethereum.

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

Тем не менее, приложение, учитывающее конфиденциальность, не желающее утекать информацию, развернутое по всему миру, может страдать от многих сбоев проверки транзакций из-за капризов глобальной сети. Мысли

Ответы [ 2 ]

2 голосов
/ 09 апреля 2020
  1. Краткий ответ: проверка транзакции завершится неудачей (если этот узел был единственным узлом, у которого была эта транзакция); и в этом смысл использования DLT (или блокчейна). Если вы не можете go вернуться в историю определенного блока данных до появления, тогда вы не сможете проверить, как был создан этот блок и его предки.
  2. Что касается проблемы, на которую вы указали в своем вопросе; Corda Enterprise 4.4 представила новую функцию, называемую пакетной выборкой по обратной цепочке, которая позволяет изменять способ получения транзакций, необходимых для проверки определенной транзакции. Ранее это была глубина вначале, теперь вы можете сначала изменить ее на ширину и указать, сколько транзакций вы хотите получить за один вызов. Подробнее в этом видео .
0 голосов
/ 09 апреля 2020

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

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

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

...