Published
- 9 min read
Episode 3: MetaMask Can't Be Trusted
Living in a Zero-Trust Society: My Strange Daily Life Being Overwhelmed by a WEB3.0 Fundamentalist Engineer / Can’t Use DApps Without Running a Full Node!~
Note
This story is written with the assistance of generative AI for the purpose of making the Web3.0 world enjoyable to learn about. While we pay careful attention to the accuracy of technical information, we cannot guarantee that all content is completely accurate. Please use this as a supplementary learning tool and enjoy it with a relaxed mindset.
Characters
- I: A novice developer who recently transitioned from being a DTP operator to an engineer
- Mr. D: A Web3.0 fundamentalist in his mid-40s with extreme vigilance
Episode 3: “MetaMask Can’t Be Trusted”
Three days had passed since I received the encrypted message from Mr. D. After struggling with full node construction, I had finally completed the initial synchronization.
“Block height: 22,213,179… synchronization complete!”
As I made a small victory gesture at the message displayed on the screen, another message from Mr. D arrived.
I need to discuss wallet selection.
Tomorrow, 2 PM at a certain cafe in Akihabara.
At these coordinates.
Encryption key is the same as before.
What was attached were just latitude and longitude values. When I checked them on my phone’s map app, it was a small cafe in a back alley of Akihabara.
The next day, I visited the cafe at the specified time. The interior was dimly lit with only a few customers. I found Mr. D sitting at a table in the back and approached him.
“I’m not late, am I?”
Mr. D checked his wristwatch and nodded silently. In front of him were his usual laptop and an unfamiliar small device.
“Sit.”
As I took my seat, Mr. D first surveyed the interior of the cafe.
“Do you know why I chose this cafe?”
“Uh? Because it’s quiet?”
Mr. D snorted softly.
“That’s one reason, but the essence is different. This is an independently owned shop. Coffee is better from independent shops than centralized chain stores. Chain stores are all standardized to the same taste, losing diversity. It goes against the decentralization ideals of blockchain.”
He took a sip of coffee with a serious expression.
“Now, to the main topic. What kind of wallet are you using?”
“MetaMask. I use it for company projects too, and it’s easy to use…”
Before I could finish, Mr. D’s expression changed completely. He almost spit out his coffee and hurriedly covered his mouth.
“MetaMask?” he said in a voice that was low but clearly filled with disappointment. “Do you really understand Web3.0? Using MetaMask is like offering your private key to Google! It’s the same as a pig voluntarily entering a cage!”
“Is there some problem?”
“A problem?” Mr. D snorted. “Using a browser extension wallet means you’re trusting a centralized piece of software called a browser. If you’re using Chrome, that means you’re trusting Google.”
He took a sip of coffee and continued.
“Quiz time,” Mr. D suddenly straightened up. “If you were to explain the difference between hot wallets and cold wallets using temperature, what would you say?”
“Um… hot means it’s heated, so it’s always connected online, and cold means it’s cool, so it’s offline…”
“Exactly!” Mr. D unusually approved of my answer. “Hot wallets are constantly connected to the internet, so they’re always exposed to attack risks. Like frogs in a boiling pot. On the other hand, cold wallets are stored offline, so they’re theoretically more secure.”
He paused briefly and continued.
“Now, the next question. What is a private key?”
“A private key is… um, like a password for a wallet…”
Mr. D held his head in his hands.
“Absolutely not!” he said in a voice that was low but clearly irritated. “A private key is not a password! A private key is a mathematically generated unique value that pairs with a corresponding public key. Blockchain addresses are derived from public keys, and the private key is the only means to prove ownership of that address.”
He took a deep breath and regained his composure.
“Have you verified MetaMask’s source code? Have you built it yourself? Where’s the guarantee that the binary distributed as a Chrome extension matches the published source code?”
I was at a loss for words. Indeed, I had just downloaded and used MetaMask without thinking.
“But MetaMask is open source, right? Since many people use it, if there were problems…”
“Safe because ‘many people use it’?” Mr. D said incredulously. “Throughout history, there are countless examples of the masses being wrong. Moreover, being open source and having the distributed binary correctly built from that source are separate issues.”
Mr. D opened his laptop and showed me a terminal screen.
“I don’t use browser extensions like MetaMask at all. Instead, I use command-line tools that I’ve verified the source code for and built myself to manage transactions.”
The screen displayed a complex command-line interface.
“Is this… a custom wallet?”
“The word ‘wallet’ is misleading,” Mr. D said. “The essence of a wallet is ‘private key management’ and ‘transaction signing.’ Everything else is just additional functionality.”
He pointed to the small device on the table.
“This is my ‘wallet.’ My masterpiece!”
It was a small device with a camera and display. Looking closely, it had an odd design like a modified old game console, with handmade additional buttons attached to the sides. Circuit boards were exposed around the LCD screen, giving off an overall atmosphere of “suspicious gadget made in a secret hideout.”
“This is a custom air-gapped device. It’s never connected to the internet. It receives transaction data as QR codes, signs them with private keys, and outputs signed transactions as QR codes again.”
As if demonstrating, Mr. D scanned a QR code displayed on his laptop screen with the device. Transaction information appeared on the device’s screen, and when he pressed a confirmation button, a new QR code was generated.
“This QR code contains the signed transaction. I read this with an online PC and broadcast it to the network through my own full node.”
While impressed, I couldn’t hide my bewilderment at the complexity.
“That’s… quite a lot of work.”
“You shouldn’t spare ‘effort’ when it comes to security,” Mr. D said sternly. “As long as private keys exist on internet-connected devices, risk always exists.”
He paused briefly and continued.
“However, I don’t expect all humans to take this level of precaution. That’s why I recommend using hardware wallets as a minimum measure.”
“Like Ledger or Trezor?”
“Those aren’t completely trustworthy either,” Mr. D said. “It’s difficult to verify the contents of hardware yourself. But they’re at least safer than browser extensions.”
He pulled a small box from his backpack. Inside was a brand-new hardware wallet.
“Use this. This is more precious than my life.”
Mr. D handed me the box with a solemn expression. His weighty attitude made me involuntarily tense up.
“Are you sure it’s okay? Such an important thing…”
“No problem,” Mr. D said surprisingly lightly. “I have ten backup units.”
“What?”
“Redundancy is essential for security. The basic principle is not to create single points of failure.”
He said this as if it were obvious and continued.
“However, pay attention to the following points.”
Mr. D enumerated while raising his fingers.
“One, purchase only from official sites and verify that packaging isn’t damaged. Two, when setting up initially, write down the seed phrase on paper and never store it on digital devices. Three, store seed phrase backups distributed across multiple locations. Four, always verify addresses through multiple methods before large transactions.”
I nodded while taking notes.
“And most importantly, wallet segregation,” Mr. D said with a serious expression. “You should separate the wallet that manages your main assets from the wallet you routinely connect to DApps.”
“What do you mean?”
“Blockchain is too transparent,” Mr. D began explaining. “All transactions are public and permanently recorded. This poses a major risk from a privacy perspective.”
He drew a simple diagram on his laptop.
“For example, if you use a DEX with your main wallet, all your holdings and trading patterns become public. In the real world, this would be like posting your bank account balance and transaction history on street corners.”
The diagram showed multiple wallet addresses and arrows connecting them.
“I manage multiple wallets hierarchically. I store main assets in the top-level cold wallet, transferring only the minimum necessary funds to intermediate wallets. From there, I transfer only small amounts to disposable wallets for DApp connections.”
“Disposable…?”
“Yes. I never reuse wallet addresses once they’ve been used. This makes tracking behavioral patterns difficult.”
Mr. D’s explanation continued. He detailed methods for IP address concealment, browser fingerprint countermeasures, and even the use of mixing services like Tornado Cash.
“It might be difficult to practice all of this, but you should at least implement wallet hierarchization.”
While overwhelmed, I felt there was merit to Mr. D’s words.
“I understand. I’ll start by introducing a hardware wallet and implementing distributed asset management.”
Mr. D’s expression softened slightly.
“Good decision. A wallet is the key to your assets. Leaving its management to others is foolish.”
He finished his coffee and stood up.
“That’s all for today. Next time, let’s meet at my home.”
“Your home?”
“Yes. I’ll send the coordinates and visit time encrypted.”
Mr. D settled the bill and left the shop. I followed him.
Outside the shop, Mr. D pointed toward an old apartment building.
“I actually live over there. If you’re interested, I could show you around now.”
Driven by curiosity, I agreed.
Tech Tips
Hot Wallet vs Cold Wallet: Hot wallets are cryptocurrency wallets connected to the internet, making them convenient for frequent transactions but vulnerable to online attacks. Cold wallets are stored offline, providing better security for long-term storage but less convenience for daily use.
Private Key: A mathematically generated secret number that proves ownership of a blockchain address. Unlike passwords, private keys are cryptographically unique and cannot be reset if lost. Anyone with access to a private key has complete control over the associated cryptocurrency.
Air-Gapped Device: A computer or device that is physically isolated from unsecured networks, especially the internet. In cryptocurrency, air-gapped devices are used for maximum security when handling private keys and signing transactions.
Hardware Wallet: A physical device designed to securely store cryptocurrency private keys offline. Popular brands include Ledger and Trezor. While more secure than software wallets, they still require careful handling and verification of authenticity.
Next Episode Preview: “Episode 4: Mr. D’s Sanctuary”
Invited to Mr. D’s home, I’m shocked by the extreme thoroughness of his living space. In the “sanctuary” where multiple servers operate, Mr. D will impart his next teaching, but…
End of Episode 3