Main

type

5 (blog/news article)

status

21 (imported old-v2, waiting for another import)

review version

0

cleanup version

0

pending deletion

0 (-)

created at

2025-12-04 15:05:53

updated at

2025-12-04 15:05:54

pol page id

3082906539

pol status

0

pol hosts ticketing

pol hosts ecommerce

pol hosts finance

pol hosts crypto

pol hosts leak

pol hosts devel

pol hosts ugc

pol hosts klim

pol hosts builders

pol hosts self subdomains

pol hosts other subdomains

pol hosts other domains

apress.com ahelwer.ca lemmster.de

pol updated

1765538343

Address

url

https://hillelwayne.com/post/adversaries/

url length

41

url crc

11874

url crc32

4146146914

location type

1 (url matches target location, page_location is empty)

canonical status

30 (canonical url is different, page_canonical_page_id points to it)

canonical page id

3475421696

Source

domain id

199256381

domain tld

2211

domain parts

0

originating warc id

-

originating url

https://data.commoncrawl.org/crawl-data/CC-MAIN-2025-33/segments/1754151279901.12/warc/CC-MAIN-20250806074443-20250806104443-00005.warc.gz

source type

11 (CommonCrawl)

Server response

server ip

18.165.83.77

Publication date

2025-08-06 08:58:00

Fetch attempts

0

Original html size

43601

Normalized and saved size

40703

Content

title

Modeling Adversaries with TLA+

excerpt

content


 A common question I get about specs is how to model bad actors. Usually this is one of two contexts: The spec involves several interacting agents sharing a protocol, but some of the nodes are faulty or malicious: they will intentionally try to subvert the system. The spec involves an agent subject to outside forces, like someone can throw a rock at your sensor. These “open world” situations are a great place to use formal methods. We can’t easily represent rock-dropping with line-of-code verification. But with specs, we can independently design and verify the invariants of our program, and then explore how the invariants change when we add in outside forces. This works for both adversaries and environmental effects, albeit with somewhat-different implementations. One note: this is a bit more advanced than my usual TLA+ stuff. In particular, I’m not using PlusCal: you can still model this all in PlusCal tool but it’s much more elegant in pure TLA+. If you know TLA+, great...

author

updated

1765538343

Text analysis

block type

0

extracted fields

232

extracted bits

title
full content
content was extracted heuristically
OpenGraph suggests this is an article

detected location

0

detected language

1 (English)

category id

Other [en] (231)

index version

2025123101

paywall score

0

spam phrases

0

Text statistics

text nonlatin

0

text cyrillic

0

text characters

10134

text words

2253

text unique words

617

text lines

1

text sentences

114

text paragraphs

1

text words per sentence

19

text matched phrases

1

text matched dictionaries

2