<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sakramen</title>
    <description>The latest articles on DEV Community by Sakramen (@sakramen).</description>
    <link>https://dev.to/sakramen</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4069375%2F90a79e02-e354-493b-8854-c4990e911c07.png</url>
      <title>DEV Community: Sakramen</title>
      <link>https://dev.to/sakramen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sakramen"/>
    <language>en</language>
    <item>
      <title>Nodes and Networks: How Blockchains Actually Stay Decentralized</title>
      <dc:creator>Sakramen</dc:creator>
      <pubDate>Mon, 10 Aug 2026 06:25:43 +0000</pubDate>
      <link>https://dev.to/sakramen/nodes-and-networks-how-blockchains-actually-stay-decentralized-47l6</link>
      <guid>https://dev.to/sakramen/nodes-and-networks-how-blockchains-actually-stay-decentralized-47l6</guid>
      <description>&lt;p&gt;When someone says "Bitcoin has over 15,000 nodes worldwide," they mean 15,000+ independent computers are each running Bitcoin software and each maintaining their own full copy of the blockchain. No server owns the truth. Every node checks it for itself.&lt;/p&gt;

&lt;p&gt;That single fact — every node independently verifies every transaction and block against protocol rules — is the reason blockchains don't need a central authority. If one node tries to cheat, the rest simply ignore it. There's no admin account to compromise because there's no admin.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not All Nodes Do the Same Job
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Full Node
&lt;/h3&gt;

&lt;p&gt;Downloads and stores the entire blockchain, every block since genesis, and independently validates everything against consensus rules.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highest security&lt;/li&gt;
&lt;li&gt;~500 GB for Bitcoin&lt;/li&gt;
&lt;li&gt;~1 TB for Ethereum&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the backbone of network security. A full node doesn't trust anyone's summary of the chain; it recomputes validity itself.&lt;/p&gt;

&lt;h3&gt;
  
  
  Light Node (SPV)
&lt;/h3&gt;

&lt;p&gt;Stores only block headers, not full transaction data. Uses Merkle proofs and relies on full nodes to verify transactions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Low storage, ~50 MB&lt;/li&gt;
&lt;li&gt;Trusts full nodes for verification&lt;/li&gt;
&lt;li&gt;What most mobile wallets run&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Mining/Validator Node
&lt;/h3&gt;

&lt;p&gt;A full node that also participates in block creation. Miners (Proof of Work) solve computational puzzles; validators (Proof of Stake) stake cryptocurrency as collateral. Both earn rewards for securing the network.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates new blocks&lt;/li&gt;
&lt;li&gt;Earns rewards&lt;/li&gt;
&lt;li&gt;Requires specialized hardware (PoW) or capital at stake (PoS)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Archive Node
&lt;/h3&gt;

&lt;p&gt;Everything a full node stores, plus historical state at every block height.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complete history&lt;/li&gt;
&lt;li&gt;~15+ TB for Ethereum&lt;/li&gt;
&lt;li&gt;Used by explorers, analytics platforms, and enterprise tooling&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Peer-to-Peer Instead of Client-Server
&lt;/h2&gt;

&lt;p&gt;A traditional web service is client-server: your browser requests data from a company's servers. If those servers go down, the service is unavailable. That's a single point of failure by design.&lt;/p&gt;

&lt;p&gt;Blockchain networks use peer-to-peer (P2P) architecture instead. Every participant is simultaneously a client and a server. Nodes connect directly to each other, typically maintaining 8-20 peer connections, and information spreads through the network like gossip: each node tells its peers, who tell their peers, until everyone has it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a Transaction Actually Propagates
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;You submit a transaction from your wallet. It goes to whichever node your wallet is connected to.&lt;/li&gt;
&lt;li&gt;That node validates it: correct format, valid signature, sufficient balance. Invalid transactions get rejected right there.&lt;/li&gt;
&lt;li&gt;If valid, the node broadcasts it to its 8-20 connected peers.&lt;/li&gt;
&lt;li&gt;Each peer independently validates and rebroadcasts to its own peers. The transaction spreads exponentially.&lt;/li&gt;
&lt;li&gt;Within seconds, the transaction has reached nodes worldwide and is sitting in mempools, waiting to be included in a block.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No central router coordinates this. It's just repeated local validation and rebroadcast, scaled across thousands of independent machines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Architecture Is Hard to Kill
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Geographic distribution&lt;/strong&gt;: nodes run on every continent, so a regional outage or disaster can't take the network down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No single point of failure&lt;/strong&gt;: even if 90% of nodes went offline, the remaining 10% could keep the network operating.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Censorship resistance&lt;/strong&gt;: no central authority can block a transaction. If one node refuses to process it, thousands of others will.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-healing&lt;/strong&gt;: nodes that go offline can rejoin later and automatically sync the blocks they missed from peers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What It Takes to Run One Yourself
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Bitcoin Full Node&lt;/th&gt;
&lt;th&gt;Ethereum Full Node&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Storage&lt;/td&gt;
&lt;td&gt;500+ GB SSD&lt;/td&gt;
&lt;td&gt;1+ TB NVMe SSD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RAM&lt;/td&gt;
&lt;td&gt;2+ GB&lt;/td&gt;
&lt;td&gt;16+ GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internet&lt;/td&gt;
&lt;td&gt;Unmetered, 50+ Mbps&lt;/td&gt;
&lt;td&gt;Unmetered, 100+ Mbps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Initial Sync Time&lt;/td&gt;
&lt;td&gt;1-7 days&lt;/td&gt;
&lt;td&gt;2-14 days&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Running your own full node gets you a few concrete things: your transactions aren't routed through someone else's infrastructure, you're verifying against your own copy of the rules instead of trusting a third party's node, and you're adding to the pool of validators that makes the network harder to disrupt.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing
&lt;/h2&gt;

&lt;p&gt;The short version: nodes are computers running blockchain software, each holding a copy of the ledger. Full nodes validate everything independently; light nodes lean on full nodes for verification through Merkle proofs. There's no central server, connections are peer-to-peer, and data spreads by gossip. That combination is what makes these networks resilient and hard to censor.&lt;/p&gt;

&lt;p&gt;Full lesson, free: &lt;a href="https://neutralblock.com/learn/fundamentals/blockchain-fundamentals/nodes-and-networks" rel="noopener noreferrer"&gt;https://neutralblock.com/learn/fundamentals/blockchain-fundamentals/nodes-and-networks&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>networking</category>
      <category>web3</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Purple Teaming: Closing the Loop Between Attack and Detection</title>
      <dc:creator>Sakramen</dc:creator>
      <pubDate>Sun, 09 Aug 2026 16:25:35 +0000</pubDate>
      <link>https://dev.to/sakramen/purple-teaming-closing-the-loop-between-attack-and-detection-1207</link>
      <guid>https://dev.to/sakramen/purple-teaming-closing-the-loop-between-attack-and-detection-1207</guid>
      <description>&lt;h2&gt;
  
  
  The Problem With Traditional Red Team Reports
&lt;/h2&gt;

&lt;p&gt;A standard red team engagement works like this: the offensive team operates covertly, tries to achieve objectives without being caught, and delivers a report at the end summarizing what worked. The blue team reads it, maybe weeks or months later, and has to reverse-engineer exactly which detection failed and why.&lt;/p&gt;

&lt;p&gt;Meanwhile blue teams often write detection rules in isolation, without ever confirming those rules actually fire against a real execution of the technique they're meant to catch. Two teams, two blind spots, no feedback loop.&lt;/p&gt;

&lt;p&gt;Purple teaming is the fix: red and blue work together, in real time, so that every attack execution is immediately paired with a detection check.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Concrete Example: DCSync
&lt;/h2&gt;

&lt;p&gt;Say the red team executes a DCSync attack against Active Directory, which abuses domain replication to pull password hashes.&lt;/p&gt;

&lt;p&gt;In a traditional engagement, the report just says "DCSync was successful." In a purple team exercise, the blue team is watching the SIEM, EDR, and domain controller logs while the attack runs. If nothing alerts, both teams stop and figure out why immediately. Two common causes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The SIEM has no rule for &lt;code&gt;DsGetNCChanges&lt;/code&gt; replication requests originating from a non-domain-controller host.&lt;/li&gt;
&lt;li&gt;The relevant Windows event (Event ID 4662) isn't even being collected.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The blue team writes and deploys the detection rule on the spot. The red team re-executes the exact same attack to confirm the new rule fires with an alert an analyst could actually act on. That's the whole point: verified, not assumed.&lt;/p&gt;

&lt;h2&gt;
  
  
  MITRE ATT&amp;amp;CK as the Shared Language
&lt;/h2&gt;

&lt;p&gt;Purple teaming needs a common vocabulary so both teams are testing and measuring the same thing. MITRE ATT&amp;amp;CK provides that: a catalog of adversary techniques organized under tactical objectives like initial access, execution, persistence, privilege escalation, defense evasion, credential access, discovery, lateral movement, collection, exfiltration, and command and control.&lt;/p&gt;

&lt;p&gt;Teams use ATT&amp;amp;CK to pick which techniques to test in a given session, track what's covered across the matrix over time, and prioritize based on techniques known to be used by threat actors relevant to their industry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exercise Structure
&lt;/h2&gt;

&lt;p&gt;A purple team exercise generally follows six steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scope and prioritize&lt;/strong&gt; — pick ATT&amp;amp;CK techniques based on threat intel for your industry. You can't test everything in one sitting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Baseline detection&lt;/strong&gt; — document what rules, log sources, and response procedures already exist for each chosen technique, before anything is executed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execute and observe&lt;/strong&gt; — red runs each technique while blue watches every detection layer: SIEM, EDR, NDR, firewall logs. Both sides document what happened.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analyze gaps&lt;/strong&gt; — for each technique, determine if it was detected, at which layer, how long it took, and whether the alert gave an analyst enough context to investigate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remediate and retest&lt;/strong&gt; — build or tune detections for the gaps found, then re-run the attack to confirm the fix works with acceptable fidelity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document and track&lt;/strong&gt; — log everything in an ATT&amp;amp;CK coverage heatmap. This becomes an ongoing detection maturity scorecard.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Atomic Red Team
&lt;/h2&gt;

&lt;p&gt;Atomic Red Team is an open-source library of small, focused test scripts, each mapped to a specific ATT&amp;amp;CK technique. An "atomic test" does one thing: dump LSASS memory, create a scheduled task for persistence, run DNS tunneling, and so on.&lt;/p&gt;

&lt;p&gt;They're designed to be safe to run in production with proper authorization, which makes them the practical building blocks of a purple team exercise. Instead of designing a custom attack script for every technique, teams pull an atomic test off the shelf and work through the ATT&amp;amp;CK matrix systematically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metrics That Matter
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Target&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Detection Coverage&lt;/td&gt;
&lt;td&gt;% of tested ATT&amp;amp;CK techniques with working detections&lt;/td&gt;
&lt;td&gt;Increase each quarter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mean Time to Detect&lt;/td&gt;
&lt;td&gt;Average time from attack execution to alert generation&lt;/td&gt;
&lt;td&gt;Under 5 minutes for priority techniques&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alert Fidelity&lt;/td&gt;
&lt;td&gt;True positive vs. false positive ratio per rule&lt;/td&gt;
&lt;td&gt;Above 80% true positive rate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Response Completeness&lt;/td&gt;
&lt;td&gt;Whether runbooks cover all investigation/containment steps&lt;/td&gt;
&lt;td&gt;Full coverage for top 50 techniques&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These give you something a narrative pentest report doesn't: a trackable scorecard of detection maturity over time, not just a snapshot of what one red team happened to bypass on one particular day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why It's Worth Adopting
&lt;/h2&gt;

&lt;p&gt;Purple teaming turns security testing from a periodic, adversarial exercise into an ongoing, collaborative one. Instead of finding out three months later that a technique slipped through, you find out immediately, fix it immediately, and verify the fix immediately.&lt;/p&gt;

&lt;p&gt;The full lesson, with the complete exercise framework and metrics breakdown, is free here: &lt;a href="https://neutralblock.com/learn/network-security/net-chapter-9/purple-teaming" rel="noopener noreferrer"&gt;Purple Teaming&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>networking</category>
      <category>tutorial</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
