in Technology

มายาคติแห่ง Decentralization

ภาพประกอบจาก Vint Cerf บิดาแห่งอินเทอร์เน็ต

เมื่อต้นๆ เดือนมกราคม อ่านบทความ My first impressions of web3 ของ Moxie Marlinspike อดีตซีอีโอของ Signal (เพิ่งลงจากตำแหน่งหมาดๆ) ที่เป็นโด่งดังในวงการไอทีของต่างประเทศ แล้วได้แง่คิดหลายอย่างในเรื่อง Decentralization เลยมาจดเก็บเอาไว้หน่อย

ประเด็นสำคัญในบทความ

นิยามของ web3 เองก็ไม่เคลียร์ว่าคืออะไร

the general thesis seems to be that web1 was decentralized, web2 centralized everything into platforms, and that web3 will decentralize everything again. web3 should give us the richness of web2, but decentralized.

คนทั่วไปไม่ต้องการรันเซิร์ฟเวอร์เอง

People don’t want to run their own servers, and never will

อันนี้คิดว่าเป็นไอเดียสำคัญที่สุดของบทความนี้ นั่นคือ decentralization ตามแนวคิดของ web3 ในปัจจุบัน มองว่า “node” คือเซิร์ฟเวอร์ (ของใครก็ได้ ไม่จำเป็นต้องเป็นเครื่องของบริษัทใหญ่)

Moxie เทียบแนวคิดของ web3 กับ web1 นั่นคือทุกคนในอินเทอร์เน็ตยุคแรกเป็นเจ้าของเซิร์ฟเวอร์เอง (เส้นแบ่งระหว่างไคลเอนต์กับเซิร์ฟเวอร์ยังไม่ชัด ปริมาณโหลดมีไม่เยอะมาก) ตัวอย่างที่ชัดเจนในกรณี web1 คือเรารันเมลเซิร์ฟเวอร์เอง

แนวคิดนี้เป็นสิ่งที่พบว่าไม่เวิร์คในยุคถัดมา เพราะมันสิ้นเปลืองภาระในการดูแลเซิร์ฟเวอร์มาก ทุกวันนี้ไม่มีใครอยากเป็นเจ้าของเซิร์ฟเวอร์ เช่าคลาวด์พร้อมคนดูแลให้ง่ายกว่า

We’d all have our own web server with our own web site, our own mail server for our own email, our own finger server for our own status messages, our own chargen server for our own character generation. However – and I don’t think this can be emphasized enough – that is not what people want. People do not want to run their own servers.

Moxie เสนอมุมมองว่า โลก decentralization สนใจแค่การกระจาย node แต่ไม่สนใจชนิดของ node ในนั้น

สุดท้ายแล้ว node ในโลกนี้คือเซิร์ฟเวอร์ ถ้าเป็นคนทั่วไปที่มีแต่พีซีหรือสมาร์ทโฟน ก็ไม่ได้เข้าร่วมในเชนได้แต่อย่างใด (กรณีเทียบเคียงคือ Bittorrent ถูกสร้างขึ้นเพื่อใช้พีซีเป็น node และรันในมือถือได้ แม้อาจไม่ practical มากนัก)

the cryptocurrency world is the lack of attention to the client/server interface. When people talk about blockchains, they talk about distributed trust, leaderless consensus, and all the mechanics of how that works, but often gloss over the reality that clients ultimately can’t participate in those mechanics.

All the network diagrams are of servers, the trust model is between servers, everything is about servers. Blockchains are designed to be a network of peers, but not designed such that it’s really possible for your mobile device or your browser to be one of those peers.

Decentralization ทำให้ Protocol พัฒนาช้า

ตัวอย่างกรณีของอีเมลยุค web1 เป็นสิ่งที่ชัดเจนมาก เมื่ออีเมลเซิร์ฟเวอร์เป็นแบบ decentralization ไม่มีใครมาควบคุมมันได้ (51% attack) แต่ในทางกลับกัน ก็ไม่มีใครไปผลักดันให้เกิดความเปลี่ยนแปลงในทางบวกได้โดยง่าย (ประเด็นนี้ไม่มีคนพูดถึงกันเยอะนักในหมู่ศาสนา decentralization)

ในทางตรงข้าม พอเป็น centralization เราจึงเห็นการผลักดันฟีเจอร์ใหม่ๆ ได้ง่ายขึ้นมาก

If something is truly decentralized, it becomes very difficult to change, and often remains stuck in time.

After 30+ years, email is still unencrypted; meanwhile WhatsApp went from unencrypted to full e2ee in a year. People are still trying to standardize sharing a video reliably over IRC; meanwhile, Slack lets you create custom reaction emoji based on your face.

ตัวอย่างที่ Moxie ไม่ได้พูดถึง แต่ผมนึกถึงตอนอ่านบทความคือ Skype ต้องเปลี่ยนสถาปัตยกรรมจาก P2P มาเป็น centralized เพื่อตอบรับกับบริบทที่เปลี่ยนไปในยุค mobile และสถาปัตยกรรม P2P เป็นเหตุผลข้อหนึ่งที่ทำให้ Skype ปรับตัวไม่ทัน ตกยุค จนแทบไม่มีใครพูดถึงแล้วในยุคสมัยนี้

Decentralized ไม่สุด เพราะยังมีส่วนที่ Centralized อยู่มาก

เวลาชาวบล็อกเชนพูดถึงคำว่า Decentralization มักชวนให้เข้าใจว่าเป็นการ Decentralization 100% โดยไม่ต้องพึ่งพาตัวกลาง

แต่ในความเป็นจริง มีแต่ตัวเชนเท่านั้นที่ใช้สถาปัตยกรรมแบบกระจายศูนย์อย่างแท้จริง การทำงานส่วนอื่นๆ ที่เชื่อมต่อระหว่างผู้ใช้กับเชน กลับเป็น centralization ธรรมดาๆ

The “distributedness” refers to where the state and the logic/permissions for updating the state lives: on the blockchain instead of in a “centralized” database.

ต่อจากประเด็นเรื่อง node = เซิร์ฟเวอร์ ข้างต้น พอสถาปัตยกรรมของบล็อกเชนไม่ได้สนใจเรื่อง client/server (มองทุกอย่างเป็นเซิร์ฟเวอร์) ทำให้ client ต้องหาวิธีเชื่อมต่อกับ server เอาเอง ซึ่ง dApps ส่วนใหญ่เลือกใช้ Infura หรือ Alchemy (ทั้งคู่เป็น API เข้าไปสั่งบล็อกเชนอีกที เป็นบริการแบบ SaaS ของบริษัท ที่รันอยู่บนเซิร์ฟเวอร์แบบดั้งเดิม และมี pricing tier โดยมี free tier ที่จำกัดจำนวนการเรียก API)

Imagine if every time you interacted with a website in Chrome, your request first went to Google before being routed to the destination and back. That’s the situation with ethereum today. All write traffic is obviously already public on the blockchain, but these companies also have visibility into almost all read requests from almost all users in almost all dApps.

Moxie สรุปว่า วงการ web3 พูดถึง decentralization แต่เมื่อโลกมันออกแบบมาไม่สมบูรณ์ สุดท้ายก็ต้องหมุนตามแพลตฟอร์ม (ใหญ่) อยู่ดี แค่เปลี่ยนชื่อแพลตฟอร์มเท่านั้นเอง

the space is consolidating around… platforms. Again. People who will run servers for you, and iterate on the new functionality that emerges. Infura, OpenSea, Coinbase, Etherscan.

Off-chain NFT

เรื่องนี้ถกเถียงกันมานานแล้วในโลก NFT เพราะตัว NFT เป็นการยืนยันสิทธิความเป็นเจ้าของว่าไม่ถูกแก้ไขเท่านั้น ไม่ได้แปลว่าตัวไฟล์ภาพ (resource) จะถูกแก้ไขไปด้วย เหตุเพราะภาพไม่ได้อยู่บนเชน (on-chain) ด้วยเหตุผลว่ามันเปลืองที่เก็บ

เมื่อตัวไฟล์ภาพไม่ได้อยู่บนเชน สิ่งที่อยู่บนเชนมีแต่ URL ที่ชี้ไปยังไฟล์ภาพ (ซึ่งเป็น HTTP request แบบดั้งเดิม) เราจึงสามารถควบคุมการแสดงผลของภาพได้ หากเราเป็นเจ้าของเซิร์ฟเวอร์ที่ฝากไฟล์ภาพนั้น

การทดลองของ Moxie คือ ใช้ URL เดิม เปลี่ยนภาพไปเรื่อยๆ ขึ้นกับว่าไคลเอนต์ที่ขอเป็นใคร สิ่งที่เขาทำคือภายใต้เงื่อนไขบางอย่าง เขาแสดงไฟล์ภาพเป็น 💩 เพื่อต้องการโชว์ว่า ภาพ NFT ราคาแพงๆ สามารถเปลี่ยนเป็นขี้ได้ง่ายๆ เลย

การทดลองของ Moxie ยังตอกย้ำประเด็นเรื่อง decentralization ไม่จริง เพราะภายหลัง OpenSea ซึ่งเป็นแพลตฟอร์มซื้อขาย NFT รายใหญ่ก็แบนภาพของเขาออก (ให้เหตุผลว่าผิดกฎบางอย่าง) สิ่งที่เกิดขึ้นคือ dApps และวอลเล็ตจำนวนมากที่ใช้ API ของ OpenSea ก็ไม่สามารถเข้าถึงภาพ NFT ของเขาได้ด้วย ยิ่งเป็นสิ่งบ่งชี้ว่ามัน decentralization ไม่จริง

we’re already at a place where your crypto wallet’s view of your NFTs is OpenSea’s view of your NFTs.

เหตุผลก็ย้อนกลับไปข้อแรกๆ ว่าการอยู่กับแพลตฟอร์มใหญ่นั้นพัฒนาฟีเจอร์ได้เร็วกว่า โดยเขายกกรณีเปรียบเทียบการรันเมลเซิร์ฟเวอร์เอง กับการใช้ Gmail

I think this is very similar to the situation with email. I can run my own mail server, but it doesn’t functionally matter for privacy, censorship resistance, or control – because GMail is going to be on the other end of every email that I send or receive anyway.

โลกใหม่ที่ชาว decentralization ฝันถึง แท้จริงแล้วคือเอาของแย่ที่สุดจากสองยุคมารวมกัน

Once a distributed ecosystem centralizes around a platform for convenience, it becomes the worst of both worlds: centralized control, but still distributed enough to become mired in time

ข้อถกเถียงสำคัญของชาว web3 คือ “มันเพิ่งเริ่มต้นเอง” (It’s early days still) ซึ่งก็หาข้อสรุปยากว่าจะพ้นช่วง early เมื่อไรกันแน่

ข้อสรุปของ Moxie คือจริงๆ แล้ว decentralization ไม่ได้เป็นประโยชน์จริงๆ กับผู้ใช้ส่วนใหญ่หรอก มันเป็นแค่เหตุผลของคนจำนวนหนึ่งเพื่อรองรับบางสิ่งที่อยากให้มี (ในที่นี้คือ token และมูลค่าของมัน) เท่านั้นเอง

decentralization itself is not actually of immediate practical or pressing importance to the majority of people downstream, that the only amount of decentralization people want is the minimum amount required for something to exist

ข้อเสนอที่น่าสนใจของ Moxie คือถ้าบริการอย่าง OpenSea เป็น centralization จะเป็นประโยชน์กับทุกคนมากกว่าด้วยซ้ำ ซื้อขายกันได้สะดวกกว่า รวดเร็วกว่า ถูกกว่า ไม่ต้องเสียค่าแก๊สด้วย

OpenSea would actually be much “better” in the immediate sense if all the web3 parts were gone. It would be faster, cheaper for everyone, and easier to use. For example, to accept a bid on my NFT, I would have had to pay over $80-$150+ just in ethereum transaction fees.

ปัญหาเรื่องความโปร่งใสของธุรกรรม (แบบที่อ้างๆ กัน) ก็ไม่จำเป็นต้องแก้ด้วยบล็อกเชน แต่แก้ด้วยการเปิดเผย transaction log ให้สาธารณะตรวจสอบ

OpenSea could even publish a simple transparency log if people wanted a public record of transactions, offers, bids, etc to verify their accounting.

อย่างไรก็ตาม เขาก็ยอมรับว่า ถ้า OpenSea ใช้เทคโนโลยีแบบที่ว่ามา โดยไม่มี buzzword คำว่าบล็อกเชนหรือ decentralization ก็คงไม่ดัง ไม่มีใครสนใจอยู่ดี

The people at the end of the line who are flipping NFTs do not fundamentally care about distributed trust models or payment mechanics, but they care about where the money is.

Eventually, all the web3 parts are gone, and you have a website for buying and selling JPEGS with your debit card.