BLOCKCHAIN – DECENTRALIZED
Sau một số bài về crypto được các anh chị đăng trong group, mình nhận thấy có một số anh em muốn hiểu rõ code của blockchain, của bitcoin, điều này có hơi vô lý vì group 40 ngàn thành viên trên 80%-95% xuất thân là dân business chứ không phải dân technical. Nó giống việc các anh em nhờ cty thiết kế web làm cho cái website kinh doanh nhưng lại đòi có người giảng giải cho code PHP, database MySQL, Javascript…
Tuy nhiên để thõa lòng mong muốn cũng như tránh cái nhìn thiên lệch về một nền tảng công nghệ được gọi là The Next Generation, mình mạng phép viết một chút kiến thức về blockchain mà mình đã học được trong thời gian qua ở mức cơm bình dân cho dễ hiểu với tất cả mọi người. Đây là nền tảng khó chứ không hề đơn giản, mình cũng chỉ mới nắm được phần vỏ nên không tránh được sai sót, tuy nhiên mình sẽ để lại những keyword để anh chị em muốn tìm hiểu sâu hơn, chính xác hơn bằng Google.
LỊCH SỬ HÌNH THÀNH
Khái niệm chain of block ra đời từ năm 1991, nhưng vào thời điểm đó triển khai mô hình này là bất khả thi vì như ngay tại nước Mỹ, số lượng PC vào thời điểm đó rất là ít ỏi. Chủ yếu chỉ có các công ty.
Vào khoảng cuối năm 2008 khi mà anh chị em chúng ta đều biết là có cuộc khủng hoảng kinh tế trầm trọng, anh em làm trong ngành phần mềm outsourcing chắc hiểu rõ hậu quả nhất, ảnh hưởng của nó đến tận bàn làm việc của từng người. Nhân vật bí ẩn Satoshi Nakamoto tung lên mạng một bài mô tả về blockchain và đầu năm 2009 cho ra đời ứng dụng đầu tiên của nó – Bitcoin, nhằm chứng minh rằng blockchain có thể làm được việc gì.
Vì lúc này, nhà nhà có PC, người người có laptop. Là thời điểm tốt để triển khai mô hình Decentralized.
CENTRALIZED LÀ GÌ?
Trước khi hiểu Decentralized là gì, chúng ta cần điểm sơ qua về Centralized, mô hình mà chúng ta đã và đang sống với nó.
Centralized đúng như ý nghĩa của nó là quyền lực tập trung vào một nơi. Dạng client-server. Ví như Google và FB dù có phân tán server khắp thế giới (Distributed), lưu trữ trên Cloud (điện toán đám mây) thì một khi 2 cty này hủy bỏ một dịch vụ hay giải tán cty thì coi như mất hết mọi thứ của người dùng.
Nếu chúng ta đem 10 tỷ nộp vào một ngân hàng và sau đó dùng internet banking để xem thì chúng ta thấy con số 10 tỷ trong tài khoản. Nên nhớ đây chỉ là con số do ngân hàng cấp, nắm tiền trong tay lúc này là ngân hàng, không phải chúng ta.
Khi chúng ta chuyển 10 tỷ đó cho một tài khoản khác, chỉ đơn giản là ngân hàng dời con số này qua cho tài khoản nhận (nếu cùng ngân hàng), hoặc dời tiền qua ngân hàng khác (nhưng người nhận cũng chỉ là nhận con số).
Chuyện sẽ không có vấn đề gì nếu ngân hàng làm ăn tốt, nhưng nếu giả sử ngân hàng bị phá sản thì số 10 tỷ đó sẽ mất (cùng lắm chúng ta nhận lại được 75 triệu hoặc không có gì cả – đâu ai biết thật sự có đền bù được hay không). Hoặc hacker tấn công vào toàn bộ server của ngân hàng (như việc sân bay TSN đã bị hacker tấn công làm tê liệt hệ thống vào năm 2017).
DECENTRALIZED LÀ GÌ?
Decentralized ngược lại với các vấn đề trên của Centralized, sử dụng mạng ngang hàng (P2P), quyền lực lúc này dân chủ, những người tham gia trong node có quyền lực như nhau (mining/miner/validator), được chia sẻ phần thưởng theo lý thuyết trò chơi (Game of Theory), hành sử theo một tập luật được quy định sẵn (fixed set of rules), đồng thuận (consensus).
Giả sử có một loại coin A nào đó được nắm giữ và giao dịch bởi 500.000 người, trong đó có 100.000 máy đào rãi rác khắp toàn cầu thì lúc này mỗi người có một ví chứa A (A wallet) riêng, đi cùng với 1 private key và địa chỉ ví (wallet address). Tự mình quản lý và bảo mật, như nắm tiền mặt trong túi, chuyện làm mất là do lỗi cá nhân.
Khi muốn chuyển tiền cho người khác thì chỉ việc và ví cá nhân, nhập địa chỉ ví của người nhận vào (received wallet address) và send đi. Lúc này người chuyển và người nhận có thể dễ dàng nhìn vào transaction id (TxId) là biết số coin mình đã được chuyển hay chưa, đã qua các bước confirm hay chưa. Lúc này hệ thống máy đào sẽ chịu trách nhiệm việc confirm các giao dịch bằng thuật toán blockchain.
Quá trình này do hệ thống mining làm hoàn toàn tự động, không ai có thể can thiệp vào, kể cả trong trường hợp tại thời điểm nào đó 100.000 máy chỉ còn đúng 2 máy online làm việc thì giao dịch vẫn hoàn thành. Đương nhiên việc này càng khó xảy ra vì 100.000 máy đào rãi rác khắp toàn cầu, không ai chịu sự quản lý của ai, không có lý do nào cùng lúc tắt máy hoặc bị hack cùng một lúc.
Tính bảo mật cũng chính là điểm này, giả sử blockchain A tạo ra coin A bị hacker tấn công vào 1 máy nào đó và sửa đổi (việc này làm được nhưng cực khó và tốn nhiều chi phí về điện), ngay lập tức toàn bộ hệ thống 99.999 máy còn lại nhận ra sai, bằng chứng sự giả mạo (tamper-proof) và lập tức bác bỏ sửa đổi này. Đồng bộ hóa lại dữ liệu. Công trình hack xem như đổ sông đổ biển. Trừ khi hacker có thể tấn công 51% hệ thống máy đào cũng 1 lúc, cùng 1 thời điểm. Trong ví dụ coin A này, hacker phải sửa đổi cùng lúc trên 51.000 máy đào rải rác khắp thế giới (trừ khi 51.000 máy này tập trung vào 1 chổ, chuyện này chỉ xảy ra đối với mô hình Centralized như đề cập bên trên). Lý do blockchain không bị hack là bởi đặc tính này.
Như vậy có thể thấy nắm giữ và giao dịch crypto currency không khác gì tiền mặt trao tay. Hoàn toàn loại bỏ hệ thống ngân hàng ra khỏi cuộc chơi. Chỉ có 2 người trong cuộc gửi và nhận mới biết địa chỉ ví đó là của ai, người ngoài có thể truy xuất giao dịch nhưng không biết ai là ai. Như ví dụ TxId sau đây:
From: a0dc65ffca799873cbea0ac274015b9526505daaaed385155425f7337704883e
To: cbae093a5d04ee638b4b5735259a5ecc4021cee210ee842eaa6e79755cf1cf12
Bất kỳ ai cũng có thể xem được giao dịch này, truy xuất được các giao dịch trước đây của 2 địa chỉ ví này (minh bạch) nhưng không hề biết ví này thuộc về ai (ẩn danh).
Tiền nằm trong ví của bạn thì bạn có thể truy suất được từ bất kỳ đâu trên thế giới, nếu bạn dùng ví online/offline và biết cách tạo và nắm giữ private key thì dù cho dịch vụ ví bạn đang dùng nó có sập (hoặc thiết bị của bạn bị mất, hư) thì tiền bạn cũng không mất. Bạn sử dụng một dịch vụ khác/mua thiết bị khác và dùng private key đi thẳng vào tài khoản của bạn. Tiền nằm trong hệ thống blockchain network, nó không mất đi, chỉ là rất nhiều người bị mất private key nên mãi mãi không truy suất được nữa.
BLOCKCHAIN LÀ GÌ?
Không khó để Google là thấy định nghĩa blockchain là cuốn sổ cái điện tử (ledger). Ở phương diện này mình không giải thích vì đã có nhiều nguồn. Mà sẽ nói vấn đề sâu hơn tí về nền tảng công nghệ của nó.
Blockchain là sự kết hợp 3 nền tảng có sẵn từ lâu:
01. Ngành mật mã học (Cryptography).
Đây là ngành có từ thời cổ đại cho đến tận thời hiện đại, khi con người cần mã hóa những thông tin để truyền đi mà không bị bên thứ ba bắt được và đọc được. Nếu bạn nào còn tò mò muốn biết thì tìm hiểu mã hóa đối xứng (Symmetric), mã hóa bất đối xứng (Asymmetric) và hàm băm (Hash function), số nonce và extra nonce.
Các blockchain hiện nay sử dụng thuật toán mã hóa SHA256 (thuật toán này do NSA – cơ quan an ninh nội địa Mỹ – National Security Agency tạo ra).
Ví dụ toàn bộ bài viết trước của mình cho group tại đây có 2779 ký tựhttps://www.facebook.com/groups/QuanTrivaKhoiNghiep/permalink/2069753356577035 sau khi được mã hóa bằng SHA256 thì chỉ còn đoạn mã ngắn 6a1ff8769a4ce6d0096cacf870d14c1c87c3473139919d3cbf07ac80b1d02a84 chỉ với 64 ký tự.
Và chỉ cần một chút sửa đổi nhỏ là xóa dấu chấm dòng cuối cùng. Kết quả đoạn mã sẽ hoàn toàn khác biệt cedf33e4f98e52efade7a4b16bbaee257ef9946e7dfcd9c4b0868f6044146825 và đây chính là tamper-proof (bằng chứng về sự giả mạo).
Kể cả nội dung có lên đến hàng GB thì mã hóa vẫn chỉ còn 64 ký tự mà thôi. Đó là lý do vì sao mà mỗi node có 1 bản copy của Ledger của Bitcoin blockchain nhưng vẫn không lo bị tràn dung lượng sau 10 năm tồn tại.
02. Mạng ngang hàng thuần (Purely P2P network).
Ai chuyên download phim từ BitTorrentchắc hiểu P2P là gì.
Các node trong network vừa là client vừa là server và có một bản copy của Ledger (Shared Ledger).
03. Lý thuyết trò chơi (Game of Theory).
Đây là lĩnh vực tất cả mọi người nên tìm hiểu, vì nó ứng dụng trong rất nhiều lĩnh vực từ kinh doanh cho đến chính trị. Đã có vài cuốn được xuất bản trong nước.
Các node trong P2P network sẽ xác thực các giao dịch theo sự đồng thuận (consensus) và theo 1 trong 2 loại cơ chế khuyến khích kinh tế của lý tuyết trò chơi, PoW (proof-of-work) hoặc PoS (proof-of-stake). Làm đúng được thưởng, làm sai bị phạt.
BLOCKCHAIN LÀM ĐƯỢC GÌ?
Đừng lầm tưởng blockchain chỉ là tạo ra coin/token. Blockchain là công nghệ thay đổi thế giới. Vì sao?
01. Đăng ký quyền sở hữu
– Quản lý thẻ căn cước (National ID), Passport.
– Bằng cấp chứng chỉ.
– Quyền tác giả (sách, bài hát…)
– Chủ quyền bất động sản.
– Giấy đăng ký kết hôn.
– Chủ quyền loại tài sản nào đó (xe).
Ví dụ một trường đại học cấp bằng và dùng mã blockchain để quản lý thì không ai có thể giả mạo bằng cấp được nữa, chỉ cần show đoạn mã truy suất xem người đó có bằng cấp đó do trường đó cấp là được. Bất kỳ ai có đoạn mã đều có thể kiểm tra được thật giả.
02. Chuyển quyền sở hữu
– Hệ thống thanh toán (payment).
– Truy suất nguồn gốc nông sản (Provenance).
– Quản lý chuỗi cung ứng (supply chain).
03. Smart contract.
Với blockchain ethereum, smart contract ra đời và ràng buộc giữa 2 bên khi giao dịch với nhau (tùy theo được code như thế nào, có quy định rõ ràng trách nhiệm các bên hay không). Smart contract một khi được đưa lên blockchain network là không thể sửa đổi được nữa.
Ví dụ A mua xe từ B. B sẽ gởi mã chuyển chủ quyền xe cũng như mã kích hoạt xe, địa điểm để xe vào smart contract. A chuyển đúng số tiền thỏa thuận vào smart contract. Khi các node blockchain confirm giao dịch là đúng. Smart contract sẽ chuyển tiền vào ví cho B, A sẽ nhận được các thông tin chuyển quyền sở hữu xe, mã kích hoạt xe, địa điểm lấy xe. Lúc nãy blockchain đã ghi nhận A là chủ mới của chiếc xe.
Toàn bộ giao dịch hoàn toàn không cần đến bên môi giới bán xe làm trung gian, cơ quan làm công chứng giấy tờ xe, ngân hàng… Nếu giao dịch không đúng, sẽ không confirm và smart contract nhả lại tiền về A, xe về B.
Như vậy đối với những ngành xuất nhập khẩu, smart contract hoàn toàn loại bỏ quy trình mở L/C và tuyệt đối an toàn. Người xuất không cần lo người nhập quịt tiền, người nhập cũng không cần sợ tiền trao mà cháo không múc.
Ứng dụng vào mua bán online, khi người mua chuyển tiền vào smart contract, nếu giao dịch được hoàn thành thì tiền sẽ chuyển cho người bán, nếu không sẽ hủy giao dịch, chuyển lại cho người mua.
Nguồn: Ngoc Le
Very well-explained, now I understand fully about blockchain, cryptocurrency, and all