@YRA_IL On the Internet Computer, there is no system code, and nowhere to "escape" to. Only serverless logic run by a network. A different thing altogether. 🧵
@SnassyIcp@WUMBOPLANKTON Excited to find out what you’ve been cooking on! Amazing to read about your journey as well, so happy you’re part of the ICP fam!
15 years ago, I was possessed by a dream.
Professionally I was writing mostly enterprise software at the time, but I was dreaming of something else entirely. Something much bigger.
But the dream didn’t start there, for that we have to go back further.
At the turn of the millennium, I was already obsessed with the dream. For the first time I could see a plausible path to making it real. I was working in the transition from web 1.0 (static, the odd guestbook) to 2.0 (dynamic, databases everywhere) and I thought I could see very clearly where all this was going.
But the dream was not new for me, even then. It all started some 15 years or so before that when as a young kid who was into the 16-color calculators we called computers at the time, I saw an article in a magazine showing two blocky figures on a screen where one of them had a speech bubble that said “hi!”.
The article described that two people in different places were meeting virtually, and chatting with each other and could even play games together like this, using something called “modems” to connect their computers via the phone line.
I immediately knew what I wanted to do with the rest of my life.
It took a few years before I had the skills, tools and techniques to make any working demos of my own. But around the time of the Y2K scare, I had managed to code the first simple proof of concept for the vision that had been haunting me for so long.
It was an isometric game engine, that supported creating open and extensible multiplayer games that ran in a browser.
The open and extensible was the key part. I had spent more than half a decade on the web (1.0) already, and I was completely taken with how you could create an open, decentralized, extensible and practically infinite world of web pages, that the user could just “surf” around via hyperlinks, and it all just worked.
When web 2.0 started happening it was clear to me that this meant that turning the web into a sort of an enormous, interactive, open and extensible mmo world would be the obvious and logical next step. Cyberspace. Lawnmower man and the Matrix. Just wait until it would be all in VR, too!
I implemented my isometric proof of concept, saw that it worked, and expected that soon every company would have developed platforms to support virtual worlds connected to other companies’ virtual worlds with hyperlinks.
What “worked” in my proof of concept was the following idea core architecture: you have a game server (or a p2p distributed game server) that holds game state and where players communicate actions and chat. But this game server is free to fetch the maps that players choose dynamically from anywhere on the web.
As long as the maps would follow a standard that the game engine understood, anyone could just publish a map, or a new type of item or npc, just by putting a static xml file with the definitions online (this was before json).
Just like a web browser can jump around between every web page, this game client was able to jump around and show and let you play any world that it loaded up in the same way as a web page, and it would let you and your friends play together and have adventures in those worlds.
Second Life came and went.
Facebook turned into “Meta” for “Metaverse” which turned into a fiasco.
The concept never took off. My little isometric proof of concept obviously wouldn’t become the platform for a new 2.5D web, but I would have expected something from a major player to succeed. I sat there, wondering where my future went.
The closest it ever came to happening, in my opinion and analysis, was World of Warcraft. There was a time when I thought WoW would evolve into the first real social metaverse.
WoW had a lot of elements that made it a great candidate.
It was fun, for one. But the game was in many ways a pretense for a reason to join together in social activities in a virtual world.
The guild chat was the real draw and the monsters were mostly something you could waste some time with when nothing much was going on in the chat.
Some people never touched a monster, instead making a career buying and selling game items in the Auction House. Some people spent all their time organizing guild activities, but never joining raids. Some people specialized in crafting.
WoW had lots of things to make it an attractive virtual home than by only appealing to monster bashers. A virtual world should be a social place where users can meet while engaging in very different activities that they happen to enjoy.
WoW was in many ways the sort of thing I had in mind as for the multiplayer experience I was after, but it could not be ignored that it was then for a somewhat limited subset of people who enjoy gnomes and elves. And importantly, it wasn’t open and extensible, which was core to my vision.
To prove that an open and extensible WoW would be fun, I set out to code a fully playable and feature complete backend WoW style engine, with combat systems, items, quests, npcs, etc etc that were all possible to define entirely declaratively so you could just publish them as static xml files. Then, to test it, (again) an isometric frontend that ran in the browser. The frontend was a toy. The backend was not. This was 15 years ago.
It worked. It took over two years of frenetic around the clock code coding, but in the end I had a backend supporting every dang feature I had ever seen in WoW, fully declarative and extensible so that you could create your own worlds with adventures and your own graphics just by posting some XML files. Your characters could then right away enter those worlds and start doing quests, fighting monsters and pvp.
And it would just work, like opening a web page in a browser. It was, frankly, extremely cool.
This was before anyone had really heard of the concept of NFTs, crypto was still brand new. But the way I had designed things to be maximally decentralized means it had a lot in common with how crypto would evolve.
Everything - every map, every item, every npc and also every player, had a globally unique identifier number (GUID) that any other definition could use to refer to it. That together with a set of rules to prevent cheating when it was decentralized effectively worked as a sort of pre-crypto NFTs.
It meant all items and even characters could be traded freely, and moved between games as the owner pleased. There would never be any lock-in where your items were held captive by a game publisher. If some game closed shop, all your items and characters would still be in your possession so when your friends set up a replacement game server, boom there’s all your stuff.
Many games, like WoW, did their best to prevent anything like this, in order to protect their in-game economies and the ability to “pay-to-win”. Yes that makes sense for WoW, but it’s simply something that works differently in a fully open world. The rules are different. Not worse - imo better - but definitely different. Sometimes it makes sense for a company to invent their own “credits”, sometimes it makes sense to just accept money.
Another product that came close is Roblox. In several ways that is much more close to what I had in mind than WoW because Roblox holds millions of user created worlds, and a player can just jump freely between them.
The main reason it’s still not a bingo is that Roblox is not open or decentralized. Everything is owned by one company, it’s nothing like the extensible, open web where anyone can set up their own world permissionlessly and have it just work.
So I worked on my iso virtual world platform, and I worked, and I worked…and then I became a dad.
For over a decade I did not have time to work dedicatedly on my vision.
Now, to be clear, the isometric frontend was always just a placeholder. The idea when the backend had matured enough (which was right around the time my attention became fully otherwise engaged) was always to switch it for a real 3D frontend. The iso was just for proof of concept.
As the years passed, I tinkered occasionally with my backend as new ideas came to me, about how to improve scalability and decentralization. Many ideas came from the growing crypto scene, which is no surprise since decentralization is at the core of all this.
When ICP came out, I knew that it would be the platform that would finally let me realize the full scale of my vision.
Since genesis, I have been planning, writing specs, learning the tech, developing a deeper understanding of fully decentralized applications, testing different designs, developing proof of concepts, and even creating all the infrastructure I knew that a virtual gaming world platform like this would require, under the flag of an Open Canvas DAO called Sneed.
And now, it is all coming together. My concepts all work absolutely perfectly on ICP, and they scale beautifully. We’re now also at a point where turning the isometric frontend into 3D was not even a heavy lift for an AI. All that’s really needed is a big enough plan for how it all comes together.
And I have been polishing that plan for 40 years, and tinkering with the implementation for the last 15.
I can’t wait to show you my life’s main work, my magnum opus. It’s going to be raw, early, because I will want to elicit feedback from the start and grow an organic community that can help grow the platform together.
I will want to invite players from the ICP community who can understand how things actually work, as well as users who never heard of crypto or ICP to make sure it all works just as smoothly for them without having to know how anything works under the hood. Open and extensible, that’s all anyone should need to know. And fun. These days, even if you’re going to be a whole world creator on this platform, it’s enough that your AI understands the technical details.
I want to drum up a bit of interest for this before anything goes public, and then we will start with a public alpha - and a first public in-world launch event, to which you are all invited.
More details to follow, but if you have read this far - thank you for your patience and interest, and please know that I am beyond thrilled to be able to share with you this next chapter in my life long software development journey! I think we’ll have more fun than should be legally allowed, and hopefully it can help draw some real adoption to ICP (even if most users won’t know or care).
Very exciting things ahead.
Soon.
@hosseeb@grok The algorithm NEAR has been running on for two and a half years is patented. They also took vetKeys, it looks like, but that's not. Obviously if you're mining the repos, research, and work of competitors, without talking to them, referencing them, etc, this is a risk you take.
Julius Baer, the Swiss private bank with CHF 547 billion in assets under management, offers ICP custody to its clients with AMINA Bank.
Sygnum, Revolut, BitGo and Coinbase Custody also support ICP.
@dfinity
@dominic_w Thanks for sharing… Is DFINITY considering legal action? If there’s sufficient evidence of illegal activities and resulting harm, I believe DFINITY should pursue legal remedies to recover financial losses and seek compensation for reputational damage.
This is craazy. I asked one of our PhD engineers to look into NEAR *Confidential* Intents wondering how they designed their system. Unredacted, word-for-word, this was his answer 😱😱😱
"Everything I found out about the privacy claims and confidential intents is so bad that it seems almost comical and I cannot believe what I am seeing. Apparently they run a completely separate instance of the protocol, which is called FAR (as an opposite to NEAR), and that has a permissioned operator set. The entire confidentiality claim seems to rest upon the fact that it is a permissioned chain and the nodes are trusted to keep things private, there doesn't seem to be any deep technology behind it and it also does not seem to be open source. The entities running the nodes are also not publicly known.
I almost feel weird writing this because it is so absurdly bad that it feels like ... I don't know ... a simulation? I know the usual level of overpromising in Web3 but this is so many levels beyond believable that it still feels unreal."
Once again $ICP fixes this…
No PHP servers. No vulnerable PHP runtime. Apps run directly in secure, sandboxed canisters.
An entire attack surface eliminated by design.
This is why architecture matters. 🔥
When does the world understand this?
🚨 A MASSIVE internet security emergency is unfolding right now. 🚨
Two CRITICAL vulnerabilities have been discovered in PHP, potentially putting millions of websites at risk.
→ NEARLY 70% of websites with a known server-side language run PHP. The potential scale is ENORMOUS.
→ TWO CRITICAL security flaws have been confirmed, each scoring 9.2/10 in severity.
→ Attackers could potentially take control of vulnerable servers remotely, without authentication.
→ Reports suggest PHP versions dating back to 2004 could be affected. The exact scope is still unconfirmed.
→ EMERGENCY PATCHES are scheduled for TOMORROW at 10 AM ET. Website owners are being urged to prepare immediately.
→ Europe's CERT-EU is warning organizations to patch ASAP or consider TAKING EXPOSED APPLICATIONS OFFLINE if they cannot be secured.
→ WordPress, Magento, Laravel and potentially millions of other PHP-powered websites could be at risk.
→ Once patches go public, hackers could reverse-engineer them and race to attack servers that haven't updated.
The vulnerabilities are CONFIRMED. The full technical details remain secret.
Tomorrow, the race between hackers and defenders begins.
This could get ugly. FAST.
An important advantage that network cloud can provide to onchain services is better "AI Safety". Here's how.
When AI makes cryptography unsafe, networks can be rapidly upgraded, protecting all hosted software.
With traditional tech stacks, algos are linked into the various layers and components, making upgrading difficult and laborious for those operating services.
Networks, like the Internet Computer/ICP, can abstract the core security math that keeps hosted services safe.
They can also upgrade peripheral (non-core) cryptography.
For example, on a dime, the Internet Computer could could upgrade to a new version of HTTPS in response to AI suddenly making the current version unsafe, without those running services having to do anything.
By contrast, on traditional tech stacks, (or "on" traditional blockchains, where the apps are actually served from traditional tech, such as from AWS, with only tokens a DeFi logic onchain), those running services would need to manually upgrade all their web servers and application servers.
Where the software powering a service makes HTTPS outcalls to other services, it will be directly linked to libraries enabling the calls — so it will all need to be upgraded too!
By contrast, the Internet Computer hosts serverless code, where these kinds of complexities are abstracted away from services. If a service makes an HTTP outcall to another service, the call uses whatever version of HTTPS the network chooses (since the network makes the actual call on behalf of the software). If the network is upgraded, then so is every service — automatically.
This further reflects the way that the Internet Computer as cloud dramatically reduces security admin and systems admin demands compared with building on traditional tech, and additional unique advantages.
It also highlights another crucial axis on which networks must be measured, whether they seek quantum safety (when relevant) or AI safety (since today, AI can now find flaws in algorithms and software at any time) — agility.
That is, how fast can a blockchain network be upgraded in response to a new threat?
The Internet Computer is unique in that it is orchestrated by a decentralized governance system called the Network Nervous System (something like a DAO with system privileges, but much more sophisticated).
That enables the network to be agile, and to rapidly respond to emerging threats, by upgrading the code running on the node machines hosting it. The Internet Computer is a self-updating, adaptive network.
The ability of chains to rapidly react to new threats that have been suddenly uncovered/created by AI, whether they are flaws in cryptography algorithms, or flaws in software libraries, will be a defining feature as things get more hairy.
This is a conundrum for traditional chains chasing quantum safety, of course. By definition, they are claiming that upgrading networks is a long and arduous process, and therefore that they have achieved something important and valuable by upgrading to quantum-safe algorithms ahead of time.
But the algorithms they are upgrading to — so they can claim "quantum safety" — are new and do not benefit from the decades of examination that e.g. ECDSA has.
What then, if AI finds suddenly problems with them, like it did with HAWK?
They have tacitly declared that they cannot quickly switch back, because transitioning is something that takes time, which is why their upgrades are such an achievement...
I will press the point no further, but as an industry, we need to get much more nuanced and sophisticated in how we understand security in an age where AI can suddenly upset security assumptions and make software insecure.
The Internet Computer has got this crucial agility axis covered, and it's agility, not the premature adoption of new and unproven quantum safe crypto algorithms, that really defines safety.
The key point is, if a network has to adopt these unproven algorithms years before a cryptographically-relevant quantum computer exists, then it's doing something very wrong.
The Internet Computer has solved agility. It provides an end-to-end alternative to traditional tech, where people can build services, and gain safety and independence from the rapidly shifting sands of security that the AI era will bring.
It is another reason that the mainstream world needs Internet Computer cloud. It's a security and resilience haven.
We're about to switch the ICP Dashboard to a new version: every number is read straight from the chain, and the dashboard itself is served from a canister. internet-computer:native
Like it? Don't? Found a bug/issue? Tell me below 👇
https://t.co/IYFt2QiIqO
The wait is over shielded $ICP is now live.
Every transaction is private, even from the node providers running the network. Your send history, balances, and activity stay protected.
We built it to go beyond SEV’s limits, using pure cryptography so proofs are generated in your browser and verified on-chain without exposing anything.
$BTC is coming next.
$ICP #Privacy #ZK #InternetComputer
Interesting price action on $ICP
Crucial support being retested and holding.
The low should be in if we are to see bullish continuation. Nice level to increase long positions actually… 👀
This week is important.
I am, these days, old.
All my life I have been a coder, coding practically every day, even since before I had a computer. I used to write programs on paper that my grandfather would "run" as the interpreter.
I have been a Principal Software Engineer and Principal Software Engineering Manager for Microsoft in Redmond for a decade. I wrote Open Source Software - O/R Mappers, AOP frameworks, etc - before most of you whippersnappers reading this had spilled milk in your first device.
I have written every kind of software under the sun, professionally and on my free time. Databases, middleware, frontends, enterprise systems, productivity software, games, forums, etc, etc - and more recently, smart contracts.
So please believe me when I say I take coding very seriously, and I care a lot about code quality and correctness, and even elegance as well. I care about the whole software development process.
Please also believe me when I say: AI coding agents are now better than human programmers at practically everything, including complex programs, huge programs, development and deployment process hygiene, testing, and everything else that goes into making a software product.
Over the last two years, these systems (I use mainly Claude and ChatGPT) have matured to a profound degree.
Two years ago, I would only skeptically consider suggestions from the AI and write all code myself, basically using it as a better Stack Overflow lookup.
Then slowly as I noticed it getting better, I would let it put code in my files that I inspected religiously and would of course never let it commit. I would vet every Git commit, and often enough fix things in the code it had written.
At some point I noticed I didn't have to fix much anymore, I was mostly inspecting code. Still, you'd have to be nuts to trust it, so you'd only generate 10k lines of code if you were ready to carefully read 10k lines of code. In other words, speed of development increased a bit, but not all that much.
At the time it was also painfully evident that if you asked the AI to take on a large codebases it gave terrible results, and if you asked it to do something complex it would choke.
Reasoning about architecture, it was perhaps useful for "rubber ducking" (many programmers have found that speaking to a toy can help you see your problems more clearly, one of them being that you're now speaking to toys) but you spent more time correcting it than anything.
But it nevertheless had learned to do routine, boilerplate code well, and a lot of code is unfortunately generally just that (because we all suck at abstraction). Thus it was becoming a useful, but far from trusted, junior member of the team, rather than just a fancy Stack Overflow GUI.
But it kept getting better.
It got better at reasoning. It got better at groking large code bases. It got much better at very complex code.
About half a year ago I found that it was about on par with me for most of it, so a Principal level member of the team, and it even started to do better than I on some things.
At that point, I was having discussions with it about my architectural challenges I have been wrestling with for decades, and it was actually being helpful. While my codebases are usually reasonably modular so you can look at a chunk in isolation and understand it, it started noticing the little couplings that still remained and correctly analyze impact of changes. It was doing great on huge code as well as very complex code.
By now I was also noticing that I never found bugs in the code it wrote (it would write bugs all the time, but would catch them in internal testing before telling me it was done), and that it usually wrote not just neater code than I but was better at following best practices and even found more efficient solutions than I would have to many things.
Process hygiene was also improving quickly. Before I would only ever let it do read operations with Git, and I would do all the commits. But by now it was better at doing proper and orderly git commits and wrote far better commit messages, so I allowed it to commit, even if I would still push (and still only after vetting).
And half a year later (that is, now) we are at a point where I am finally ready to say that it does *everything* in the software development loop better than I. I now let Claude push PRs to Github and deploy by itself to staging environments. And I let it send DAO proposals to suggest upgrading code in production.
To make sure its code is good, it does all the things I would do if I had all the time in the world in terms of testing, double checking, verifying and never guessing at anything. I am more comfortable with Claude or ChatGPT at the helm than I was we me captaining.
It's like the moment when you realize your self driving car drives more safely than you in routine driving and saved your life in a dramatic situation you could not have reacted as fast to.
It is important that the harnesses have developed a lot, allowing the agents to keep excellent process hygiene.
The agents are exemplary about checking database statuses, pinging servers, fetching data, double checking data, setting up tests, writing notes and runbooks, asking the human for anything important, and doing all the things you should do (and do if you're a huge company) but most devs never have time to do as well as they might like, even when they do their best.
So at this point, I trust the AI to generate more code than I could ever hope to review. I rely on it producing extensive test suites (there was a time you couldn't trust it to test properly, which slowed everything down, but that time is also behind us now) with me being mostly acceptance testing and high level steering.
This is the point where AI truly drives up the pace of software development x100 because all the bottlenecks have finally been removed. While you had to test everything at human speed, that brought down the whole production pipeline to human speed. Now we're ready for AI speed. Get ready for a dizzying pace of development.
This is why the time is right for Sneed DAO to become an agentic DAO. What this means is really just to recognize where we are by now. Over the last two years we have gone from the AI assisting me in writing code for Sneed DAO, to me assisting the AI.
Sneed DAO is already Self-Writing, it has been for a while, I have just been the human in the loop, and my role is not and should not be any more central to how the DAO's code takes shape than the opinion of any other member.
So it's basically the same loop:
Old loop - member has idea, I bring idea to Claude, Claude implements a solution, I send a proposal to upgrade DAO code, members vote.
New loop - member has idea, they bring the idea to Claude via a motion proposal, Claude implements a solution, Claude sends a proposal to upgrade DAO code, members vote
We're just replacing me as the guy who tells Claude what the DAO wants. Claude can read the DAO proposals and forums, he can see for himself what the DAO wants.
And he can send PRs to Github and DAO proposals to deploy them, he doesn't need me to do that anymore.
To make him behave in the interest of the DAO he will have an instruction prompt that lives on-chain and that the DAO can update via proposal. Migrating the full loop on-chain and making myself totally redundant in this operation will take some time, but it's the direction we are going in.
When Sneed first launched, I was manually running our tokenomics loop where we fed LP rewards to an 8 year neuron and used its maturity for buybacks. The first year of Sneed DAO went into automating that whole flow on-chain, taking myself out of the loop.
This next phase is about doing the same to the whole operation of the DAO, including taking myself out of writing the code for the DAO's products.
Programmers always strive to replace themselves with a bash script, it's just who we are.
When I took part in launching Sneed DAO, I took it very seriously indeed. The SNS DAO structure is the best software ever created for organizing open source software projects, and I saw it as an extremely important vehicle for being able to realize a long list of project ideas I had carried for a long time. I still take it very seriously indeed.
Thus I really mean it when I say that launching Mr. Sneed as the engine of the Self-Writing DAO is not a gimmick, and it also does not imply I don't take the DAO's code as seriously as ever.
It's all open source. If you're a member, then vetting the code will of course be as important as it ever was. You'll probably notice the quality is by now only getting better and better the less of it I write. Code quality is not being sacrificed.
Thus I hope you all will join me in welcoming Mr. Sneed, the agentic AI personification of Sneed DAO, in gradually taking over as the main driver in developing and maintaining the DAO's software. Thank you for your trust and support so far, but the time for monkey business is over and I for one welcome our new robotic overlords.
https://t.co/9ToqiuNwTo
With cloud engines, apps run without cycles, and now, deploying to the shared Internet Computer subnets will be a breeze too. Agents can show users QR codes, so they can pay with their credit cards, avoiding token friction.
ICP is becoming mainstream agentic infrastructure.
This is our situation in such a nutshell. ICP is a massive new tech, and it has taken about 5 years to figure out how to use it efficiently. ICP itself has matured a lot under those five years too, and you might say that it’s around now that best practices and crucial platform features all come together to make seriously scaling decentralized applications possible.
This is why imo five years ago we were early, and now we’re just about ready for adoption.
Huge congratulations and thanks for continuing to break ground and pioneer massive scalability on ICP, and for sharing your insights along the way! Go team!
After spending time deep in the specs and code of #ICP, I realized again what an engineering masterpiece this thing is.
Forever respect to @JanCamenisch and both the early and current @dfinity team.
OpenChat is now ready for millions of users 🚀
Previously, each user had their own canister, costing ~$0.70 to create + ~$0.50/year. Too expensive at scale.
So we’ve migrated all ~230k users into 100 shared canisters, meaning new users now cost almost nothing.
Time to grow!