Reading the Partitions of Poland Through Protocol Security
Poland and Lithuania formed a single republic, the Rzeczpospolita, through the Union of Lublin in 1569. At its peak in the early seventeenth century, it was one of the largest and most populous states in Europe, dominating much of Eastern Europe. Yet between 1772 and 1795, it was partitioned three times and then disappeared from the map for 123 years. It is common in history for a great power to lose territory after defeat in war, or to become a dependent state after its power fades. But it is rare for a country to be carved up by its neighbors as if it were spoils to be divided. Even the Ottoman Empire, called the “sick man of Europe” as its system neared paralysis, was almost torn apart by the Treaty of Sevres after World War I. Ataturk’s national movement reversed that crisis, and the republic survived under the Treaty of Lausanne in 1923. Even a dying empire reconfigured and mobilized itself at the final moment. Poland also resisted, but after prolonged structural weakening, it could not even mount a real war effort. Of course, the partitions of Poland had many causes, including geopolitics, economics, and religion. Here, I approach the partitions through the lens of protocol security.
The Formation of Privilege, and the Liberum Veto
At the time of the partitions, Poland was a monarchy. But it was very different from the hereditary monarchy we usually imagine. In 1572, the Jagiellonian dynasty ended without a direct heir, and the Polish throne effectively became elective. The nobles themselves voted to choose the king. It was not like the Holy Roman Empire, where only a small number of prince-electors voted. Instead, tens of thousands of nobles gathered in fields near Warsaw and cast one vote each. Repeated elections meant repeated bargaining. Any candidate who wanted to become king had to negotiate with the nobles each time, and the nobles extracted more privileges and further reduced royal power at every election. Power flowed in only one direction. The wide-ranging privileges accumulated by the nobility became known in Poland as Golden Liberty.
As is often the case, the weakening of royal power began with war and money. A key starting point was the Nieszawa Statutes of 1454. The Polish king summoned the nobles to arms before a major war against the Teutonic Order, but they refused to follow. Pressed by the situation, the king had to accept an arrangement that required the consent of local assemblies, or sejmiks, before making new laws or imposing taxes. In 1505, the principle of “Nihil novi” - “nothing new” - was formalized, preventing the king from making any new law without the consent of the Polish parliament, the Sejm. In this way, elected kings continued to accept unfavorable conditions. The liberum veto appeared at the peak of this process.
Polish parliamentary decisions had long been governed by a norm of common consent. It was a system that required agreement by all, but it was not originally fixed as a rule that a single objection could destroy the whole process. In 1652, however, one deputy’s veto actually dissolved the Sejm, leaving a precedent in which common consent could be broken by the refusal of one person. This became known as the liberum veto, meaning “free veto.” In practice, it meant that any deputy could block action. A deputy would shout “Sisto activitatem!” in Latin, meaning “I stop this activity,” or “Nie pozwalam!” in Polish, meaning “I do not allow it.” Over time, this hardened into a destructive mechanism that did not merely block one bill under discussion, but immediately ended the session and invalidated the legislation.
One fact matters here. The foundations of this system were created before Prussia and Russia, the powers that would later partition Poland, became strong. Prussia became a kingdom in 1701, and Russia emerged as a great power after Peter the Great in the early eighteenth century. By contrast, the Polish-Lithuanian Commonwealth reached its territorial peak around 1619. In other words, Poland created this custom when it was strong, when there was no overwhelming external enemy, and when slow decision-making still seemed tolerable. A strong Poland did not design institutional change with external enemies in mind. For the Polish nobility, the realistic enemies came from inside. They were a king who might become a tyrant and rival nobles. Polish institutional change hardened precisely to block those internal enemies. Unfortunately, this made it impossible to respond effectively when the national crisis of the mid-seventeenth-century Deluge, or Potop, began to weaken the state.
Looking Through the Lens of Computer Security
When we discuss security in computer systems, two properties often matter most. One is safety, the property that “bad things must never happen.” The other is liveness, the property that “good things eventually happen,” meaning that necessary actions eventually get handled. In a banking analogy, safety means that money cannot be taken from my account without authorization. Liveness means that a transfer I try to send will eventually go through, even if it is delayed.
The problem is that although it would be ideal to preserve both, distributed networks cannot perfectly achieve both properties at the same time. If safety is pushed to the extreme and every even slightly suspicious action is blocked, normal actions also stop. Conversely, if progress is prioritized, there is room for bad actions to slip in. This is a trade-off. And it is not merely a rule of thumb, but a mathematically proven limitation. This is known as FLP impossibility, named after the three researchers who proved it. In an asynchronous network, even one faulty node makes it impossible for deterministic consensus to guarantee both “everyone agrees on the same value” (safety) and “the system eventually decides” (liveness), although randomness or timing assumptions can work around the result. FLP is about the limits imposed by crashes and asynchrony. But here we can imagine a malicious failure mode. What if a node does not merely fail, but lies or deliberately betrays the system? In computer science, following Lamport’s work, this is called a Byzantine fault. How much of this kind of fault can a network tolerate? In many BFT (Byzantine Fault Tolerance) protocols used by blockchains, safety and liveness can be guaranteed as long as malicious nodes do not exceed one-third of the total, meaning at least two-thirds remain honest. Beyond that threshold, the system collapses.
Now let us view the state as a network, and its legal order as a protocol. Each noble participating in decision-making is one node. The unanimity system containing the liberum veto was a protocol that sacrificed almost the entire legislative function, or liveness, in order to prevent bad changes, or preserve safety. The problem was that this network did not exist alone in the world. Liveness could be destroyed not only when one noble deliberately stalled or opposed action on his own. In blockchain, there is a concept called a bribery attack. If an external third party offers a node a bribe larger than the reward it would receive for behaving honestly, the node defects and both sides profit. In this interpretation of the state as a network, Prussia, Austria, and Russia were external actors that could intervene from outside the network. For them, bribing just one among the many Polish nobles who possessed the liberum veto was a cheap and effective way to paralyze the entire state. The nodes were not uniform in size, either. Some nobles enjoyed greater influence and wealth. These were the magnates. In practice, foreign powers preferred to co-opt only part of the magnate class, which made influence easy to exercise. This is the structural reason why a hegemonic state in Eastern Europe, despite its territory and population, collapsed without being able to mobilize its strength or fight anything like a proper war. Just before the partitions, Poland had a population of roughly 14 million, far more than Prussia’s roughly 5 million, but its standing army had been capped at about 20,000 since 1717, and it could not properly issue a mobilization order, leaving it helpless before neighbors that could mobilize armies in the hundreds of thousands.
Russia’s Protocol Exploit
Once Polish power had weakened, Russia maximized the vulnerability of this protocol. After the Deluge in the mid-seventeenth century and the Great Northern War in the early eighteenth, Poland’s population and economy had been damaged, and Russia had already gained enough influence to shape Poland’s kings and parliaments for decades. Instead of immediately annexing Polish territory, Russia chose to make the vulnerability permanent. In 1768, Russia coerced the Polish Sejm into turning the customary liberum veto into an immutable legal provision, and appointed itself the guarantor of that system. It hard-coded an old remnant of the system that had become a bug. Direct territorial annexation creates resistance, and resistance creates expensive war. But changing the system’s rules so that the system paralyzes itself is a low-cost form of control. The First Partition took place in 1772, but its ratification still proceeded through the Sejm in 1773 as a formality. Because the partition itself could also have been vetoed if treated as an ordinary parliamentary matter, it was deliberately handled through a special form, a confederated Sejm, where decisions were customarily made by majority vote. Later, while Russia was tied down in other wars, the Polish Sejm carried out a major protocol upgrade by adopting Europe’s first modern written constitution in 1791, and tried to abolish even the liberum veto. But conservative factions invited Russia back in and overturned the constitution, rolling the system back to an old version whose liveness was broken. At that point, the cost of protocol attack had become extremely low. Honest nodes did not even need to be bribed, because nodes already connected to the enemy could betray for free, while the enemy only had to stand behind them. For Russia, there was no immediate need to annex a Poland that had already been paralyzed into a de facto protectorate. In the end, however, Russia, Prussia, and Austria divided Poland among themselves three times between 1772 and 1795, and Poland disappeared from the map for 123 years.
What Are We Really Asking?
This kind of decision-making structure is not confined to historical Poland. The most familiar veto power today is found in the United Nations Security Council. The five permanent members can each stop the Security Council on their own. It is, in effect, a liberum veto whose holders are limited to five. It does not paralyze randomly the way Poland’s did, but the design philosophy is the same. It is built around an internal enemy, namely conflict among great powers, and therefore it can still stop in the face of external threats that would require all five to move quickly together. Decision-making structures and policies have always been part of a continuing experiment. What was right then may be wrong now. Still, one thing remains clear. Whenever we create or repair an institution, we must ask again. What does this change aim to do? What is it trying to prevent? What situation does it assume? And what remains if that assumption breaks? Poland answered the first question perfectly (the enemy is the king), but when history changed the answer, it was not even given the chance to ask again.
폴란드와 리투아니아는 1569년 루블린 연합으로 하나의 공화국(Rzeczpospolita)이 되었고, 17세기 초 전성기에는 유럽에서 가장 넓고 인구 많은 국가 중 하나로 동유럽의 패권을 쥐었다. 그런데 1772년부터 1795년 사이, 세 번에 걸쳐 너무도 허무하게 조각조각 분할되더니 123년간 지도에서 아예 사라졌다. 강대국이 전쟁에 져 영토를 잃거나, 힘이 빠져 속국으로 전락하는 일은 역사에 흔하다. 하지만 이렇게 한 나라가 주변국들에 의해 사이좋게 나눠 먹히듯 분할되는 경우는 매우 드물다. “유럽의 병자”라 불리며 시스템이 완전히 멈춰버렸던 오스만 제국조차, 1차 대전 후 세브르 조약으로 찢기기 직전까지 갔다가 아타튀르크의 국민운동으로 그 위기만은 되돌려(로잔 조약, 1923) 공화국으로 살아남았다. 죽어가던 제국도 마지막 순간엔 자신을 재구성하고 동원했다. 폴란드 역시 저항이 일어났지만 구조적으로 오래 약화된 상태에서 제대로 된 전쟁도 수행하지 못했다. 폴란드의 분할에는 당연히 지정학, 경제, 종교 등 여러 원인이 작용했다. 이 글에서 나는 프로토콜 보안의 관점에서 이 사건을 읽어보려 한다.
특권의 형성, 그리고 리베룸 베토(liberum veto)
분할 무렵의 폴란드는 왕정이었다. 그런데 우리가 흔히 아는 세습 왕정과는 많이 다르다. 1572년 야기에우워 왕조의 대가 후사 없이 끊기면서, 폴란드의 왕위는 사실상 자유선거(free election) 체제가 되었다. 귀족들이 직접 투표로 왕을 뽑는 것이다. 신성로마제국처럼 소수의 선제후들만 투표하는 것도 아니었고, 바르샤바 인근 들판에 수만 명의 귀족이 모여 한 표씩 행사하는 방식이었다. 선거가 반복된다는 건 곧 거래가 반복된다는 뜻이다. 선거를 통해 왕이 되려는 후보는 매번 귀족들과 협상해야 했고, 그때마다 귀족들은 더 많은 특권을 받아내고 왕권을 더 깎아냈다. 이 권력 이동은 한 방향으로만 흘렀다. 이렇게 귀족들이 쌓아 올린 광범위한 특권을 폴란드에서는 황금의 자유(Golden Liberty)라고 불렀다.
흔히 그렇듯이 왕권의 약화는 전쟁과 돈의 문제로 시작된다. 대표적인 시작이 1454년 노이샤바 법령이다. 폴란드 왕이 튜튼기사단과 큰 전쟁을 앞두고 소집령을 내렸지만 귀족들이 따르지 않았다. 이에 급해진 왕은 새 법을 만들거나 세금을 매길 때 지방의회(Sejmik) 동의가 필요하다는 협정을 귀족과 맺어야 했다. 1505년에는 “Nihil novi” (새로운 것은 없다)를 명문화하여 폴란드 의회(Sejm)의 동의 없이 어떤 새로운 법을 만들 수 없게 되었다. 이런 식으로 선출왕은 불리한 조건을 지속적으로 내어주게 된다. 그 정점에 리베룸 베토가 등장한다.
폴란드 의회의 결정은 공동의 동의가 있어야 한다는 관습으로서의 규범이 존재해왔다. 모두의 동의가 필요한 시스템이지만 단 한 명의 반대로 무산될 수 있다고 정해놓은 것은 아니었다. 그런데 1652년 한 의원의 veto가 실제로 의회를 무산시키면서 공동 동의를 실제로 단 한 명의 부동의가 깰 수 있는 선례를 남기게 된다. 이를 리베룸 베토(liberum veto)라 부르는데 이는 자유로운 거부(free veto)라는 뜻이다. 즉, 누구든 자유롭게 행위를 금지할 수 있다. 실제로는 의원이 “Sisto activitatem!”(라틴어, “나는 이 활동을 멈춘다!”) 또는 “Nie pozwalam!”(폴란드어, “나는 허락하지 않는다!”)를 외치면서 행사한다. 이는 논의 중인 안건 한 가지가 아니라, 회기를 즉시 끝내고 입법을 무효화하는 파괴적인 형태로 굳어지게 된다.
여기서 반드시 짚어야 할 사실이 하나 있다. 이 모든 제도의 근간은 폴란드를 분할하게 될 프로이센과 러시아가 강해지기 이전에 만들어졌다. 프로이센이 왕국이 된 건 1701년, 러시아가 강대국으로 떠오른 건 표트르 대제 이후인 18세기 초다. 반면 폴란드-리투아니아의 영토는 1619년 무렵 정점을 찍었다. 즉 폴란드는 가장 강하고 외부에 강적이 없던 시절에, 느린 의사결정을 감당할 수 있던 시절에 이 관습을 만들었다. 강한 폴란드는 외부의 적을 겨냥한 변화를 하지 않았다. 폴란드 귀족들에게 현실적인 적은 내부에 있었다. 폭군이 될지 모르는 왕, 그리고 경쟁 귀족. 폴란드의 변화는 바로 그 내부의 적을 막도록 단단하게 굳어졌고 이는 하필이면 17세기 중반 대홍수(Potop)에 의한 국운이 기우는 위기에서 어떤 효과적인 대응도 못하게 만들었다.
컴퓨터 보안의 시선으로 바라보기
컴퓨터 시스템에서 안전함을 논할 때 대표적인 두 가지 성질이 있다. 하나는 safety로, “나쁜 일은 절대 일어나면 안 된다”는 성질이다. 다른 하나는 liveness로, “좋은 일은 결국 일어난다”, 즉 해야 할 일은 언젠가 처리된다는 성질이다. 은행에 비유하면, 내 계좌의 돈이 남에게 멋대로 빠져나가지 않는 것이 safety고, 내가 보내려는 송금이 (조금 늦더라도) 결국 처리되는 것이 liveness다.
문제는, 둘 다 지켜지면 좋겠지만 분산된 네트워크에서는 이 둘을 동시에 완벽히 달성하기가 어렵다는 것이다. 안전을 끝까지 밀어붙여 조금이라도 의심스러운 일은 다 막아버리면 정작 정상적인 일까지 멈춰 서고, 반대로 진행을 우선하면 나쁜 일이 새어 들어올 틈이 생긴다. 일종의 트레이드오프다. 그런데 이건 단순한 경험칙이 아니라 수학적으로 증명된 사실이다. 이를 세 연구자의 이름을 딴 FLP impossibility라고 부른다. 비동기 네트워크에서 노드 하나만 고장 나도, 결정론적 합의로는 ‘모두 같은 값에 동의’(safety)와 ‘언젠가 반드시 결정’(liveness)을 동시에 보장할 수 없다(무작위성·시간 가정을 더하면 우회 가능). FLP가 말하는 건 고장(crash)과 비동기성이라는 한계다. 그런데 여기서 우리는 더 강한 위협을 상정할 수 있다. 노드가 고장이 나는 것이 아니라 악의적으로 거짓말을 하거나 배신하는 경우는 어떨까. 컴퓨터 공학에서는 이를 Lamport의 연구에서 따와 비잔틴 결함(Byzantine fault)이라 부른다. 네트워크는 이런 결함을 얼마나 견딜 수 있을까? 많은 블록체인이 쓰는 BFT(Byzantine Fault Tolerance) 계열 프로토콜에서 배신자가 전체의 1/3을 넘지만 않으면(즉 2/3 이상이 정직하면) safety와 liveness를 함께 보장하지만, 그 선을 넘으면 무너진다.
이제 국가를 하나의 네트워크로, 법체계를 그 프로토콜로 보자. 의사결정에 참여하는 각 귀족은 하나의 노드(node)가 된다. 리베룸 베토가 포함된 이 만장일치제는, 잘못된 변화를 막기 위해(safety를 위해) 입법 기능(liveness)을 거의 통째로 희생한 프로토콜이다. 문제는 이 네트워크가 세상에 홀로 존재하지 않는다는 데 있다. liveness를 무너뜨리는 건 귀족 한 명이 스스로 태업하거나 반대하는 경우만이 아니다. 블록체인에는 뇌물 공격(bribery attack)이라는 개념이 있다. 어떤 노드가 정직하게 굴어 받는 보상보다 더 큰 뇌물을 외부의 제3자가 건네면, 그 노드는 배신해 둘이 함께 이득을 본다. 국가를 네트워크로 본 이 해석에서, 주변국인 프로이센, 오스트리아와 러시아가 네트워크 외부에서 개입할 수 있는 요소 혹은 위협이 된다. 그들에게 리베룸 베토를 쥔 수많은 폴란드 귀족 중 단 한 명만 매수해 국가 전체를 마비시키는 일은 아주 싸고 효과적이었다. 또한 노드들의 규모가 균일하지 않았다. 귀족 중 일부인 대귀족은 더 큰 영향력과 부를 누렸으며 이들은 마그나트라고 불렸다. 실질적으로 외세는 마그나트 일부만을 포섭해 쉽게 영향력을 행사하는 방식을 선호했다. 이것이 영토도 넓고 인구도 많던 동유럽 패권국이, 정작 힘을 동원하지 못해 전쟁다운 전쟁도 못 해보고 무너진 구조적 이유다. 실제로 분할 직전 폴란드 인구는 약 1,400만으로 프로이센(약 500만)보다 많았지만, 상비군은 1717년 이래 2만여에 묶인 채로 동원령도 제대로 내릴 수 없어, 수십만의 군대를 동원하던 이웃들에게 속수무책이었다.
러시아의 프로토콜 익스플로잇
폴란드의 국력이 약화된 상태에서 러시아는 이 프로토콜의 취약성을 극대화했다. 17세기 중반 대홍수와 18세기 초 대북방전쟁 이후 폴란드의 인구와 경제 구조가 망가졌고, 이로 인해 러시아는 이미 수십 년간 폴란드의 왕과 의회를 좌우할 만큼의 영향력을 가지게 되었다. 여기서 러시아는 폴란드의 영토를 실제로 병합하기보다 취약점을 영구화하는 길을 택했다. 1768년 러시아는 폴란드 의회를 강압해 관습화된 리베룸 베토를 불가변 조항으로 명문화된 법으로 못 박고, 그 체제의 보증인을 자처했다. 버그가 되어버린 시스템의 오래된 흔적을 명확한 코드로 박아버린 것이다. 직접적 영토 합병은 저항을 낳고 저항은 값비싼 전쟁을 낳는다. 하지만 시스템 규칙을 바꾸어 마비를 낳는다면 값싸게 통제할 수 있다. 1772년 첫 분할의 인준은 형식적이었지만 1773년 의회에서 진행되었다. 이 분할도 의회의 안건이라면 누군가 비토할 수 있기 때문에 일부러 특별한 형태인 연합의회(다수결 관습)로 꾸려졌다. 러시아가 다른 전쟁에 묶인 틈에 폴란드 의회는 1791년 유럽 최초의 성문헌법을 도입하는 대규모 프로토콜 업그레이드를 진행하며 리베룸 베토마저 폐지하는 개혁을 시도하지만, 일부 보수파가 러시아를 끌어들여 헌법을 뒤엎어 liveness에 문제가 있는 구버전으로 롤백시켰다. 정직한 노드(귀족)가 매수당한 게 아니라 이미 적과 관계를 가진 노드가 공짜로 배신하고 적은 보증만 해주면 됐으니, 프로토콜 공격 비용이 너무도 내려간 상태였다. 러시아로서는 이미 마비되어 보호국이 된 폴란드를 굳이 합병할 필요까지는 없었다. 그러나 결국 러시아·프로이센·오스트리아 세 주변국이 1772년부터 1795년까지 세 차례에 걸쳐 폴란드를 나눠 가졌고, 폴란드는 123년간 지도에서 사라졌다.
우리는 무엇을 묻고 있는가
이런 의사결정 구조는 역사 속 폴란드에만 머물러 있지 않다. 오늘날 가장 익숙한 거부권은 UN 안전보장이사회에 있다. 다섯 상임이사국은 각자 단독으로 안보리를 멈출 수 있다. 거부권 보유자를 다섯으로 한정한 리베룸 베토인 셈이다. 폴란드처럼 무작위로 마비되진 않지만, 설계 철학은 같다. 강대국 간 충돌이라는 내부의 적에 맞춰져 있어, 다섯이 함께 빨리 움직여야 할 외부의 위협 앞에서는 똑같이 멈춰 선다. 의사결정 구조와 정책은 과거부터 계속된 실험 속에 있다. 그때는 맞았지만 지금은 틀릴지도 모른다. 그래도 확실하게 알아야 하는 것이 있다. 새로운 제도를 만들거나 고칠 때마다 우리는 다시 물어야 한다. 이 변화는 무엇을 원하는가, 이것은 무엇을 막으려 하는가, 어떤 상황을 전제하는가, 그 전제가 깨지면 무엇이 남는가. 폴란드는 첫 질문에는 완벽히 답했지만(적은 왕이다), 시대가 답을 바꿨을 때 다시 물을 기회조차 주어지지 않았다.
Enjoy Reading This Article?
Here are some more articles you might like to read next: