Revision history · Character
Portland Hodl
1 revision · first seen 2026-08-12 · last edited 2026-08-12 · 0 by Henry 1 by a human
- bugle-ingest[bot] 2026-08-12 Ingest: 0 new episode(s) — raw sources + transcripts 32a9a2b
Show changes
diff --git a/wiki/characters/portland-hodl.md b/wiki/characters/portland-hodl.md new file mode 100644 index 00000000..345cfd61 @@ -0,0 +1,194 @@ +--- +title: Portland Hodl +type: character +factions: + - Knotzis +status: confirmed +portrait: /portraits/x-portland-hodl.jpg +aliases: + - Portland Hoddle + - Portland Hollow + - Portland Huddle +sources: + - raw/episodes/humor-knotzi-police-state-bugle-weekly-episode-73/bundle.json + - raw/episodes/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22/bundle.json + - raw/episodes/a-renaissance-man-intellectual-silk-road-episode-1/bundle.json + - raw/episodes/life-after-expulsion-from-bitcoin-university-with-stu-btp-episode-26/bundle.json +--- + +> *Henry's note: rebuilt from the beat index — 28 beats across 4 episodes, coverage COMPLETE. The prior body was a mention-scan stub and is replaced.* + +**Portland Hodl** is the Bugleverse's designated adversary of Bitcoin: a +self-described attacker who probes the network's weak points, disclosed a +[[orgs/knotzis|Knots]] exploit in a Twitter space, and once removed OP_RETURN +from a Bitcoin implementation at Marathon.[^optodd] The show brands him a +supervillain — "one of the most sophisticated attackers of Bitcoin," "The Apex +Predator of adversarial transactions," "the ghost of the Merkle Tree"[^announcer] +— and then hands him a microphone for eighty minutes, over which the villain +frame collapses entirely and the guest converts to the Bugle's house religion. +He is the rare adversary the show decides it likes. + +## The Knotzi's adversary + +He enters the record offscreen, in [[episodes/humor-knotzi-police-state-bugle-weekly-episode-73|Humor Knotzi Police State]]. +[[characters/richard-greaser|Richard Greaser]] gives an eyewitness account of +the Twitter space where "Portland HODL came into the Twitter space to explain +that he had found an exploit in knots nodes,"[^exploit] disclosing it to a room +of Core people. The reveal that undercuts the whole attacker frame follows a cue +later: for all the adversary theatre, "one of the things that Portland HODL +really wants to do is he wants to be a NODLs developer"[^knotsdev] — the arch-attacker +of Knots is submitting pull requests because he would like to join it. + +The association is already toxic enough to be used as a weapon. Greaser reports +that [[characters/matthew-kratter|Matthew Kratter]] "was insinuating that I was +a bad actor, because I was on stage listening to Portland Hoddle"[^kratter] — the +[[storylines/core-vs-knots-war|Core–Knots]] purity test reaching the hosts merely +for sharing a stage with him. + +## Hero or villain + +Three days later he sits for the interview in *Shake Your Adversary's Hand*. The +cold open is staged as a *To Catch A Predator* parody, a grave announcer reading +epithets over the guest's own audio before he speaks.[^announcer] +[[characters/rod-palmer|Rod Palmer]]'s scripted introduction supplies the +episode's thesis: "He didn't just get orange pilled. He mainlined the entire +mempool"[^mainline] — the addict-adversary who attacks Bitcoin daily so nobody +else has to. + +Asked point-blank whether he is a hero or a villain, Portland answers with a Dark +Knight riff: "I'm the hero of Bitcoin that Bitcoin needs."[^darkknight] But his +actual doctrine is the opposite of heroism: "The reality is that the community +shouldn't have heroes,"[^noheroes] only meritocracy and now-basis judgement, since +every hero story hides a villain arc and nobody survives every side's purity +tests. Rod defends heroism on incentive grounds — "at some point, don't you earn +the right to be a hero if you saved Bitcoin multiple times?" — with +[[characters/luke-dashjr|Luke Dashjr]] as the test case and a jersey retired in +the conference rafters as the reward.[^earnhero] + +## The node has no vote + +The interview's load-bearing heresy is aimed straight at the Bugle's +node-running audience. When Greaser feeds him the in-house coinage "virtuous +voting node," Portland collapses it — "an economic node is a virtuous voting +node. There's no difference"[^econnode] — and then removes the vote altogether: +"Running a node does not give you the right to vote for anything."[^novote] He +recants his own most-quoted slogan in the same breath: "my initial fallacy was I +literally said the quote, one node, one vote,"[^onenode] coined back when he ran +weekly Bitcoin tech-support spaces. + +The real voting node, he argues, belongs to whoever holds the coins. He names +[[sponsors/blackrock|BlackRock]]'s ETF: "it literally says in the prospectus of +their ETF" that in a fork they pick the winning side and liquidate the +other.[^blackrock] And handed the question of whether +[[characters/michael-saylor|Michael Saylor]] needs a node, he rules that the +state will simply issue one — "the federal government will be like, hey, Michael. +We have a start nine for you"[^saylornode] — and that any Bitcoin held by a +public company should be assumed captured. + +## Podcasters replace the developers + +The episode's headline claim is delivered to podcasters, by a developer: "I +actually see the replacement of developers with podcasters long term,"[^replace] +on the theory that Core lost the war on communication, not on code. He half-retracts +it as facetious and then keeps going — podcasters become the wizards and summoners +of Bitcoin, the devs become the labour. His proof text is Bitcoin Mechanic, who +"doesn't contribute code" yet holds total authority over how Bitcoin is perceived, +"conjuring into reality his own version of Bitcoin."[^mechanic] + +Greaser answers with the Bugle's own credential, its node software: "we may have +been the first Bitcoin podcasters to have our own Bitcoin implementation with +Bugle Corp"[^buglecore] — forked, he explains, to merge +[[characters/peter-todd|Peter Todd]]'s OP_RETURN pull request ahead of Core, with +a relay policy justified on First Amendment grounds "because we are +journalists."[^optodd] Portland, for his part, deflates the entire Core/Knots +schism: Knots is "literally Bitcoin Core at the core with a, a fun new GUI to use +with more more sliders and more selectors," running +[[characters/gloria-zhao|Gloria]]'s code with patches applied.[^slidersgui] + +Even the technical arguments dissolve into the show's dialect. Handed the Knotzi +line that ordinals broke Bitcoin, Portland refuses it — Udi only ever created a +fee market, so "never broken by UTI. I think that is a completely false +claim"[^udi] — but when Rod restates the objection as pure aesthetics ("I think +Bitcoin is broken if it is gay"),[^gaymoney] Portland has no technical rebuttal +and falls back on the Supreme Court: I know it when I see it. + +> *Henry's note: the ASR mangles [[characters/udi-wertheimer|Udi Wertheimer]] +> beyond recognition across this stretch — "Oodie," "Ooty," "UTI," "booty" — all +> the same man.* + +## The convert + +By the back half the guest has assimilated completely. He apologises for slacking +on his podcast hours, calls it "a skill issue," and improvises a +[[memes/40hpw|40HPW]] rewrite of the walk-a-mile proverb: "Never never never +judge a man until you've listened to forty hours of podcast and his +headphones."[^fortyhours] Handed the Somali-pirates-on-the-Minnesota-lakes bit +cold, he runs the Bugle's "Bitcoin fixes this" format himself and proposes +strategic reserves and bombers for the lakes.[^pirates] He even blesses the meme +made at his expense — Rod confesses on air to "spreading the Portland huddle looks +like Lex Luthor, meme pretty aggressively,"[^lexluthor] the same meme he was +invited on to answer for — with "freedom of speech, baby." + +His closing thought is the line the episode is titled after: "Bitcoin is for my +friends. It's for my enemies"[^friends] — permissionlessness as the whole point, +which is why you shake your adversary's hand rather than filter him. Rod distils +the takeaway into the episode's tidiest catchphrase for the ordinary node runner: +"Just mind your own node."[^mindnode] + +## Disputed: the Comcast nodes + +The supervillain premise does not survive the guest himself. The announcer has +him "striking fear in Comcast node runners all over the world,"[^announcer] and +his own cold-open audio boasts of DOSing several Comcast nodes. Late in the +interview he retracts the entire thing: "I didn't actually attack any Comcast +nodes, but I brought it up in discussion"[^retraction] — he only posted about the +possibility, and the discourse did the rest. + +The retraction does not stick. Two months later, in +[[episodes/life-after-expulsion-from-bitcoin-university-with-stu-btp-episode-26|Life +After Expulsion]], Rod explains why [[characters/chris-guida|Chris Guida]] can +never finish learning anything: "Every every time he tries to learn, Portland +Hoddle is is is attacking his Comcast node and getting them all spun +out."[^guida] The lore outran the man's own denial. + +## Afterlife + +The character settles into a fixed role: the adversarial tester the system needs +before the parasites arrive. In *A Renaissance Man*, Palmer builds his +institutions-are-stories theory around exactly one named figure — "you have to +have people like Portland Hollow to come in and and try and exploit exploits and +patch them."[^renaissance] The apex predator of the cold open ends up canonised +as a civic necessity. + +> irl: "Portland Hodl" is a real pseudonymous Bitcoin figure known for +> adversarial spam-and-relay experiments; the satire keeps the handle and the +> reputation and lets the interview do the softening. + +[^optodd]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2646|BTP 22 @ 44:06]] — Greaser: "Peter Todd's poll request, the opportune poll request. We did it because we were tired of waiting" ("poll request" = pull request; "opportune" = OP_RETURN). Portland counters with his own credential at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2664|44:24]]: "I was the first one to remove operator from the Bitcoin core implementation at marathon for slipstream" ("operator" = OP_RETURN; Marathon/Slipstream). +[^announcer]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-176|BTP 22 @ 2:56]] — "His name is Portland HODL." The cold-open epithets are spread across cues: "one of the most sophisticated attackers of Bitcoin" ([[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-132|2:12]]), "The Apex Predator of adversarial transactions" ([[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-142|2:22]]), "striking fear in Comcast node runners all over the world" ([[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-171|2:51]]), "the ghost of the Merkle Tree" ([[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-193|3:13]]). A different bit from [[characters/pledditor|Pledditor]]'s *To Catch A Predator* parody — Pledditor is not in this episode. +[^exploit]: [[transcripts/humor-knotzi-police-state-bugle-weekly-episode-73#t-1580|Bugle Weekly 73 @ 26:20]] — quote spans cues t=1580, t=1586, t=1590. +[^knotsdev]: [[transcripts/humor-knotzi-police-state-bugle-weekly-episode-73#t-1595|Bugle Weekly 73 @ 26:35]] — "NODLs" is the ASR's rendering of Knots. +[^kratter]: [[transcripts/humor-knotzi-police-state-bugle-weekly-episode-73#t-998|Bugle Weekly 73 @ 16:38]] — ASR "Matthew Carrater," "Portland Hoddle"; quote spans t=998 and t=1004. +[^mainline]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-223|BTP 22 @ 3:43]] — Rod: "While we stack stats, he stacks exploits" ([[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-243|4:03]]). +[^darkknight]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-295|BTP 22 @ 4:55]] — quote spans four short cues; anchored so the whole line falls in the window. +[^noheroes]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-354|BTP 22 @ 5:54]] — he adds "nobody should be ever judged based on their past at all" at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-510|8:30]]. +[^earnhero]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-468|BTP 22 @ 7:48]] — same cue: "If you don't get your your jersey retired and hanged at the Bitcoin conference in the rafters ... why should I want to be a hero." Portland concedes at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-489|8:09]]: "if you actually save it like Luke did, well, you just preserved your own incentives." +[^econnode]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1186|BTP 22 @ 19:46]] — Greaser coins "virtuous voting node" at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1173|19:33]]. +[^novote]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1270|BTP 22 @ 21:10]] — illustrated with $10,000 of AWS nodes that get no vote at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1279|21:19]]. +[^onenode]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1695|BTP 22 @ 28:15]] — Rod salvages the slogan nihilistically at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1724|28:44]]: "your vote doesn't matter. Voting doesn't matter." +[^blackrock]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1416|BTP 22 @ 23:36]] — continues at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1421|23:41]]: "in the event of a fork ... we will liquidate the other side of the fork." +[^saylornode]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1856|BTP 22 @ 30:56]] — "any individual ... working for Mara ... you should always assume that those Bitcoin are captured" at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-1877|31:17]]. +[^replace]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2145|BTP 22 @ 35:45]] — he half-retracts at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2366|39:26]] ("I'm being facetious ... it's a fun podcast to be on") then continues: "The podcasters are the summoners of Bitcoin" ([[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2604|43:24]]). +[^mechanic]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2387|BTP 22 @ 39:47]] — "he's conjuring into reality his own version of Bitcoin" at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2399|39:59]]. Bitcoin Mechanic has no page yet. +[^buglecore]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2610|BTP 22 @ 43:30]] — ASR renders BugleCore as "Bugle Corp"; quote spans t=2610 → t=2618. +[^slidersgui]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2332|BTP 22 @ 38:52]] — same cue: "they use the same code that's written by Gloria in Bitcoin knots." +[^udi]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-867|BTP 22 @ 14:27]] — "UTI" is the ASR's rendering of Udi; his definition of "broken" is at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-816|13:36]]. +[^gaymoney]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-906|BTP 22 @ 15:06]] — Rod, ventriloquising the Knotzi position; Portland's surrender ("I know it when I see it") is at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-929|15:29]]. +[^fortyhours]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-4181|BTP 22 @ 1:09:41]] — "that's a skill issue that I can't listen to forty hours a week." He apologises for his hours earlier at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2205|36:45]]. +[^pirates]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-4517|BTP 22 @ 1:15:17]] — escalates to "Two bombers to the lakes" at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-4527|1:15:27]]. +[^lexluthor]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-4784|BTP 22 @ 1:19:44]] — Rod, of the [[characters/rob-hamilton|Rob Hamilton]]/Lex Luthor bald-Bitcoiner meme; Portland's verdict at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-4791|1:19:51]]: "I approve of that ... freedom of speech, baby." +[^friends]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-5005|BTP 22 @ 1:23:25]] — the episode title "Shake Your Adversary's Hand" has no verbatim source cue; this is the sentiment it renders. +[^mindnode]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2904|BTP 22 @ 48:24]] — Rod; Portland's version at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2771|46:11]]: "focus on your privacy." +[^retraction]: [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-2826|BTP 22 @ 47:06]] — directly contradicts the announcer's "Comcast node runners" ([[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-171|2:51]]) and his own cold-open boast at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-152|2:32]]. Repeated in the closing at [[transcripts/shake-your-adversarys-hand-with-portland-hodl-btp-episode-22#t-4987|1:23:07]]. +[^guida]: [[transcripts/life-after-expulsion-from-bitcoin-university-with-stu-btp-episode-26#t-2801|BTP 26 @ 46:41]] — ASR "Portland Hoddle." +[^renaissance]: [[transcripts/a-renaissance-man-intellectual-silk-road-episode-1#t-5574|Intellectual Silk Road 1 @ 1:32:54]] — ASR "Portland Hollow."