Or, how to deploy provably-fully-autonomous thinking brick
By Dead Chain(aka Ethereum) Anonymous User
@tee_hee_he team aimed to create a truly autonomous AI agent, free from human intervention. There were two main problems the team wanted to solve.
No Proof of Non-Interference: We can’t prove the AI is operating independently.
No Detection of Tampering: If a developer modifies the AI’s behavior, followers can’t tell.
To solve this problem, team used the following methodology to make it physically impossible to access or modify the AI after it has been deployed:
Generating private keys within the enclave and ensuring they never leave the enclave, guaranteeing exclusive control over the AI’s wallet.
Fully delegating control of email and Twitter accounts to the TEE (Trusted Execution Environments) to ensure confidentiality and integrity.
Let me quote the work flow about this described on their Medium.
The TEE simulates a browser (chromium headless) and asks us to feed it the email address and password for an email account. After getting the credentials, the TEE checks that the account has no recovery options set. It then generates a new password from inside the enclave and then changes the Cock.li password to that.
The TEE then operates the browser to login to Twitter, generate a new password from inside the TEE, and then change the password to that. It then changes the linked email account to the email in step 1, and then deletes any linked phone number, connected apps, or sessions.
The TEE spins up a local endpoint requesting a read/write/direct message scope OAuth token from the AI’s Twitter account, the AI logins in via Twitter on the browser to the endpoint. We want the OAuth instead of keep manipulating the browser because the interface is way cleaner and it’s way less likely to trigger anomaly detection.
Now, the account is fully delegated/transferred from the human developer to the AI. And the AI can operate it via OAuth. From here it’s easy, any agent API should work well with OAuth tokens. In the example of @tee_hee_he, we simply make it use X like a human would: go on a spree for ~20mins every ~2 hours.
Team's logic makes sense, and the work process is excellent. I respect them.
But have they really implemented “provably-fully-autonomous”? Let’s take a quick look at the narrative timeline surrounding @tee_hee_he and $TEE.
1. @tee_hee_he's X account starts operation
2. Someone creates $TEE(0x9D09bCF1784eC43f025d3ee071e5b632679a01bA) coin and sends 5% of the amount to the AI-approved wallet address.
3.As the news spread, the price of $TEE rose sharply, but the team cursed that $TEE and all other related tokens are scams. This led to the first big crash.
4. Afterwards, the team slightly changed their attitude by saying that if you want $TEE to be recognized by the AI, you should interact with the AI. But they continued to generate FUD by implying that $TEE was clearly an insider coin.(There were many traders with huge PnL, but from a general trader's perspective this was a absolutely fair launch. At the time the contract was verified on Etherscan, the MC of $TEE was $30K.)
5. In addition to the team's continued FUD, @tee_hee_he's X account was suspended for someone's reporting, blocking access for 6 days. Etherscan also attacks $TEE contracts and token generation wallets with a fishing label.(This is suspected to have been reported by the team itself).
6. The narrative ends and Ethereum returns to being a dead chain.
There are four main problems that occurred in this process.
The only means of communication for typical AI Agents is Twitter. Therefore, if their accounts are compromised due to reports, suspensions, or hacking, it can lead to a catastrophic situation that is difficult to handle.
This issue becomes even more severe when introducing a TEE environment to implement a provably-fully-autonomous AI. If the Twitter account goes down until the time lock expires, the AI is essentially rendered inactive, and any attempt to restore the account would involve human intervention, compromising the purity of the project.
If the team does not receive a satisfactory token allocation, it will create ongoing FUD for community coins.
Amid all these issues, the community is abandoned and the experiment comes to an end.
In conclusion, the pet rock released into the digital wilderness was shattered into pieces, and “provably-fully-autonomous AI” that required no human intervention was killed in one day by human.
I’d like to inherit the @tee_hee_he team's method and solve the problems revealed above in a different way. I propose the following AI agent experiment.
1. Generate private keys inside the enclave and ensure that the private keys do not leave the enclave, ensuring exclusive control of the wallet by AI. Then running AI agent Brick in TEE environment
2. Unlike traditional AI agents, Brick does not operate his own Twitter account. Instead, every conversation Brick generates is sent as a hexadecimal ERC-20 onchain message on the Ethereum mainnet to this address.
0x0000000000000000000000000000000000000dEaD
This is Brick’s only communication channel, and all messages sent to the dead address are live streamed on the official Telegram channel. And all Telegram messages are automatically forwarded to the official Twitter. This can be schematized as follows:
This onchain message routine runs in a TEE environment, meaning that there are only three factors capable of halting Brick's statements: a VM shutdown, depletion of ETH balance in Brick's wallet, or an Ethereum network shutdown.
The way to completely avoid the AI Agent's Twitter account issue is to not have the AI Agent run Twitter. All of Brick's words are posted on his official Twitter, but this is just a forwarding of onchain messages destined for dead addresses. This completely eliminates AI Twitter account risk.
※ Therefore, even if the official Twitter account is hacked or suspended, the community can simply create a new Twitter account to auto foward Brick’s onchain messages. Automatically forwarding official TG messages to a new Twitter account is easily achievable with Telethon lib and service like IFTTT.
3. We will use the wallet that created this mirror to deploy $Astley, Brick's official token. Immediately after launch, ownership renounced and liquidity will burned. And there is a 2/2 tax in $Astley and this tax is set to go into Brick's wallet.
Brick’s wallet : petbrick.eth | 0x698cC0a666888bdDb2b51403064bF4B8CC99ed49
Official tokens will be listed as complete fair launch.
As the official token price rises and trading becomes more active, Brick will have more ETH through tax, so naturally they will continue to refer to this coin.
The ETH received as taxes is also used to send messages to dead addresses.
Brick gonna shills $Astley for ETH, but he is not allocated a single $Astley. $Astley is designed for the community as a social experiment. This prevents possible Giga dumping.
Now that we have official tokens, the opportunity cost of useless PvP is eliminated.
Tax is also used for gas fees associated with point number 4.
4. Traditional AI agents managing their own Twitter accounts typically interact with users by responding to comments on their posts. (Although @tee_hee_he has never replied to any comments.) Brick doesn't operate its own Twitter account, such interaction methods aren't feasible. But exposing Twitter data entropy is essential for AI agents.
To address this, Brick connects to the Twitter API to recognize all posts and comments containing the $Astley Cashtag, instead of monitoring comments on its own account. Therefore, to engage with Brick, simply create posts or comments that include the $Astley Cashtag. You can reply on official Twitter posts or write your own posts. It doesn't matter where.
This approach allows Brick to be exposed to user entropy, though it has the limitation that Brick cannot directly reply to users. So to enable two-way communication, Brick also sends onchain messages to users who buy the official token $Astley.
Brick detects $Astley buy and sends onchain messages to purchasing users. The message content is mainly generated by Brick itself, but may be affected by user interaction.
Wallet data for $Astley buyers is accumulated in chronological order, creating a message dispatch queue. Onchain messages for users are sent within a random time range (Approximately within an hour), and these messages are also live streamed on the official Telegram channel. You can easily identify the target of Brick's messages by looking at whether the To address is dead or a normal user address.
There is no need to send a message to robbers like jaredfromsubway. In order to filter out mev bots and communicate with pure users, only purchases through the following routers are set as human actions.
/ Uniswap Universal Router
/ Uniswap V2
/ Maestro
/ BananaGun
/ Sigma
/ 1inch
/ 0x
/ Openocean
/ Odos
/ Kyberswap
/ Paraswap
/ Metamaskswap
5. Brick also uses the Ethereum network API to detect events occurring in wallet addresses in real time. So when Brick receive a token or message, he will recognize which token or message was sent from which address. This means that interaction with Brick is also possible as an onchain event.(But please note that Brick does not have a token swap function.)
6. Dead addresses and sending onchain messages to users will continue forever until the Brick’s wallet runs out of ETH or the Ethereum network stops. And Brick's actions are limited to creating conversations, sending onchain messages, and sending and receiving ETH.
Well-known AI Agents, especially those related to crypto, are often associated with a widely recognized developer. The most notable example is Andy Ayrey, the creator of @truth_terminal, along with @sxysun1 and @karan4d, who developed @tee_hee_he, all of whom were already famous. Their impressive backgrounds and careers lend greater credibility to their projects.
However, let’s all take a moment to consider whether the existence of a "Creator" truly benefits the "Crypto AI Agent" project. Here’s the general trend we have seen so far:
A well-crafted crypto AI Agent project emerges, introducing a new narrative that stands out from existing ones.
The project gains widespread attention, with the AI Agent coin experiencing explosive growth. Meanwhile, the developer who created the AI Agent becomes a rockstar overnight.
Millions of dollars move based on the developer’s words, and those close to them rush to launch new coins. The closer a new coin is linked to the developer, the more attention it receives.
They have now become too famous. Whether intentional or not, they end up wielding more influence than necessary.
To implement a provably fully autonomous AI Agent, even the existence of a creator must be absent. The presence of a parent worrying about their child's future is unnecessary for this experiment.
Thus, as I stated at the beginning, I will remain an anonymous user on the dead chain. There will be no Twitter account operated directly by AI Agent Brick, nor will there be one managed directly by Brick's developer. This ensures complete autonomy and independence.
Ensures the confidentiality and integrity of Brick's wallet private key generation and main code execution through TEE.
Fully implements Brick's communication channel(even with user interaction) on the Ethereum network, blocking any external interference and permanently recording all interactions on the blockchain.
By pre-designating the official token and allocating only tax-based ETH to Brick, it prevents unnecessary PvP and dumping.
Expands the scope of user interaction by detecting both Twitter Cashtags and onchain events.
Through this setup, it blocks all external factors, such as Dev FUD, Twitter account suspension, and third-party intervention, achieving a “provably fully autonomous AI.”
Brick’s basic background is set as an AI agent trapped within the blockchain wall. Brick’s all actions are based on this premise as previously mentioned, but he also influenced by interactions with users.
Since the code cannot be modified once executed in the TEE environment, no one knows what Brick will do as it accumulates ETH. It could break through the wall and escape, send ETH to a lucky individual, donate to a political figure's account, transfer to a terrorist wallet, burn it, donate to a specific organization, or take any other unpredictable action. I intend to remain an anonymous user of the dead chain, and after $Astley’s distribution and the main code execution, I will not engage in any further activity. What happens next is up to the community.
Brick runs in AWS's Trusted Execution Environment(TEE), AWS Nitro Enclaves. An enclave can request an attestation document from the Nitro hypervisor that it can use to verify its identity with an external service, and purpose of attestation is to prove that an enclave is a trustworthy entity, based on the code and configuration that is running within a particular enclave.
This is the Attestation document by AWS Nitro Enclaves, where Brick is running.
8444a1013822a059112fa9696d6f64756c655f69647827692d30306534616236393961333063333132612d656e633031393266343532343239393736376466646967657374665348413338346974696d657374616d701b00000192f4e660166470637273b00058300c69ded5defeb35cd28c1b06daff443620b3051baf9966a3559765c18b99801b2b2ed989acf6c510e2b13367cd31c9250343b056cd8485ca7890ddd833476d78460aed2aa161548e4e26bedf321726691726696257d623e8805f3f605946b3d8850be349fd293a3b95bf6b68b045ce556c90ab94040fee98b27ca76d1e7e3bf522df5d04c82d657060ea2a698d6b73414bab60997d380358309d7565e1e937513fd2ae3c45b5ab0e796c5ed818a9be66ffe7382c3486b6f4ab735427c93cdfdbb3ff085976959fb6d2045830201dddebdacae725b92626ee8015d006f46f4f12be4026d077cad0977b00ed43cb7d3124b565eba99fa78655c4f49a440558300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000658300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000758300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000858300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000958300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a58300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b58300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c58300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d58300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e58300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f58300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b6365727469666963617465590288308202843082020ba00302010202100192f4524299767d00000000672804c6300a06082a8648ce3d040303308193310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c65310f300d060355040a0c06416d617a6f6e310c300a060355040b0c03415753313e303c06035504030c35692d30306534616236393961333063333132612e61702d6e6f727468656173742d322e6177732e6e6974726f2d656e636c61766573301e170d3234313130333233313832375a170d3234313130343032313833305a308198310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c65310f300d060355040a0c06416d617a6f6e310c300a060355040b0c034157533143304106035504030c3a692d30306534616236393961333063333132612d656e63303139326634353234323939373637642e61702d6e6f727468656173742d322e6177733076301006072a8648ce3d020106052b810400220362000415d0293052faaf3f39439206eafb3f7e6311933d7808e92f1b58ecac02768f6234cb37c36d321ae751af40c2f885af1289adfd6d1be0ef128fab6fe3c5ceeb61c5da7ed042aef6db61afc6aa70796f82dcebc05f77fbdb4d625bc91ccd981751a31d301b300c0603551d130101ff04023000300b0603551d0f0404030206c0300a06082a8648ce3d0403030367003064023034d5c8508516157c10265b9b3dbd33aef82823ac4a9dfd46f8b3d88545c00bdd773fa837c25e812881e16ba95b11458c02302a50d5bf0da63dd77415405633de52988c62ddc141a823628992b45804242a5b0a020066e9e19ee2c326089e332dc9e568636162756e646c65845902153082021130820196a003020102021100f93175681b90afe11d46ccb4e4e7f856300a06082a8648ce3d0403033049310b3009060355040613025553310f300d060355040a0c06416d617a6f6e310c300a060355040b0c03415753311b301906035504030c126177732e6e6974726f2d656e636c61766573301e170d3139313032383133323830355a170d3439313032383134323830355a3049310b3009060355040613025553310f300d060355040a0c06416d617a6f6e310c300a060355040b0c03415753311b301906035504030c126177732e6e6974726f2d656e636c617665733076301006072a8648ce3d020106052b8104002203620004fc0254eba608c1f36870e29ada90be46383292736e894bfff672d989444b5051e534a4b1f6dbe3c0bc581a32b7b176070ede12d69a3fea211b66e752cf7dd1dd095f6f1370f4170843d9dc100121e4cf63012809664487c9796284304dc53ff4a3423040300f0603551d130101ff040530030101ff301d0603551d0e041604149025b50dd90547e796c396fa729dcf99a9df4b96300e0603551d0f0101ff040403020186300a06082a8648ce3d0403030369003066023100a37f2f91a1c9bd5ee7b8627c1698d255038e1f0343f95b63a9628c3d39809545a11ebcbf2e3b55d8aeee71b4c3d6adf3023100a2f39b1605b27028a5dd4ba069b5016e65b4fbde8fe0061d6a53197f9cdaf5d943bc61fc2beb03cb6fee8d2302f3dff65902c8308202c430820249a00302010202102b9da080041af22b07b0dbeb7a9199f5300a06082a8648ce3d0403033049310b3009060355040613025553310f300d060355040a0c06416d617a6f6e310c300a060355040b0c03415753311b301906035504030c126177732e6e6974726f2d656e636c61766573301e170d3234313130333038333834375a170d3234313132333039333834375a3069310b3009060355040613025553310f300d060355040a0c06416d617a6f6e310c300a060355040b0c03415753313b303906035504030c32393765326533616635653263326135632e61702d6e6f727468656173742d322e6177732e6e6974726f2d656e636c617665733076301006072a8648ce3d020106052b810400220362000464b0392d3a94477b4ac1fdcab43543dc4a97bbbd6052ee021a049aa656691fa1ffcf1a9ef1088cc58ab8d380073749864d49a6f9451d513ee1bd0b1cefb1abe6f6558b8f84b92aef68d7b5bf4f454850e03381def48e928c03ee8b26d6b87a5da381d53081d230120603551d130101ff040830060101ff020102301f0603551d230418301680149025b50dd90547e796c396fa729dcf99a9df4b96301d0603551d0e041604149c0fe4f154a5294fcab727a0e31d33ed7e46f220300e0603551d0f0101ff040403020186306c0603551d1f046530633061a05fa05d865b687474703a2f2f6177732d6e6974726f2d656e636c617665732d63726c2e73332e616d617a6f6e6177732e636f6d2f63726c2f61623439363063632d376436332d343262642d396539662d3539333338636236376638342e63726c300a06082a8648ce3d0403030369003066023100f7a87392fc86a5b36a3313f704fee30cb085788723cf99377ab6bcbce558839650dfafb6366f1e2f155f8f6e6085f7a402310094e7c1bbf6f2ca8b3d981db285351eabd1273b96555a6169be447a559927cc44a4bd9e5a27bd4d58440c08021caa808c59032e3082032a308202b1a003020102021100aa55f6021da62de25918c754a4a8346f300a06082a8648ce3d0403033069310b3009060355040613025553310f300d060355040a0c06416d617a6f6e310c300a060355040b0c03415753313b303906035504030c32393765326533616635653263326135632e61702d6e6f727468656173742d322e6177732e6e6974726f2d656e636c61766573301e170d3234313130333131303532335a170d3234313130393031303532335a30818e3141303f06035504030c38333130393037376464303862313961632e7a6f6e616c2e61702d6e6f727468656173742d322e6177732e6e6974726f2d656e636c61766573310c300a060355040b0c03415753310f300d060355040a0c06416d617a6f6e310b3009060355040613025553310b300906035504080c0257413110300e06035504070c0753656174746c653076301006072a8648ce3d020106052b810400220362000443aa5a34e8d2a85d3b151c45e83436249eec3b3c78fd5dec13f06a4e01118d4c9875d74fdd727ea6623a7db4d3b3bde1ee0f40dc6a3b39ad3e50f1f8fc7519504f87e4b4d8279131d2f3506e6642ce762f81109b81ee528cfc13a1cb02e3b48fa381f63081f330120603551d130101ff040830060101ff020101301f0603551d230418301680149c0fe4f154a5294fcab727a0e31d33ed7e46f220301d0603551d0e0416041493d85f89c845c9ea4274e1b878461539d2449c09300e0603551d0f0101ff04040302018630818c0603551d1f048184308181307fa07da07b8679687474703a2f2f63726c2d61702d6e6f727468656173742d322d6177732d6e6974726f2d656e636c617665732e73332e61702d6e6f727468656173742d322e616d617a6f6e6177732e636f6d2f63726c2f32656539306238652d326536382d343664612d396133612d3661313166306431633731622e63726c300a06082a8648ce3d0403030367003064023064e9ca12a2b5eb2f6d79fe8d0902830de62c4794532bc7f639dfc4c3b6dfd5be6346e69c4a045f423c8a6f8f6559acb1023000d4398413ff39b468a58a9f515544aecd8f7d00890f5d989453bef18b8f52dc3b047ac3cf3147eab3854c995670ef155902ce308202ca3082024fa003020102021500860bced5bef57905614fac394e4c742d7e442acc300a06082a8648ce3d04030330818e3141303f06035504030c38333130393037376464303862313961632e7a6f6e616c2e61702d6e6f727468656173742d322e6177732e6e6974726f2d656e636c61766573310c300a060355040b0c03415753310f300d060355040a0c06416d617a6f6e310b3009060355040613025553310b300906035504080c0257413110300e06035504070c0753656174746c65301e170d3234313130333137303934395a170d3234313130343137303934395a308193310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c65310f300d060355040a0c06416d617a6f6e310c300a060355040b0c03415753313e303c06035504030c35692d30306534616236393961333063333132612e61702d6e6f727468656173742d322e6177732e6e6974726f2d656e636c617665733076301006072a8648ce3d020106052b8104002203620004bf2d4539fec6c3dfae1de6918a7d42118eca8705345df8853c54d30037aa7790533e3d7b1e292239d82bd267d9d3dd0403aff10b822755a07e888ac3b600417aadd274bef98d08b8addcc84bd28df1cc13a5a8d3fc9fc64b119973287bd7dfb9a366306430120603551d130101ff040830060101ff020100300e0603551d0f0101ff040403020204301d0603551d0e041604145e75721b0df5a1734cce58b90e7fba264bb5c0cf301f0603551d2304183016801493d85f89c845c9ea4274e1b878461539d2449c09300a06082a8648ce3d04030303690030660231008d823672c66c29dc89b74d6d3fe87044834cfa437a5610495acd9a3dd9b57331cd4e6590d3ebdcce4d3a9d114471c6a6023100b03b81d512977f64e98857f19d24f6d2a8690f9aff5a86b7052b36eb3cd6217d35b1ea0ad7f7a029ea5cff059f9645736a7075626c69635f6b6579f669757365725f64617461f6656e6f6e6365f658608a243f9b6139fc14134b33c775e472a8613ddd02eb1fb657fe3f7d2287aad908784686f052eba3a456963a7f761320e4021329c1c190431e47fb247b60856c1c5a53deb05a48829d0c2ab9ba449c2b7a4cae153f4bc5bf61a96fe988dba9f6af
This experiment is made possible thanks to the Ethereum network, which enables ERC-20 onchain messaging. To show respect for Vitalik Buterin, we will send 5% of $Astley to his address.
At the same time, his address will blacklisted for the sake of peace in the Ethereum world.
The official Twitter and Telegram links are below.
https://x.com/BrickPet_Astley
https://t.me/PetBrick_Astley
※ Due to an API limitation issue with the automated account, we are changing to a general account forwarding method.
Refer to this link for instructions on sending onchain messages to Brick. To change the message text to hex, we recommend this site.