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

друг от друга маленьких заряженных шарика "1" и "2", с зарядами

и

любого знака. Их мы будем рассматривать для простоты как классические тела (не как квантовые частицы). Для наглядности можно изобразить их "диаграммой" - двумя параллельными мировыми линями в пространстве-времени.
В квантовой теории поля смысл классического понятия "электрический заряд" почти совпадает с квантовым понятием "амплитуда вероятности испускания фотона", а также - с "амплитуда вероятности поглощения фотона" заряженной частицей. (Каждая из этих амплитуд вероятности равна заряду частицы

умноженному на постоянные множители, содержащие фундаментальные константы

и

но их для краткости не будем выписывать, будем следить за структурой выражений только в общих чертах.)
1) Один из принципов квантовой теории гласит (к формулировкам не придирайтесь, стараюсь кратко донести лишь основной смысл): цепочка событий (типа "И") описывается произведением амплитуд вероятности этих событий.
То есть, если заряд "1" испустил фотон, и фотон добрался до места расположения заряда "2", и этот второй заряд поглотил фотон, то такой цепочке событий сопоставляется амплитуда вероятности

где

- амплитуда вероятности распространения фотона от мировой точки

, в которой он испущен, к мировой точке

, в которой он поглощён; она зависит от пространственных и временн
ых координат обеих мировых точек. (Обо всём этом интересно и доступно написано в книге Р. Фейнмана "КЭД - странная теория света и вещества").
Функцию

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

на мировой линии заряда "1" с точкой

на мировой линии заряда "2", хотя "распространение" фотона это вовсе не полёт материальной точки по траектории: пропагатор

отличен от нуля в любых точках

и

а не только на прямой линии, соединяющей

с

2) Ещё один важнейший принцип квантовой теории гласит: альтернативным событиям (типа "ИЛИ") сопоставляется сумма их амплитуд вероятности.
Значит, раз фотон может испуститься или в одной, или в другой, или в третьей и т. д. мировой точке

на линии "1", а поглотиться может или в одной, или в другой, или в тертьей и т. д. мировой точке

на линии "2", то надо просуммировать

по пространственным и временн
ым координатам

и

Суммирование по непрерывному множеству точек

и

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

и

распределены с некоторой плотностью заряда

и

внутри тел "1" и "2", и говорить об интегрировании выражения

но эти детали не изменяют структуру результата. Результат обозначим буквой


- амплитуда вероятности обмена одним фотоном между телами "1" и "2". У нас это результат суммирования амплитуд

по всем возможным мировым точкам испускания и поглощения фотона точечными зарядами

и

оказывается, такой результат выглядит вот как:

где

- сколь угодно большое время между начальным и конечным состоянием системы, т. е. - длина во времени мировых линий "1" и "2",

- мнимая единица,

- постоянная Планка.
3) Но учтены ещё не все альтернативы. Если за всё время

заряды ни разу не обменяются фотоном (на соответствующей этой ситуации диаграмме тогда не будет фотонной линии), то такой ситуации сопоставляется амплитуда вероятности

Если же заряды обменяются двумя фотонами, то это - цепочка типа "И": обменялись и одним и другим фотоном.
Такой цепочке событий сопоставляется произведение однофотонных амплитуд, делённое на два:

Почему надо делить

на два? Потому что фотоны неразличимы, а когда мы суммируем

по всем мировым точкам линий "1" и "2", получая

и ещё раз так же суммируем

, получая вторую

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

фотонами описывается амплитудой вероятности

Значит, с учётом обмена неопределённо большим количеством фотонов (т. е.: или ни одним, или одним, или двумя, или тремя, и т. д.), квантовая картина взаимодействия зарядов "1" и "2" описывается суммой бесконечного ряда амплитуд вероятности:

4) Наконец, вспомним ещё один принцип квантовой теории: переход системы из начального состояния в конечное состояние в том случае, когда это одно и то же стационарное состояние, описывается амплитудой вероятности вида

где

- энергия системы.
В нашем случае речь идёт об амплитуде перехода "фотонный вакуум в фотонный вакуум" (потому что ни в начальном, ни в конечном состоянии здесь нет реальных фотонов, статические заряды не создают электромагнитного излучения) "в присутствии статических источников" (т. е. покоящихся зарядов "1" и "2"). В этом случае энергия системы должна складываться из трёх слагаемых:

где

и

- собственная энергия зарядов "1" и "2", а третье слагаемое - энергия их взаимодействия друг с другом. Собственные энергии должны зависеть от

и

поотдельности, а в выражение для энергии взаимодействия заряды

и

должны входить одновременно. Экспонента с тремя слагаемыми в показателе разбивается на три сомножителя:

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

зависит одновременно от

и

значит, результат

следует интерпретировать как


Подставив сюда явное выражение для

выписанное выше, видим, что

То есть из квантового рассмотрения взаимодействия зарядов через обмен виртуальными фотонами получилась классическая формула для энергии кулоновского взаимодействия зарядов.
Если

и

оба положительные или оба отрицательные, то

и энергия взамодействия - положительная величина, возрастающая с уменьшением расстояния между зарядами

, что соответствует отталкиванию зарядов. Если

и

разноимённые, то

и энергия взамодействия - отрицательная величина, убывающая с уменьшением расстояния между зарядами

, что соответствует притяжению зарядов.
Заодно поясню почему "не катит" классическая картинка расталкивания зарядов, перебрасывающихся "фотоном". В импульсном представлении пропагатор
т. е. нигде на конечных расстояниях
от заряда не обращается в ноль.
Это значит, что амплитуда вероятности поглотить вторым зарядом фотон, испущенный с тем или иным импульсом
первым зарядом, отлична от нуля всюду на конечных расстояниях. Например, допустим, первый заряд испустил фотон с импульсом
направленным прочь от второго заряда. Но виртуальный фотон не летит по определённой траектории как классическая пулька, мимо цели, а возьмёт да и обнаружится вторым зарядом именно в том месте где этот второй заряд находится; вот и получается, что второй заряд может поглотить импульс с любым направлением, а не только тот, который в него нацелен и отталкивает от первого заряда.
Т. е. важно, что квантовая частица с определённым импульсом не имеет определённых координат, а может обнаружиться в любом месте пространства. А знаки зарядов
играют роль фазовых множителей у квантовых амплитуд вероятности испустить/поглотить фотон. Важно, что в итоговой картине участвуют все альтенативы - с неопределённо большим числом виртуальных фотонов; при суммировании амплитуд этих альтернатив, фазовые множители слагаемых попадают в показатель итоговой экспоненты, так что знаки зарядов в итоге определяют знак энергии взаимодействия. (Классическая же картинка, в которой заряды перебрасываются "фотоном" как мячиком, не может воспроизвести этот результат. Другими словами: понятие "электрическое поле" не сводится к обычной механике.)