<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments for cgra's</title>
	<atom:link href="http://cgra.net/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://cgra.net</link>
	<description></description>
	<pubDate>Thu, 16 Apr 2026 03:34:27 +0000</pubDate>
	<generator>http://polimedia.us</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on TRB 'Cement' Draft Review by cgra</title>
		<link>http://cgra.net/2022/02/trb-cement-draft-review/comment-page-1#comment-1096</link>
		<dc:creator>cgra</dc:creator>
		<pubDate>Tue, 09 Jan 2024 07:00:10 +0000</pubDate>
		<guid isPermaLink="false">http://cgra.net/?p=20#comment-1096</guid>
		<description>reviewer, see &lt;a href="http://logs.bitdash.io/pest/2022-11-29#1017107" rel="nofollow"&gt;here&lt;/a&gt; and &lt;a href="http://logs.bitdash.io/pest/2024-01-08#1031749" rel="nofollow"&gt;here&lt;/a&gt;, &lt;a href="http://thebitcoin.foundation" rel="nofollow"&gt;http://thebitcoin.foundation&lt;/a&gt; currently only works.</description>
		<content:encoded><![CDATA[<p>reviewer, see <a href="http://logs.bitdash.io/pest/2022-11-29#1017107" rel="nofollow">here</a> and <a href="http://logs.bitdash.io/pest/2024-01-08#1031749" rel="nofollow">here</a>, <a href="http://thebitcoin.foundation" rel="nofollow">http://thebitcoin.foundation</a> currently only works.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on TRB 'Cement' Draft Review by reviewer</title>
		<link>http://cgra.net/2022/02/trb-cement-draft-review/comment-page-1#comment-1095</link>
		<dc:creator>reviewer</dc:creator>
		<pubDate>Mon, 08 Jan 2024 04:09:26 +0000</pubDate>
		<guid isPermaLink="false">http://cgra.net/?p=20#comment-1095</guid>
		<description>trb no more? address not loading...</description>
		<content:encoded><![CDATA[<p>trb no more? address not loading...</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on TRB 'Cement' Draft Review by Stanislav Datskovskiy</title>
		<link>http://cgra.net/2022/02/trb-cement-draft-review/comment-page-1#comment-31</link>
		<dc:creator>Stanislav Datskovskiy</dc:creator>
		<pubDate>Sun, 20 Feb 2022 15:24:25 +0000</pubDate>
		<guid isPermaLink="false">http://cgra.net/?p=20#comment-31</guid>
		<description>Thanks for reviewing; quite good points, esp. in re: ProcessBlock.</description>
		<content:encoded><![CDATA[<p>Thanks for reviewing; quite good points, esp. in re: ProcessBlock.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Pre-TRB Git History by Stanislav Datskovskiy</title>
		<link>http://cgra.net/2021/12/pre-trb-git-history/comment-page-1#comment-22</link>
		<dc:creator>Stanislav Datskovskiy</dc:creator>
		<pubDate>Wed, 22 Dec 2021 18:27:43 +0000</pubDate>
		<guid isPermaLink="false">http://cgra.net/2021/12/pre-trb-git-history#comment-22</guid>
		<description>Very nifty! Mirrored at http://dulap.xyz/pub/trbmisc/pretrb/ .</description>
		<content:encoded><![CDATA[<p>Very nifty! Mirrored at <a href="http://dulap.xyz/pub/trbmisc/pretrb/" rel="nofollow">http://dulap.xyz/pub/trbmisc/pretrb/</a> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on TRB Defect Exhibition - Two DoS Classics by Stanislav Datskovskiy</title>
		<link>http://cgra.net/2021/11/trb-defect-exhibition-two-dos-classics/comment-page-1#comment-15</link>
		<dc:creator>Stanislav Datskovskiy</dc:creator>
		<pubDate>Fri, 12 Nov 2021 16:47:18 +0000</pubDate>
		<guid isPermaLink="false">http://cgra.net/2021/11/trb-defect-exhibition-two-dos-classics#comment-15</guid>
		<description>My proposed solution to the spamola (and would speed up sync substantially as well) was &lt;a href="http://logs.nosuchlabs.com/log/asciilifeform/2021-06-12#1038993" rel="nofollow"&gt;"cement"&lt;/a&gt; -- an optional list of known-good block hashes fed in at bootup.</description>
		<content:encoded><![CDATA[<p>My proposed solution to the spamola (and would speed up sync substantially as well) was <a href="http://logs.nosuchlabs.com/log/asciilifeform/2021-06-12#1038993" rel="nofollow">"cement"</a> -- an optional list of known-good block hashes fed in at bootup.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on TRB Homework, Part N: Threads by cgra</title>
		<link>http://cgra.net/2021/08/trb-homework-part-n-threads/comment-page-1#comment-7</link>
		<dc:creator>cgra</dc:creator>
		<pubDate>Fri, 27 Aug 2021 08:33:03 +0000</pubDate>
		<guid isPermaLink="false">http://cgra.net/?p=10#comment-7</guid>
		<description>@spyked

Despite the article name suggesting it'd be highly TRB-specific, I ended up with a pretty generic summary about concurrency. It's because I didn't have a clear picture even of the concurrency basics in my head; discovering it while I was trying to finish &lt;a href="/2021/08/trb-oom-patch-no_peer_dumpster" rel="nofollow"&gt;a patch&lt;/a&gt;. I might continue on the topic some other day, in form of another article, or even a book-style chapter/specification. Time will tell...

Re your TRB documentation points: I think were well worth mentioning in this context, and I find the presented open questions entirely justified!</description>
		<content:encoded><![CDATA[<p>@spyked</p>
<p>Despite the article name suggesting it'd be highly TRB-specific, I ended up with a pretty generic summary about concurrency. It's because I didn't have a clear picture even of the concurrency basics in my head; discovering it while I was trying to finish <a href="/2021/08/trb-oom-patch-no_peer_dumpster" rel="nofollow">a patch</a>. I might continue on the topic some other day, in form of another article, or even a book-style chapter/specification. Time will tell...</p>
<p>Re your TRB documentation points: I think were well worth mentioning in this context, and I find the presented open questions entirely justified!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on TRB Homework, Part N: Threads by spyked</title>
		<link>http://cgra.net/2021/08/trb-homework-part-n-threads/comment-page-1#comment-5</link>
		<dc:creator>spyked</dc:creator>
		<pubDate>Sun, 22 Aug 2021 20:40:58 +0000</pubDate>
		<guid isPermaLink="false">http://cgra.net/?p=10#comment-5</guid>
		<description>At some point I did some digging through TRB's &lt;a href="http://thetarpit.org/2020/a-cursory-look-at-the-infamous-trb-wedge-bug" rel="nofollow"&gt;getdata weirdness&lt;/a&gt;, which got me thinking that TRB oughta come with at least two pieces of documentation in order to be considered "complete".

One of them would be a documentation of the memory/concurrency model, which is, I believe, what you're considering. Still, there are a few interesting unanswered questions here in my opinion: what dynamic data handling is TRB performing at run-time? which of is it assumed to be thread-local and what portion of it is considered to be "shared" between threads? what synchronization primitives are used for protection and how? Concurrency is a bitch, what with data races, lock ordering and indefinite postponement issues, so maybe there's a few ways to get TRB to hang merely through bad synchronization design. Maybe, I haven't really looked, to be honest.

The other would be a line-by-line annotation of the code with what it &lt;em&gt;actually&lt;/em&gt; does, especially with respect to assumptions in the previous paragraph. It's a ton of work, but I for one see no other way to guard TRB against future exploits. The good part is that it only needs to be done once, and it's done for as long as Bitcoin remains a thing.</description>
		<content:encoded><![CDATA[<p>At some point I did some digging through TRB's <a href="http://thetarpit.org/2020/a-cursory-look-at-the-infamous-trb-wedge-bug" rel="nofollow">getdata weirdness</a>, which got me thinking that TRB oughta come with at least two pieces of documentation in order to be considered "complete".</p>
<p>One of them would be a documentation of the memory/concurrency model, which is, I believe, what you're considering. Still, there are a few interesting unanswered questions here in my opinion: what dynamic data handling is TRB performing at run-time? which of is it assumed to be thread-local and what portion of it is considered to be "shared" between threads? what synchronization primitives are used for protection and how? Concurrency is a bitch, what with data races, lock ordering and indefinite postponement issues, so maybe there's a few ways to get TRB to hang merely through bad synchronization design. Maybe, I haven't really looked, to be honest.</p>
<p>The other would be a line-by-line annotation of the code with what it <em>actually</em> does, especially with respect to assumptions in the previous paragraph. It's a ton of work, but I for one see no other way to guard TRB against future exploits. The good part is that it only needs to be done once, and it's done for as long as Bitcoin remains a thing.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
