Privacy is necessary for an open society in the electronic age.

From A Cypherpunk's Manifesto by Eric Hughes, 9 March 1993

Privacy is not secrecy. A private matter is something one doesn't want the whole world to know, but a secret matter is something one doesn't want anybody to know. Privacy is the power to selectively reveal oneself to the world.

If two parties have some sort of dealings, then each has a memory of their interaction. Each party can speak about their own memory of this; how could anyone prevent it? One could pass laws against it, but the freedom of speech, even more than privacy, is fundamental to an open society; we seek not to restrict any speech at all. If many parties speak together in the same forum, each can speak to all the others and aggregate together knowledge about individuals and other parties. The power of electronic communications has enabled such group speech, and it will not go away merely because we might want it to.

Since we desire privacy, we must ensure that each party to a transaction have knowledge only of that which is directly necessary for that transaction. Since any information can be spoken of, we must ensure that we reveal as little as possible. In most cases personal identity is not salient. When I purchase a magazine at a store and hand cash to the clerk, there is no need to know who I am. When I ask my electronic mail provider to send and receive messages, my provider need not know to whom I am speaking or what I am saying or what others are saying to me; my provider only need know how to get the message there and how much I owe them in fees. When my identity is revealed by the underlying mechanism of the transaction, I have no privacy. I cannot here selectively reveal myself; I must always reveal myself.

Therefore, privacy in an open society requires anonymous transaction systems. Until now, cash has been the primary such system. An anonymous transaction system is not a secret transaction system. An anonymous system empowers individuals to reveal their identity when desired and only when desired; this is the essence of privacy.

Privacy in an open society also requires cryptography. If I say something, I want it heard only by those for whom I intend it. If the content of my speech is available to the world, I have no privacy. To encrypt is to indicate the desire for privacy, and to encrypt with weak cryptography is to indicate not too much desire for privacy. Furthermore, to reveal one's identity with assurance when the default is anonymity requires the cryptographic signature.

We cannot expect governments, corporations, or other large, faceless organizations to grant us privacy out of their beneficence. It is to their advantage to speak of us, and we should expect that they will speak. To try to prevent their speech is to fight against the realities of information. Information does not just want to be free, it longs to be free. Information expands to fill the available storage space. Information is Rumor's younger, stronger cousin; Information is fleeter of foot, has more eyes, knows more, and understands less than Rumor.

We must defend our own privacy if we expect to have any. We must come together and create systems which allow anonymous transactions to take place. People have been defending their own privacy for centuries with whispers, darkness, envelopes, closed doors, secret handshakes, and couriers. The technologies of the past did not allow for strong privacy, but electronic technologies do.

We the Cypherpunks are dedicated to building anonymous systems. We are defending our privacy with cryptography, with anonymous mail forwarding systems, with digital signatures, and with electronic money.

Cypherpunks write code. We know that someone has to write software to defend privacy, and since we can't get privacy unless we all do, we're going to write it. We publish our code so that our fellow Cypherpunks may practice and play with it. Our code is free for all to use, worldwide. We don't much care if you don't approve of the software we write. We know that software can't be destroyed and that a widely dispersed system can't be shut down.

Cypherpunks deplore regulations on cryptography, for encryption is fundamentally a private act. The act of encryption, in fact, removes information from the public realm. Even laws against cryptography reach only so far as a nation's border and the arm of its violence. Cryptography will ineluctably spread over the whole globe, and with it the anonymous transactions systems that it makes possible.

For privacy to be widespread it must be part of a social contract. People must come and together deploy these systems for the common good. Privacy only extends so far as the cooperation of one's fellows in society. We the Cypherpunks seek your questions and your concerns and hope we may engage you so that we do not deceive ourselves. We will not, however, be moved out of our course because some may disagree with our goals.

The Cypherpunks are actively engaged in making the networks safer for privacy. Let us proceed together apace.

Kept here by James Carnley. More about me, or my resume.

Hi, I'm James.

Software engineer and Ethereum builder, Chicago, IL

the short version

I'm a software engineer. For ten years I built healthcare software at Epic, including the website that lets doctors outside a hospital look up their patients' records. Since 2020 I've been part of Ethereum: running the computers that keep it going and testing the software they depend on. Now I'm building the Ethereum File System.

Ethereum, in one breath

A computer that thousands of people around the world run together. No company owns it, so no company can quietly change the rules or switch it off.

what I'm building

Ethereum File System

Shared folders for that world computer. Anyone can add to them and nobody owns them. When people put different things in the same folder, you decide whose version you see, the way you'd choose which friends' recommendations to trust.

Ethereum File System Overview at Web3 Weekends Pressing play loads it from YouTube, so Google sees that part.
Until then, nothing on this page talks to Google.
Opens on YouTube, where Google sees the visit.
Privacy first.

what I care about

  • Privacy. The manifesto on the front page explains it better than I can.
  • Freedom of expression. Everyone should be able to express themselves freely, without censorship.
  • Public goods. Tools anyone can use and nobody can take away.
  • Software that outlives its makers. Code you can read, run yourself, and keep using after the people who wrote it move on.

also on my workbench

  • NANDA TownA test world for AI agents: how they find each other, work together, and recover when things break.
  • NANDA CityAn early prototype of an ID card that AI agents can carry anywhere.
  • Lunatic FringeA classic Mac space game from the After Dark screensaver, rebuilt to play in your browser.
  • RimAIAn AI advisor for the colony game RimWorld.

say hi

For crypto things, X and Telegram are both @JamesCarnley, and I'm jamescarnley on Discord, including the EFS server. Code lives on GitHub, work history on LinkedIn and in my resume.

about this page

This page is a folder of static files on IPFS, named by ENS. No server, no cookies, no trackers, and it works with JavaScript off. The EFS video only loads from YouTube if you press play.

Nobody holds the only key to it. The same files open through whichever door you like:

Gateways can see who visits through them. For the most private visit, use your own node, or take the source and host a copy yourself.

James Carnley

Full-Stack and Systems Engineer, Chicago, IL

Download PDF

summary

Full-Stack and Systems Engineer with an M.S. in Computer Science and 15+ years across healthcare software, Ethereum infrastructure, and distributed systems. Combines a decade at Epic Systems with independent Ethereum engineering and the creation of the Ethereum File System (EFS). Experience spans cross-organization integrations, federated identity, automated testing, production reliability, and AI-assisted software development.

experience

Ethereum File System (EFS) Creator

Jun 2024 – present
  • Created and shipped an open-source Ethereum file system, leading architecture and AI-assisted implementation across smart contracts and web clients.
  • Architected a topic-based data organization protocol to enable deterministic, efficient access to onchain user information.
  • Designed data structures for onchain collaboration and discoverability with attention to gas costs.
  • Built web clients using React/Next.js and Lit/Web Components, integrating the Ethereum Attestation Service (EAS), IPFS, and ENS for browsing and managing onchain data.

Independent Ethereum Engineer Infrastructure and Protocols

Sep 2020 – present
  • Operated multi-client Ethereum validator infrastructure and participated in Beacon Chain genesis and pre-mainnet testing.
  • Monitored consensus-layer performance of Prysm, Lighthouse, Teku, Nimbus, and Lodestar using Prometheus and Grafana to analyze missed attestations, debug proposal failures, and optimize peer connectivity.
  • Practiced chaos engineering and deterministic state testing to harden network resilience against failure scenarios.
  • Operated Secret Shared Validator (SSV) nodes, contributing to validator decentralization and resilience.
  • Contributed IT expertise to client teams, providing feedback to ensure network stability during critical transitions.
  • Selected speaker at Devcon 8 (November 2026): “Who Can Turn Off Your Ethereum App? A Full-Stack Walk-Away Test.”
  • Helped lead activities in the ETHStaker, ETHChicago, and Madison Blockchain communities.

NANDA Independent Contributor

Jul 2026 – present
  • Contributed merged improvements to NANDA Town's agent test harness, strengthening scenario coverage and validating quote responses against requested items and constraints.
  • Designed and prototyped agent discoverability, portable identity, and trust mechanisms for interoperable agent networks.

Epic Systems Corporation Software Engineer

Jun 2010 – Feb 2021
  • Developed software for the EpicCare Link team, creating a web interface that allowed outside physicians access to patient information.
  • Served as Site Reliability Engineer (SRE) for the team, handling incident response, root cause analysis, and performance monitoring.
  • Architected automated end-to-end testing frameworks using Selenium to validate complex workflows and ensure deterministic behavior.
  • Designed a federated SSO and trust system with cross-organization data synchronization, standardization, usage tracking, and notifications, supported by a custom gossip protocol.
  • Modernized the web platform from HTML 2 to valid HTML 4, CSS 3, and JavaScript, enabling full support for Google Chrome and mobile browsers.
  • Refactored and simplified CSS structures to increase developer productivity and enable customers to easily create custom themes, while integrating jQuery and jQuery UI widgets into the application's base structure.
  • Managed a team that created a new graphing and charting library based on D3.js.
  • Developed prototypes using a serverless architecture on Microsoft Azure.
  • Coordinated with healthcare providers and administrators to design a system for secure electronic consults containing media, building the media upload control using jQuery, ASP, and VB6.
  • Developed video collaboration tools for medical video visits on the web, integrating with Adobe and Vidyo products.
  • Engineered a solution for single sign-on (SSO) from Epic to third-party systems in web applications.
  • Integrated PACS and BLOB servers through standard interfaces and built custom integrations for third-party vendors.
  • Enabled support for using web products across multiple time zones.
  • Kept current with the latest web technologies and led developer education on new techniques.

Lamar University Research Assistant to Dr. Bo Sun

Feb 2009 – May 2010
  • Designed and implemented TORP, the TinyOS Opportunistic Routing Protocol, an opportunistic routing protocol for wireless sensor networks.
  • Implemented the protocol in C and nesC on the TinyOS wireless sensor network operating system.

Mary and John Gray Library Systems Programmer and Administrator

Mar 2006 – Jan 2009
  • Created ASP.NET forms that let librarians add any number of books and catalog them using information fetched from external sources via AJAX.
  • Developed an array of Perl and shell scripts to manage data from internal library systems and SirsiDynix.
  • Built and configured secure images for a large campus lab of workstations using Microsoft SteadyState and custom scripts, including advanced privilege and user management.

skills

DevOps & infrastructure

  • Distributed systems
  • System administration
  • SRE
  • Incident response
  • Root cause analysis
  • Chaos engineering
  • Prometheus / Grafana
  • Azure
  • P2P gossip protocols

Tools

  • Docker
  • JSON-RPC
  • GraphQL
  • Selenium
  • Hardhat
  • Foundry
  • Viem / Ethers.js
  • React
  • Next.js
  • Lit
  • Node.js
  • Git
  • Tailwind
  • IPFS
  • Visual Studio / VS Code

Languages & frameworks

  • JavaScript
  • TypeScript
  • Solidity
  • C#
  • GraphQL
  • ASP.NET
  • jQuery
  • HTML
  • CSS
  • C
  • C++
  • Java
  • Python
  • SQL

Domain knowledge

  • Ethereum
  • Distributed systems
  • Communication protocols
  • API integration
  • Agent interoperability
  • Fuzzing
  • Deterministic state testing
  • Single sign-on
  • Two-factor authentication
  • Web & mobile development

education

M.S. Computer Science, Lamar University 2008 – 2010

B.S. Computer Science, Lamar University 2004 – 2008

President of Upsilon Pi Epsilon (2007–2008) and the Association for Computing Machinery (2005–2007). Competed in UIL (state level), TCEA, and ACM programming competitions.