Мне любопытно, как при луковой маршрутизации узлы ретрансляции определяют, на какой узел пересылать сообщение? Насколько я понимаю, сообщение должно проходить по определенному пути в зависимости от ключей, которые есть у пользователя. Я не понимаю, как узлы понимают, как передать сообщение как в пути запроса, так и в пути ответа. Объяснения, которые я видел на своем уровне, похоже, абстрагируют эту часть.
Я предполагаю, что информация, относящаяся к узлам, прилегающим к узлу ретрансляции, понятна, несмотря на шифрование? Например, предположив 3 ретрансляционных узла, в запросе ретрансляционный узел 2 получает $M_2 = E_2(E_3(M))$, могу найти $M_3 = E_3(M)$, и есть некоторая информация, доступная для чтения узлу в $M_3$ сказать ему, что он должен перейти к узлу 3?
Другими словами, первоначальное шифрование при отправке сообщения больше похоже на $$H_1||E_1(H_2||E_2(H_3||E_3(M)))$$, где каждый $H_N$ читается узлом $N$ и содержит информацию о следующем узле.
Но я предполагаю, что это неверно, потому что это имеет смысл только тогда, когда отправитель (клиент) может добавить все заголовки, я не знаю, как это будет работать в ответе.