Blockchain là gì và tại sao nó lại ra đời cũng như tồn tại. Bên cạnh đó là lý do tại sao mình lại chọn gắn bó và cố chấp tìm hiểu công nghệ này nhiều đến vậy, mặc dù hiện tại nó vẫn chưa đem lại lợi ích kinh tế nào cho mình. Những vấn đề trên sẽ được đề cập và giải quyết trong bài viết này.
I. Tổng quan về blockchain
1.1. Khái niệm
Blockchain là từ ghép gồm 2 yếu tố block (khối) và chain (chuỗi) nên một số tài liệu được dịch thành là “chuỗi khối”, đây là mô hình trừu tượng của công nghệ này.

Vậy định nghĩa thế nào là blockchain? Hiện nay có nhiều định nghĩa khác nhau. Như Wikipedia định nghĩa như sau: “Blockchain (chuỗi khối), tên ban đầu block chain là một cơ sở dữ liệu phân cấp, lưu trữ thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và mở rộng theo thời gian. Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm một mã thời gian và dữ liệu giao dịch. Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu: Một khi dữ liệu đã được mạng lưới chấp nhận thì sẽ không có cách nào thay đổi được nó.” Và trong quá trình học tập, nghiên cứu sau này, mình vẫn xem đây là một định nghĩa chuẩn và dễ hiểu nhất. Sau này, thỉnh thoảng khi ai đó hỏi mình blockchain là gì thì mình thường giải thích theo 2 hướng như sau:
- Người làm về công nghệ và có hiểu biết về công nghệ: blockchain là một loại cơ sở dữ liệu phân tán, có tính năng chống sửa đổi dữ liệu và dữ liệu tồn tại vĩnh viễn.
- Người không làm về công nghệ: blockchain là công nghệ để tạo nên các tiền ảo như Bitcoin, Ethereum mà cái hay nhất của nó là tính không trung gian cũng như không bị thay đổi trái phép. Kiểu như mình có một cuốn sổ hóa đơn và không ai được phép sửa, sửa là sẽ phát hiện.
Thực ra khi bắt đầu tìm hiểu về blockchain thì thứ mình tiếp cận là Ethereum, chứ mình không tìm hiểu kỹ blockchain là cái gì, nó được định nghĩa ra sao. Mà chỉ là biết Ethereum là một sản phẩm có ứng dụng công nghệ blockchain, nó có thể làm được gì và từ đó hướng mục tiêu của mình tới phát triển một sản phẩm như vậy. Còn về khái niệm thì sau do làm nghiên cứu khoa học, đồ án cần phải có nên mới bổ sung vào sau.
1.2. Phân loại blockchain
Hiện tại mình nghĩ sẽ không nói về phân loại blockchain, vì muốn phân loại được thì phải hiểu về yếu tố kỹ thuật của nó. Vì đa số việc phân loại sẽ dựa vào đặc tính kỹ thuật của sản phẩm. Mình rất thích việc phân loại blockchain thành 4 loại như sau:
- Public – permissioned (công khai – phân quyền)
- Public – permissionless (công khai – không phân quyền)
- Private – permissioned (riêng tư – phân quyền)
- Private – permissionless (riêng tư – không phân quyền)

Có thể hiểu đơn giản công khai và riêng tư như mạng nội bộ và mạng internet nhà bạn vậy. Mạng nội bộ không phải ai cũng có thể tham gia vào, còn mạng internet thì ngược lại. Còn phân quyền và không phân quyền như quyền ghi vào cơ sở dữ liệu, có phân quyền là chỉ một số thành phần được chỉ định mới có quyền ghi, còn không phân quyền là các thành phần sau khi tham giao vào mạng là bình đẳng. Và hiển nhiên sự phân loại này chỉ là một trong nhiều cách phân loại khác nhau, có thể có những mô hình mạng sẽ không còn phù hợp với cách phân loại này.
1.3. Những yếu tố cấu thành nên blockchain
- Mạng: mô hình mạng blockchain là mô hình mạng phân tán, trong đó gồm các kỹ thuật như thuật toán đồng thuận, khả năng chịu lỗi hay cơ chế broadcast. Đấy là các từ khóa để tìm hiểu kỹ hơn về yếu tố này, vì kiến thức của mình về lĩnh vực này cũng không chuyên sâu.
- Mã hóa: trong blockchain, mà mình sẽ xét đến là bitcoin thì sẽ gồm 2 yếu tố mã hóa chính: hàm băm trong quá trình xác minh tính đúng đắn và toàn vẹn dữ liệu cũng như trong thuật toán đào tiền mã hóa, mã hóa đường cong Eclipse trong quá trình sinh ra địa chỉ (address) và khóa riêng tư (private key)
Như vậy, blockchain là một thứ kết hợp của nhiều thứ có sẵn chứ không thực sự là cái gì đó quá cao siêu như mọi người vẫn nghĩ. Nhưng cái nay của nó là kết hợp thứ có sẵn nhưng làm lại làm được điều cao siêu.
1.4. Những hiểu lầm
- Blockchain là Bitcoin, là tiền ảo. Đây là một trong những vấn đề mình vướng phải khi bắt đầu tìm hiểu về blockchain. Nhiều người nghe bảo học về blockchain cứ tưởng là mình học trade coin. Blockchain là công nghệ tạo ra tiền ảo, chính xác hơn nên gọi là tiền mã hóa. Tiền mã hóa chỉ là một trong những ứng dụng, sản phẩm của blockchain mà thôi.
- Blockchain vô dụng. Đây là một trong những định kiến làm người muốn học về blockchain không dám học. Thực ra không có thứ gì vô dụng mà lại tồn tại được giữa sự khắt nghiệt của việc đổi mới và phát triển như hiện nay, các ông lớn như IBM cũng không dại gì đốt tiền vào một thứ công nghệ vô dụng. Vô dụng, đúng là sẽ vô dụng nếu chúng ta không có cách tiếp cận và áp dụng blockchian vào sản phẩm hay bài toán phù hợp. Mà sai trong cách áp dụng thì không chỉ blockchain mà nhiều công nghệ khác cũng sẽ thành vẽ rắn thêm chân, lo bò trắng răng.
II. Mình và blockchain
2.1. Cơ duyên với blockchain
Năm học thứ 3 của mình, 2017-2018, mình được một bạn cực giỏi rủ vào một team cũng nhiều người giỏi để làm nghiên cứu khoa học chung với đề tài về xử lý ảnh bằng deep learning. Trong quá trình đó mình đảm nhiệm tìm và chạy thử các source code trên mạng do kỹ năng sử dụng Ubuntu của mình thuộc dạng tạm ổn, thêm nữa hồi đó máy mình là máy có card rời (GPU) tạm ổn nhất trong nhóm. Mình không đi sâu về mặt lý thuyết và lập trình cho sản phẩm lần đó. Bảo vệ phiên tiểu ban sản phẩm cũng bị vùi dập tả tơi nhưng kết quả cũng đáng khích lệ. Nhưng lúc đó mình mới nhận ra rằng, mảng này quá khó và quá sức với mình, mình đang là gánh nặng của team. Lợi thế khi được làm việc cùng một team xịn, với những người giỏi hơn mình đó là mình học được khá nhiều thứ nhưng đi kèm với đó là một áp lực không hề nhỏ về mặt tâm lý. Nên mình nghĩ mình phải tìm riêng cho mình một lối đi riêng.
Thực ra trước khi báo cáo nghiên cứu khoa học mình có nói chuyện với một chị đồng hương khóa trên, chị Ánh. Chị có đề cập vấn đề thầy Thanh đang muốn lập một nhóm nghiên cứ về món này. Và thế là mình xin tham gia, sau khi lên gặp thầy, dù lúc đó mình chưa học môn nào thầy dạy nhưng thầy vẫn rất nhiệt tình (Tháng 5/2018). Và thầy bảo tìm hiểu về Ethereum đi, đồng thời đưa ra một số vấn đề để tìm hiểu. Đến bây giờ, mình vẫn luôn biết ơn về điều đó.
Và sau đó là chuỗi ngày tự mày mò, tự học, thiếu đâu tìm đó, mình không học một khóa nào bài bản cả, đặc biệt phải cảm ơn nhóm Vietnam Blockchain Developers trên Facebook với các anh đã rất nhiệt tình giúp đỡ và trả lời cho những câu hỏi ngu ngơ của mình lúc bấy giờ.
Mãi đến đầu tháng 8 năm 2018 có cuộc thi hackathon với tên gọi VJC Hackathon 2018. Và mình được bạn leader xinh đẹp của team nghiên cứu khoa học rủ lên ý tưởng và đi thi, tất nhiên lúc đó phải thể hiện mình khác biệt nên đề xuất sử dụng blockchain vào sản phẩm. Và thật may mắn bọn mình có giải, mình với món này có duyên đó, nhờ blockchain mà từ một học viên vô danh mình cũng vô danh nhưng có phần tự hào và tự tin với bản thân hơn.
Sau đó mình và chị Ánh, thêm bạn Khánh cùng khóa lên xin thầy Thanh làm nghiên cứu khoa học, nhưng với tâm lý háo thẳng và luôn tìm sự khác biệt nên mình xin thầy làm về Hyperledger Fabric và Hyperledger Composer thay vì Ethereum. 2 dự án trên là của Linux Foundation và mình thấy khá tìm năng cũng như muốn khẳng định sự khác biệt, mặc dù sản phẩm cũng bình thường nhưng nhờ ý tưởng của thầy nên cũng may mắn được giấy khen. Và sau đó còn nhiều cơ duyên hơn, nhiều sự giúp đỡ góp ý từ các thầy, các anh các chị, các bậc tiền bối đi trước đã giúp đỡ mình thấy yêu thích và đam mê với công nghệ này hơn, cũng như thuận lợi làm điều mình thích. Cảm ơn tất cả mọi người, vì tất cả. Nếu kể ra thì sẽ còn dài nữa, nhưng dù chặn đường sau này có ra sao, thì mình vẫn mãi nhớ về người đã mở lối, soi đường đầu tiên với lòng biết ơn chân thành nhất.
2.2. Dự định với blockchain
Hiện tại mình đã và đang tìm hiểu về công nghệ định danh tự chủ (self-sovereign identity) mà cụ thể hơn là Hyperledger Indy, Aries và URSA. Đây là đồ án của mình vừa rồi và mình muốn tiếp tục nghiên cứu phát triển nó, không chỉ có thể sử dụng mà còn có khả năng làm chủ và tùy biến. Tiềm năng của dự án này rất lớn nhưng tính khả thi để triển khai còn nhiều bất cập. Nhưng mình vẫn cố gắng theo đuổi.
Và để nuôi dưỡng đam mê thì phải có tài chính, mà tài chính phải sinh ra từ thứ có giá trị, hay giá trị mình đem lại cho người khác. Nên mình sẽ nghiên cứu về Hyperledger Fabric, làm chủ công nghệ để có thể phù hợp hơn cho nhu cầu thị trường. Dù biết rằng năng lực, và cơ hội của bản thân khá khó. Nhưng nếu không dám làm thì mình sẽ rất hối tiếc và cảm thấy bản thân đã bỏ qua một điều gì đó tuyệt vời. Đôi khi cố chấp cũng tốt, nhưng sẽ phải có điểm mốc để biết mình nên dừng lại khi nào. Đam mê là rất tốt, nhưng không có tài chính để nuôi dưỡng đam mê cũng như nuôi cơm cho bản thân là một điều rất kinh hoàng.
III. Kết luận
Học công nghệ thông tin đôi khi như cái duyên vậy, có nhiều thứ mình nghĩ sẽ không bao giờ làm được lại làm được, có những thứ lướt qua một cái mà nhớ nhau cả đời. Và có những việc cố chấp, thì vẫn nên cố chấp, nhưng luôn phải có một giới hạn chừng mực để còn biết mà làm lại.
Công nghệ thông tin như một ma trận về những công nghệ, kiến thức nên luôn cần những người soi đường chỉ lối, đó có thể là những người bạn, người thầy, những người mình chưa bao giờ gặp mặt. Đừng tự tin thái quá vào bản thân mà hãy bớt đi cái tôi cũng chính mình, khi quá tự tin chúng ta sẽ trở nên rất ngu ngốc, tin mình đi, mình biết cái cảm giác đỏ mặt khi nghĩ lại những việc ngu ngốc đã làm trong quá khứ.
Cơ hội sẽ đến rồi vụt mất, hãy nắm bắt cơ hội, hãy dám thử. Đừng ngại, nếu mình ngại vì mình không giỏi thì mình đã không đi thi hackathon. Ngại không dám làm việc với người giỏi hơn mình thì mình đã không quen được những người bạn tuyệt vời. Ngại thầy không biết mình là ai sẽ không giúp đỡ thì mình đã không làm món blockchain này và hơn hết đừng ngại hay chính xác hơn là đừng sợ nhận sai và đừng sợ chấp nhận sự thiếu hiểu biết của bản thân. Nếu sợ mọi người chê cười đã không có blog này.
Cảm ơn mọi người đã đọc hết bài này. Sẽ có những bài về blockchain mang tính kỹ thuật và hàn lâm hơn là một bài chém gió như này. Trong bài viết chắc chắc còn nhiều thiếu sót vài sai sót mong mọi người giúp đỡ mình để càng hoàn thiện hơn. Xin cảm ơn.
Đỉnh^^
Chúc TÚ thành công!