BLOCKCHAIN LÀ GÌ?
Trong xã hội ngày nay, không phải lúc nào mọi chuyện cũng minh bạch và thông suốt như lộ trình tuyến xe bus 14 (từ Bờ Hồ đi Cổ Nhuế và ngược lại) trong những lúc không tắc đường. Những bất công diễn ra thường nhật như một sự hiển nhiên. Sự phân bổ quyền lực không đều khi chỉ tập trung trong một số nhóm đối tượng, dẫn đến khoảng cách xa vời vợi về mức sống giữa người với người, kèm theo đó là những sự thiếu minh bạch trong thông tin và hoạt động. Loài người không chấp nhận những điều phi lý như vậy và đã tìm rất nhiều cách để thay đổi vấn đề. Gần đây, có một phương án có thể sẽ có nhiều hiệu quả trong việc làm tăng tính minh bạch cho xã hội, làm tăng quyền lợi cho từng cá thể con người. Đó là blockchain – chuỗi móc xích.
Ta đi theo cấu trúc ngữ nghĩa của từng từ thì Block là khối và Chain là chuỗi. Ta có thể hiểu nôm na rằng Blockchain là một công nghệ mới trong thời hiện đại, trong đó toàn bộ dữ liệu được mã hóa thành các khối hộp và nối với nhau thành chuỗi. Riêng trong mỗi khối sẽ có chứa các thông tin về thời gian khởi tạo, về sự liên kết giữa các khối với nhau và các dữ kiện liên quan khác.
Cách lưu trữ thông tin trong hệ thống là lưu trữ theo số lượng và thông tin giao dịch (tính từ giao dịch đầu tiên), chứ không phải chỉ là trạng thái hiện tại của đối tượng.
Hệ thống blockchain được sinh ra, sử dụng mạng dữ liệu ngang hàng (phi tập trung) nhằm chống lại sự thay đổi dữ liệu, mọi thông tin chỉ có thể được bổ sung khi có sự đồng ý của tất cả các nút trong hệ thống, để đảm bảo tính nguyên vẹn và bảo mật. 
Blockchain được người ta ví như “cuốn sổ cái” ghi chép và mã hóa lại mọi thông tin giao dịch, điều khác biệt ở đây là một cuốn sổ mở và không có giới hạn. Tất cả mọi người thuộc cùng một hệ thống mạng ngang hàng (phi tập trung) đều có thể truy xuất thông tin nhưng không thể thay đổi được. Nó cũng tương tự việc bạn gửi một bưu phẩm đi từ Hà Nội tới Huế nhưng phải có sự chứng kiến và đồng thuận của tất cả mọi người ở Hà Nội. Lúc này ai cũng biết được bưu phẩm đó là của bạn chứ không phải là một ai khác, và nó được gửi tới ai kèm thông tin là gì.
BLOCKCHAIN ẢNH HƯỞNG TỚI CÁC NGÀNH NGHỀ NÀO TRONG XÃ HỘI?
Sự ảnh hưởng của Blockchain trong lĩnh vực tài chính là không còn bàn cãi. Hàng trăm đồng cryptocurrency đã được xây dựng dựa trên nền tảng Blockchain. Tiền điện tử chỉ là một trong những ứng dụng thực tiễn của thuật toán Blockchain, ngoài ra nó còn được ứng dụng trong rất nhiều ngành nghề với một số ví dụ như:
Ngành lập trình: Cùng với trí tuệ nhân tạo (AI), Internet of Things (IOT), blockchain mang lại rất nhiều cơ hội cho các lập trình viên với ngành lập trình. Công nghệ thông tin – khoa học máy tính đã phát triển những bước nào thì trong blockchain, sự phát triển cũng sẽ như vậy. Thực tế đã chứng minh điều đó. Về hiệu năng vận hành thì có HPB (High Performance Blockchain), về công nghệ xử lý dữ liệu thì có XVG (Verge) …
Ngành vận tải biển: Công ty vận tải hàng hải Maersk đã ứng dụng thành công kỹ thuật blockchain trong việc xác thực chữ ký điện tử được giúp hạn chế việc gian lận trong quá trình trung chuyển hàng hóa đồng thời gián tiếp làm giảm thiểu thời gian giao nhận…
Ngành ngân hàng: từ các giao dịch nhỏ tới các giao dịch lớn, thay vì các đồng tiền hay cổ phiếu nội bộ với những sự khác biệt, chênh lệch về giá, Blockchain hứa hẹn sẽ mang lại một nền tài chính – ngân hàng xuyên suốt và thuận lợi hơn (ví dụ với XLM – Stellar).
Ngành tạp hóa: Doanh nghiệp Walmart nổi tiếng với việc buôn bán các loại mặt hàng đã dùng blockchain để theo dõi tình trạng các loại thực phẩm từ động vật. Amazone cũng đã bắt đầu nghiên cứu về mảng này từ trước năm 2017. 
Ngành tư pháp: Hợp đồng thông minh (smart contract) chính là tên gọi của một ứng dụng công nghệ blockchain trong ngành này. Trong tương lai gần mọi loại văn bản, giấy tờ đều có thể được mã hóa và ký kết xác nhận online giúp giảm thiểu thời gian làm thủ tục. Hiện tại một số tiểu bang ở Mỹ như Arizona đã cho phép hợp đồng thông minh có thể thay thế các loại văn bản luật pháp truyền thống. …
LẬP TRÌNH VIÊN BLOCKCHAIN CẦN NẮM ĐƯỢC NHỮNG GÌ?
1. Các blockchain phân quyền và công cộng
Mạng lưới blockchain được xây dựng để tạo sự đồng thuận về dữ liệu và thông tin mà không cần đến các bên trung gian đảm bảo. Blockchain ra đời với nền tảng là kế toán tam phân. Để làm được việc đó, phải có một mạng lưới các nút tham gia vào, số lượng các nút càng nhiều càng làm tăng sự an toàn cho mạng lưới. Do vậy, bạn sẽ gặp khó khăn khi tạo cho mình một mạng lưới blockchain mới vì khó khăn trong việc tạo các nút.
Tuy nhiên bạn có thể hoàn toàn sử dụng một mạng lưới blockchain công cộng có sẵn ví dụ như Bitcoin, Ethereum, Hypderledger … để xây dựng cho mình các ứng dụng sử dụng công nghệ mạng phi tập trung (decentralize network). Bitcoin và Ethereum sử dụng blockchain công cộng, trong khi đó Hyperledger là một blockchain riêng tư nhưng là opensource của Linux Foundation. Các lập trình viên đã quen với Linux sẽ không gặp nhiều khó khăn khi thao tác trên Hyperledger. Tất nhiên các blockchain này có sự khác nhau, và thường blockchain của Bitcoin không phải là sự lựa chọn tốt để xây dựng vì mạng lưới của Bitcoin được thiết kế chỉ để thực hiện giao dịch peer to peer (giao dịch ngang hàng) mà thôi.
2. Các blockchain testnet
Có một cơ chế gọi là Testnet giúp cho các lập trình viên thử nghiệm các tính năng của phần mềm mà không cần phải sợ mất coin/chi phí khi dùng thử các chức năng của chương trình. Cơ chế này cũng tạo ra một mạng lưới các nút mạng, các thợ mỏ, những người dùng, và cả một blockchain mới chỉ để phục vụ cho công việc thử nghiệm. Dù bạn muốn tạo ra các dapps (decentralize applications – ứng dụng phi tập trung) trên blockchain của Ethereum hay tạo ra một chain hoàn toàn mới thì cũng cần sử dụng đến các testnet của blockchain liên quan. Các testnet này giúp bạn có thể test thoải mái mà không sợ phải tạo ra các giao dịch rác trên mạng lưới thật cũng như sử dụng coin thật để thực hiện giao dịch. 
3. BaaS: Blockchain as a Service của Microsoft
Microsoft Azure tạo ra một dịch vụ blockchain tên là BaaS giúp lập trình viên xây dựng các dapps trên một môi trường rẻ hơn và hỗ trợ nhiều loại chain khác nhau như MultiChain, Eris, Storj và Augur. BaaS được tạo ra nhằm hỗ trợ những người làm hệ thống back-end phải sử dụng đến blockchain, nhờ vậy mà chúng ta chỉ cần vài thao tác đơn giản là có thể chạy một blockchain thay vì phải build nguyên một hệ thống bằng Azure.
4. Mist
Đối với việc phát triển trên blockchain của Ethereum, bạn có thể sử dụng Mist. Mist không chỉ được dùng để lưu trữ và giao dịch Ethereum mà còn có thể tạo ra smart contract. Mist được sử dụng để tạo smart contract và phát hành lên blockchain thực hoặc testnet của Ethereum. Tất nhiên để thực thi smart contract thì bạn cần phải mua Ethererium – giống như xăng để chạy xe – và đòi hỏi tốn một ít tiền. Điều tương tự cũng xảy ra với NEO, để vận hành NEO thì sẽ cần phải có GAS.
5. API của Coinbase
API của Coinbase cho phép lập trình viên dễ dàng xây dựng một ứng dụng liên quan tới Bitcoin hoặc tích hợp Bitcoin vào trong một ứng dụng có sẵn. Các API này cung cấp hàng loạt tính năng từ việc đọc dữ liệu Bitcoin trên blockchain cho đến tạo những dữ liệu mới chẳng hạn như tạo ví, mua bán và gửi nhận Bitcoin. Coinbase hỗ trợ nhiều thư viện cho các nền tảng khác nhau kể cả trên những nền tảng di động.
6. Tierion
Hệ thống cho phép tạo ra cơ sở dữ liệu có thể xác thực được của bất kỳ dữ liệu hay tiến trình nào bằng cách cho phép người dùng đưa dữ liệu lên blockchain của Bitcoin thông qua API và các công cụ của nó. Tierion cũng đã phát triển ra chuẩn ChainPoint giúp thu thập dữ liệu và phát hành biên lai chứa thông tin cần thiết để xác thực dữ liệu đã thu thập mà không cần bên trung gian.
7. Embark
Đây là một framework để xây dựng các ứng dụng dapp trên nền tảng Ethereum. Với Embark bạn có thể dễ dàng xây dựng và triển khai một dapp hoặc một ứng dụng html5 serverless sử dụng công nghệ phân quyền.
8. Ether Scripter
Đây là công cụ hỗ trợ bạn trong việc viết mã cho smart contract. Công cụ này rất thân thiện với người dùng tuy nhiên hiện tại chỉ hỗ trợ ngôn ngữ Serpent.
9. Solc
Solc (Solidity Compiler) là một trình biên dịch cho ngôn ngữ Solidity. Hầu hết các node của Ethereum đều hỗ trợ Solc, tuy nhiên Solc có thể được chạy độc lập trên một máy tính offline. Nhờ vậy bạn có 2 cách để comile code: Hoặc sử dụng web3.eth.compile.solidity sử dụng node của bạn hoặc sử dụng solc.compile mà không cần node nào cả.
*Vĩ thanh 
Các công cụ vừa được liệt kê chỉ là những gợi mở rất nhỏ cho những bạn quan tâm tới lập trình và sẽ là nền tảng rất tốt để phát triển công nghệ blockchain. Với sự phát triển về công nghệ, sự minh bạch sẽ ngày càng hiện hữu mạnh mẽ hơn ở nhiều lĩnh vực trong cuộc sống. Vì người ta khổ quá nên sự thiếu minh bạch mới còn tồn tại. Chúng ta có nên cảm thương cho những lầm lạc đó? Nhưng có lẽ khổ không nên là lời biện hộ và cảm thương và càng không nên là sự dung túng.
- trần quốc tuấn