В общем, когда мы моделируем атаку, мы должны учитывать более одной фазы.
Проблема: в теоретической информатике мы используем машины Тьюринга. $\mathcal{А}$ (в конечном итоге с оракулами), которые являются «однофазными» (принимает строку в качестве ввода и выводит другую строку).
Затем, чтобы учесть это, люди предпочитают использовать, например, более одной машины Тьюринга. $\mathcal{A}_1$, $\mathcal{A}_2$.
Таким образом $\mathcal{A}_1$ будет представлять противника на первом этапе, и $\mathcal{A}_2$ во время второй фазы.
Но могло случиться так, что $\mathcal{A}_2$ необходимо использовать информацию, полученную на первом этапе.
Вот почему мы используем нить (понятно связанную, потому что $\mathcal{A}_1$ рассматривается как машина Тьюринга с полиномиальным временем), которая выводится $\mathcal{A}_1$, и принимает в качестве входных данных $\mathcal{A}_2$. Эта строка называется состоянием.
Насчет внутренних монет, это просто потому что $\mathcal{А}$это вероятностный Машины Тьюринга, поэтому он использует случайные монеты. (внутренние средства: это не зависит от ввода).
PS: Иногда люди хотят избежать использования более одной машины Тьюринга и рассмотреть состояние Машина Тьюринга (в отличие от традиционной лица без гражданства машины Тьюринга).
pps : В этом контексте безгражданство не означает наличие только одного состояния в машине Тьюринга, но это означает, что каждое выполнение не зависит от предыдущих и, таким образом, зависит только от входных данных и случайных монет.
https://www.thegeeksclan.com/stateful-and-stateless-programs/