Max's Quest to Seraphis, A Tale About Monero's FCMP++ Privacy Upgrade
Check out the complete 21 page paper describing FCMP++ here on kayabaNerve's GitHub
Max's Quest to Seraphis
I am expatriotic, a scribe of the square of Ring, and I was there the year the masks came. Stay awhile and listen as I tell the story.
In Ring, every coin carried its name on its face: a long line of letters pressed in at the mint, meaningless to anyone who read them. Beneath the name ran a second line, fine as a hair, and that line was blank. It had been cut into the mint's stamps generations ago, by an engraver no one remembered, for a reason no one could recall. Nobody gave it a thought. Neither should you, yet.
For every coin it struck, the mint also cut a signet ring and gave it to the coin's owner. Press the ring into warm wax held against the coin's name, and the wax rose into a pattern called the seal. Three things were true of a seal, and the whole city rested on them. Only that ring, pressed against that name, could raise it. It rose exactly the same every time, for the whole life of the coin. And anyone looking at it saw only a whorl in wax, with nothing in it that pointed back to the coin it came from.
When you spent a coin, you pressed its seal for the Book of Seals, which was kept in the cathedral by a priest called C. C had one duty, and he did it with the calm of a man who has never been bored by it. Whenever someone came to spend, he searched the Book for their seal. If it was already written there, that coin had been spent before, and he turned the spender away. If it was new, he wrote it down. So every coin could be spent exactly once. The Book never knew whose coin it was. It only knew whether the seal was new.
That left the matter of proving you owned a coin at all, and for this there was the oath. At the cathedral desk you laid down sixteen rubbings, paper copies of coin faces with each name traced bare, and swore: "One of these sixteen coins is mine." Fifteen were strangers' coins, traced from the public rolls, where every coin ever struck was listed. One was your own. Then you pressed your ring, and C checked the wax against all sixteen names. He could confirm the seal belonged to one of them, but he could not say which. Neither could anyone watching. That was the privacy of Ring: one true name among fifteen strangers.
Why only fifteen? Because strangers were expensive. Each name in an oath cost C a verse of checking, and every oath was checked in full, so the city settled on sixteen and stayed there for a hundred years.
One law was older than the oath: you came to the desk bare. No ink, no smudge, no mask on any rubbing. The city's founders had good reason for it. A seal rises from the letters of a name. Smudge the letters and the ring raises a different pattern, one C has never seen. Give a spent coin a new seal and the Book takes it for a fresh coin, ready to be spent again. So rubbings stayed bare, names stayed plain, and a spender's only shade was the fifteen strangers standing around him.
There was a rich merchant in Ring, he knew he was the shit, and expected you to know it too. He wore rings on every finger, not all of them signets. His name? Max. Remember it well.
When Max swore an oath, half the market came to watch, and a few patient men had learned to follow him, looking to catch him out. They would sit with the public rolls hoping to unveil the secrecy of the oath swearers. Alas, they didn't catch him in any one oath. They caught him across all of them. Max picked his strangers the way a man might pick the same chair in every tavern he goes to. And over a thousand oaths the strangers may have changed but Max's coin kept turning up. One might say that a veil worn a thousand times takes the shape of the face beneath it.
One day, word reached him of Seraphis, across the river: a new city with a new mint, where a spender hid among every coin ever struck there. No patient men leering at you as you spent your coin. Max wanted that. Not one in sixteen. One in everyone.
He told the town crier he was going to buy a ship. The crier was MaxBBB, no relation, as he'd happily tell you, though he'd also let you buy him a whisky soda water over the confusion. He was a barrel-chested man whose voice could find you three streets away, and he had a heart that wanted you to know every good thing that had ever happened. By noon the whole city knew Max was buying a ship. By evening the neighboring towns knew.
For the journey, Max hired a porter: a lean, red-eyed young man named Chris, who smelled faintly of an herb not grown for cooking. He took the job on the condition that they stop for snacks.
"So in Seraphis everybody hides among everybody," said Chris as the ferry slid over the brown water. "But if everybody's hiding, who's seeking, man?"
"The patient," said Max.
"Patience is overrated. I've been patient my whole life. Mostly by accident."
The gate of Seraphis was mother-of-pearl, and the gatekeeper was a small, dry man with a ledger of his own. Max emptied his purse onto the counter. Gold spilled across the ledger.
Max said, "Name's Max. Let me in to Seraphis, peasant."
"We don't take Ring coin, sir."
"Do you know who I am?"
"No, sir. Here that isn't an insult. It's the whole design. But it isn't why your coin stays outside."
He explained it the way small, dry men do, in no hurry at all. In Seraphis the mint cut its rings a new way, and seals rose by a new rule into a new Book. That was what let a spender hide among the whole city. But a Ring coin pressed by the Seraphis rule didn't raise the seal it raised at home. It raised a different one, a seal no Book on either bank had ever recorded.
"Your coins would arrive here with clean pages, sir. Every one of them. The ones you spent last week, the ones your grandfather spent. Let them in, and every coin Ring has ever spent could be spent again here, under seals we'd never think to look for."
"So."
"So the gate is shut to old coin, and it stays shut. If you want to live as we live, sell your purse on your own bank for whatever someone will pay, cross with empty hands, and we'll strike you new coins from a clean start. Everyone who comes here comes that way. Ring's coins stay in Ring."
Max looked at the gate for a long moment. He roused himself and became incensed. "The NAME is Max. I have so much gold, it comes out of my ass! I can afford RAM sticks and SSDs out the wazoo!" "Let me in I tell you!" "You dirty peasant son of a tinkerer!" "I AM MAX!"
But by this time, the uncaring gatekeeper had gone back to his ledger.
"Dude," said Chris on the walk back to the ferry, "you came here to be nobody, and they told you to show up with nothing. That's basically the same thing, if you think about it."
"I am not going to think about it."
The ferryman, who had already heard from MaxBBB about the elaborate and speedy ship Max wanted to purchase, charged double.
Max went straight to the Rusty Tap, because a man who has been told no in front of his porter needs a drink in front of a stranger.
The stranger on the next stool was DojoCoder. He was drunk, as he had been most evenings for as long as anyone could remember, and he was also the only man in Ring who kept a complete copy of the public rolls in his own cellar. He'd copied it by hand, page by page, over many years. If you asked him why, he'd say, "Never trust a list you didn't copy yourself," and then fall off something.
"Seraphis," said DojoCoder without being asked, swirling something brown. "Heard it from the crier. Ship, my foot. You went there to hide and they wanted your whole purse at the door."
"How do youβ"
"Crier." He leaned in, breathing like a distillery fire. "You want to know why Ring keeps you in a crowd of sixteen? Ask the tinkerer. Sits on the ledger-house steps. Thirty years watching the Book. Only sober man in this city who knows anything." He thought about it. "Only sober man in this city, full stop."
The tinkerer was where he always was, on the ledger-house steps, mending a pawnbroker's lock for a loaf of bread. He was thin and grey, in a coat made mostly of patches. In thirty years nobody had asked him a single question, which had left him plenty of time to work out answers.
Max stood over him in his fine cloak, his purse still full. "The drunk says you understand the Book."
"I understand why you came back angry, m'lord." The tinkerer didn't look up. "Sit, if the step's good enough for you. You want to know why Ring makes you hide among strangers. It's because your seal and your name are welded."
"Welded." Max repeated. Trying the word out petulantly.
"Joined so tight you can't move one without moving the other. The seal rises from the letters of the name. So the name has to stay bare, or the seal changes, and a changed seal means a coin spent twice. Every rich man in Ring would love to cover his rubbing in ink. He can't, because the ink would land on the letters. So he hides the only way he has left. He stands his bare name in a crowd."
"Seraphis broke the weld," said Max. "New rings, new seals. That's why it costs your whole purse."
"Aye. They broke it by remaking everything. Fine work, and that's exactly why their gate stays shut." The tinkerer put down the lock and held out his hand. "May I see one of your coins?"
He turned the coin to the light. "Look under the name."
"There's nothing there."
"There's a line there, and it's blank. Every coin ever struck in Ring has one: your grandfather's, the pawnbroker's, mine, if I owned a coin. Nobody has ever used it. And the seal never rose from it, because seals rise from letters and that line has none." He tapped it. "That's where the ink goes."
Max frowned. "Ink on a blank line hides nothing. My name still sits right on top of it in plain letters."
"That's the trouble," said the tinkerer, and for the first time he looked a little sad. "Suppose there were an ink that lived on the blank line but bloomed across the whole face, so nobody could read the name underneath. Suppose it never touched the letters, so the ring still raised the same seal. Then a man could ink his rubbing and his seal would never change. The weld would hold where it matters and give way where it doesn't." He handed back the coin. "But I'm a tinker, m'lord. I mend locks. What I just described isn't tinkering."
"Then what is it?"
"Magic."
Chris, who had been lying on the step behind them watching clouds, sat up. "Oh. You want Q. He sells me tea. Very special tea."
Q lived in the bell-loft of the mint. Nobody was technically allowed to live there, and he had lived there for as long as there had been a mint. He was tall, bearded to the belt, and robed in something that changed color depending on whether you looked straight at it. He spoke as though every sentence had been waiting a long time to be said.
The tinkerer explained. Q listened with his eyes closed.
"An ink," Q said at last, "that lives on the line no one reads. That blooms across the face so no one can read the name. That never touches the letters, so the ring sees the name as it always was." He opened his eyes. "Yes."
"Yes, you can make it?" said Max.
"Yes, and I have been waiting a very long time for someone to ask." From his robe he took a small glass vial, black as a moonless pond. "But ink is only half a spell. Think it through. You lay your inked rubbing on the desk, and the priest sees a blur. How does he know there's a coin under it at all? You might have inked a blank page. You might have inked a coin you made up."
"Then the ring has to vouch," said the tinkerer quietly.
"The ring has to vouch," Q agreed, "for two things, through the ink. That the coin under the blur is the coin this ring belongs to. And that the seal it raises is the seal that coin has always had. That I can bind into the ring itself: a small charm, small enough to wear. But that still leaves the hardest question. Which coin is under the blur? It must be a real one, written in the rolls."
He drew on the wall with a finger that left a faint light behind it.
"Today the rolls are a list. To prove a blur hides some coin on a list of every coin ever struck, the priest would have to check it against every name, one verse each, a million verses. That's why you were given sixteen. So we stop treating the rolls as a list. We bind them into a tower. Names gathered onto pages. Pages bound into volumes. Volumes shelved in cases, cases set on floors, floors under one roof. At the very top sits a single crown page, whose markings are drawn from all the pages beneath it, so that if one name anywhere in the tower changed, the crown would change too. Read the crown aloud in the square each market day, and the whole city holds, in one page, a promise about every coin there ever was."
"And to prove my blur is in there?"
"You walk. From your page to its volume, to its case, to its floor, up to the crown. A dozen steps, whether the tower holds a thousand coins or a hundred million. And you carry the blur, never the name, so the walk needs no secrets. Anyone can make it for you: your steward, a hired clerk, a drunk from the tavern. The walk proves your blur covers some coin in the tower. Your ring proves that coin is yours and the seal is true. Two small ceremonies where there used to be one great one."
Max had stopped pacing. "No strangers."
"No strangers," said Q. "Only everyone."
"Can I say something?" said Chris.
"No," said Max.
"It's a book made of books. That'sβ"
"No."
Building the tower would need the king's permission, the king's mint, and the king's paper. Before Max could ask for any of it, the news got to the palace ahead of him, as news in Ring always did. MaxBBB had cried it in the square that same afternoon, HEAR YE, THE TINKERER AND THE MAGE IN THE BELL-LOFT MEAN TO MASK THE COINS OF RING. He did it without a speck of malice. It was simply the most wonderful thing he'd heard in years, and he could no more keep it in than hold back a sneeze. Within a week the news had crossed three borders and reached the Iron Reach.
Jordan came from the Iron Reach. He arrived ten days later with forty grey riders and baggage that nobody ever saw him open. He was overlord of a cold, distant country where every coin was stamped with its owner's name and every spending was read aloud in the square. He was tall and colorless, ate plain bread and drank plain water, and had never been seen to smile. For years his country had traded iron for Ring's wine, and King Sneed owed him a great deal of money.
Ring already knew what Jordan's displeasure cost. The year before, a craftsman named SW had built a fountain in the square, where anyone who wished could pour in coins and draw out the same number of other people's, so that every coin's trail ended in the water. Jordan called it a thieves' bath and told Sneed the loans would stop unless the fountain did. Sneed liked loans. The fountain was dry now, and SW sat in the dungeon beneath the palace.
Max met Jordan in the palace yard and did what Max always did.
"Do you know who I am?"
"Yes," said Jordan. "Knowing who everyone is happens to be my purpose."
What Max said next isn't fit for a chronicle. By nightfall he was in the dungeon for disturbing the peace, in the cell next to SW's.
SW was thin and calm, and he had the dry humor of a man who'd already had his worst day and found it survivable. "What are you in for?"
"Being right too loudly."
"Me too. Mine was a fountain." He listened while Max explained the ink, the ring, and the tower, then sat quiet for a while.
"My fountain stood in one place," he said at last. "That was its flaw. They could post a guard beside it, write down everyone who came near, and in the end just drag me out of it. Anything that gathers people in one place to hide them can be watched, and anything that's watched can be shut down. If your tinkerer's tower really hides every coin among every coin, then there's no gathering. No fountain to drain. They'd have to jail the whole city." He smiled faintly. "Don't let them make it a place, merchant. Make it the ground everyone stands on."
For the first time in his life, Max thought about someone other than Max for nearly a full minute.
In the morning he paid his way out, naturally. MaxBBB cried that too.
King Sneed was as fat as a Midwinter pudding and fond of himself in about the same proportion. He ate through his audiences, belched through his decrees, and had never turned down a fee or a second helping. Under all of it, as plainly as a child wants a pony, he wanted his city to love him.
They came before him together: the merchant prince, the pauper, the mage from the bell-loft, and C, summoned from the cathedral. Jordan sat at the king's right hand and ate nothing.
"Change my stamps?" Sneed sprayed crumbs across the table. "Those are my father's stamps!"
"No stamp changes, majesty," said the tinkerer. "The blank line has been in every stamp since before your father's father. We only ask your leave to use it."
"What is hidden is guilty," said Jordan.
C stepped forward. "Majesty, before anything else I must ask about my Book. If coins can be masked, can a coin be spent twice?"
"No, Father," said the tinkerer. "The ink never touches the letters. Every ring raises the seal it has always raised. Every seal already written stays written, and every coin spends once. Your Book stays exactly as true as it is today."
"The Book will not even notice," said Q. "That is the entire spell."
C was quiet a moment. "Then I have no objection. The Book was never meant to know who spent a coin. Only that it was spent once."
"Do I still get my fees?" said Sneed.
"Every one, majesty."
"No re-striking? No wagons full of coin? No queues at the mint? No refunds out of my treasury?"
"Not a copper. No coin moves and nobody crosses the river. The day you allow it, every coin your city has ever struck can wear the mask. That's more than Seraphis can offer."
"If you allow this," said Jordan, "the Iron Reach calls in its loans."
The hall went silent. Sneed looked down at his plate the way a boy looks at the last slice of cake when his mother is in the doorway.
"And when my seers learn to read any ring from its wax alone," Jordan went on, "every one of your masks will come off."
"Let them learn," said Q. "Hand your seer every ring in Ring. He'll find he can forge a walk and a pressing for any coin he likes, each one as perfect as the real thing. A man who can forge every answer can never tell which answer was true."
Jordan had nothing to say to that. Sneed, hoping to smooth things over, pushed the plum cake toward him. Jordan pushed it back.
"Your table is vulgar, Sneed," he said. "So is your city."
The king's lower lip trembled, very slightly.
The tinkerer spoke softly, so that only the king could hear. "Majesty, the man in your dungeon built a fountain so a few people could have what you'd be giving to all of them. Once you allow the mask, there's nothing left that he did wrong."
Sneed sat still for a long, chewing moment. Then he swallowed.
"Jordan," said the king, "you can take your loans, your grey horses, and your bread with nothing on it, and stuff them back up the Iron Reach." He belched, magnificently. "Let the fountain man out. And give him a pudding. He looks starved."
Then he began, slowly, to grin, the grin of a boy who has found the cake unguarded. "Every coin in my city's history, hidden, and not one of them moved." He clapped, grease and all. "We'll call it the Sneedish Oath. The royal line of Sneed. Cut it into the stamps."
Max opened his mouth. The tinkerer, who had in fact worked the whole thing out on the steps of a pawnbroker's shop, said it was a fine name, and Max shut it again.
Sneed made the tinkerer Master of the Rolls, gave him a bench by the mint stove, and pressed on him a purse he could not talk his way out of accepting.
The tower went up over the winter. Q bottled the ink and charmed the rings. The tinkerer and DojoCoder, sober for nearly half of it, copied every coin since the first one ever minted out of DojoCoder's cellar, because his was the only complete copy anyone had. DojoCoder was insufferable about this for the rest of his life.
New coins came in through barnminer, a farmer at the edge of the city whose barn had become the mint's paper store. Every day's freshly struck coins arrived there as new pages, and barnminer would not cart a page to the tower until it had sat ten days in his barn.
"Pages don't go in wet, ya heard?" he said. "Now and then a day's pages turn out wrong. You might be wrastling a damn troll and by god, listen here, what I am sayin' is, pulling a page out of a barn shore 'nuff is easy my leech. Pulling one out of the middle of a tower ain't." The king paid him in fees for the work. "Coins, bitches, or turnips," said barnminer, "harvest be harvest."
The first masked oath in Ring was sworn in spring, in front of the whole square, by Max. He had spent the entire winter explaining loudly that the scheme had been his idea.
MaxBBB read out the crown page in a voice that rattled the shutters. At the back of the crowd, DojoCoder checked it against the crown he'd worked out in his own cellar, nodded, and drank. Then he walked the tower on Max's behalf, page to volume to case to floor to crown, for the price of a pint, because anyone could. Max laid down a single inked rubbing: a blur. He pressed his ring once. It was a charm small enough to wear, nothing like sixteen verses of ritual. C searched the Book, found the seal was new, and wrote it down.
And nobody in Ring could say which coin had been spent, out of all the coins there had ever been. Not the patient watchers with their rolls, not the gossips, and not the grey rider Jordan had left behind in the crowd. The Book held one new seal, as true as ever, with no name attached to it.
"So which coin was it?" said Chris.
"Nobody knows," said Max.
"Not even you?"
"I know."
Chris thought about this for a long time. "Man," he said finally. "That's the loneliest thing I ever heard."
SW stood at the edge of the square beside his dry fountain, thin and blinking in the sun, a pudding in his hands. MaxBBB carried the news everywhere: across the river, where the small, dry gatekeeper read it and made a note in his ledger, and over three borders to the Iron Reach, where Jordan read it and said nothing at all.
The tinkerer never once disputed that it had all been Max's idea, which made it the finest thing Max ever bought, and the cheapest.
Max spent a coin on the tinkerer once, out of the whole city's sight. The tinkerer never learned which coin it was, and never asked. That, he told his bench by the mint stove, was rather the point.
I was in the square that day, and I wrote down what I saw. If you doubt any of it, ask MaxBBB. He'll tell you. He'll tell everyone.
β expatriotic