Blockchain là gì? Nguyên lý hoạt động và ưu điểm nổi bật của Blockchain

47476

Blockchain là thuật ngữ vẫn chưa hết hot cho đến hiện tại, nhắc đến blockchain ta thường liên tưởng đến các câu chuyện công nghệ lớn. Vậy, bạn đã thật sự hiểu rõ blockchain là gì? cùng TopDev tìm hiểu thật chi tiết về khai niệm, phương thức hoạt động cũng như các ứng dụng của Blockchain trong bài viết dưới đây!

Blockchain là gì?

Blockchain là gì?
Blockchain là gì?

Blockchain là gì? Blockchain là một cuốn số cái kế toán công cộng. Trong đó, mọi thông tin được lưu trữ và truyền tải một cách minh bạch, toàn vẹn, không thể nào thay đổi hay gian lận được. Đây là một công nghệ mới, giúp cải thiện được rất nhiều những mặt hạn chế của cách lưu trữ và trao đổi thông tin truyền thống. Bởi lý do này, mà blockchain ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực: kinh tế tài chính, giáo dục, nông nghiệp, công nghiệp, lĩnh vực giải trí, y tế hay giáo dục….

Sâu về kỹ thuật hơn, Blockchain là một database phân tán (phi tập trung) mà trong đó các dữ liệu được lưu trữ dưới dạng các blocks. Body của một block mang theo các transactions trên dữ liệu (như state machine). Block được kết nối với nhau theo dạng linked list (danh sách liên kết) dưới dạng mã hóa SHA256. Mã hóa của một block bao gồm cả địa chỉ của block trước và body của chính nó nên khi một block được add vào, nó không thể thay đổi cũng như tái sắp xếp.

Nếu bạn vẫn chưa hiểu thì có thể hình dung blockchain nó giống như cái history mình thường thấy trong Git. Mỗi một commit chính là một block. Ta có thể dễ dàng xem được các commit cũ, cũng như track xem ai đã làm gì trên source code của mình, blockchain cũng y như vậy thôi.

Điểm khác biệt và cũng là tinh hoa của blockchain đó là nó ko nằm 1 nơi như Git (các git server), mà được phân tán thành nhìu nơi (nhiều node), và tất cả là ngang hàng. Chính vì vậy mỗi một thay đổi trên 1 node phải được sự đồng thuận của cả mạng (tất cả các node). Ngoài ra còn có mấy khái niệm như Proof of Work, Stack of Work sẽ được giải thích trong những phần tiếp theo của bài viết.

Lịch sử hình thành và phát triển Blockchain

Blockchain là gì? Các ứng dụng liên quan đến Blockchain

Từ khi được đề xuất trong những nghiên cứu sơ khai về mật mã học từ những năm 1990, blockchain đã trải qua một cuộc hành trình phát triển đáng kể.

Bitcoin chính thức được triển khai vào năm 2009, đánh dấu bước ngoặt lớn đối với công nghệ blockchain và cũng mở ra cánh cửa cho sự phát triển của nhiều đồng tiền điện tử và ứng dụng khác dựa trên nền tảng này như tài chính, logitics, y tế và nhiều lĩnh vực khác. Các công nghệ blockchain mới, như Ethereum, đã mở ra khả năng triển khai các hợp đồng thông minh (smart contracts), cho phép thực hiện các giao dịch và thỏa thuận mà không cần sự can thiệp của bên thứ ba.

Đặc điểm của công nghệ blockchain

Đặc điểm của công nghệ blockchain

  1. Phân tán (Decentralized): Dữ liệu được lưu trữ phân tán trên nhiều nút (node) trong mạng, giúp phân phối tải và tăng cường tính bảo mật, giảm thiểu rủi ro tấn công và mất dữ liệu.
  2. Bất biến (Immutability): Tính bất biến nghĩa là một cái gì đó không thể thay đổi hay biến đổi được. Một khi dữ liệu đã được ghi vào blockchain, nó sẽ rất khó để thay đổi hoặc xóa bỏ. Mỗi khối (block) trong blockchain đều được liên kết với khối trước đó bằng một hàm băm (hash), tạo thành một chuỗi liên kết chặt chẽ. Nếu có một mắc xích bị lỗi, phải thêm giao dịch mới để bù trừ cho lỗi và cả hai giao dịch đều được hiển thị trong mạng lưới, điều này làm tăng tính chính xác và độ tin cậy của thông tin.
  3. Tính minh bạch: Các giao dịch và thông tin trong chuỗi khối đều được ghi lại và có thể được truy xuất bởi tất cả các thành viên trong mạng, điều này giúp tăng cường độ tin cậy.
  4. Giao dịch an toàn: Mỗi khối dữ liệu được mã hóa bằng các thuật toán mật mã mạnh mẽ, đảm bảo tính bảo mật và bảo vệ dữ liệu.
  5. Đồng thuận (Consensus): Là quá trình các node trong mạng đạt được sự đồng thuận về trạng thái hiện tại của blockchain. Bạn chỉ có thể ghi lại các giao dịch mới khi đa số người tham gia mạng lưới đồng thuận.

Các cơ chế đồng thuận trong Blockchain

Như đã trình bày ở trên, đồng thuận là một trong những đặc điểm quan trọng của Blockchain. Dưới đây là các loại cơ chế đồng thuận phổ biến trong blockchain:

  • Proof of Work (Bằng chứng Công việc): Đây là cơ chế đồng thuận phổ biến nhất, được dùng trong Bitcoin, Ethereum, Litecoin, Dogecoin và hầu hết các loại tiền mã hoá. Đây là cơ chế đồng thuận tiêu tốn khá nhiều điện năng.
  • Proof of Stake (Bằng chứng Cổ phần): Đây là cơ chế đồng thuận phổ biến trong Decred, Peercoin và trong tương lai là Ethereum và nhiều loại tiền mã hoá khác. Cơ chế đồng thuận này phân cấp hơn, tiêu hao ít năng lượng và không dễ gì bị đe doạ.
  • Delegated Proof-of-Stake (Uỷ quyền Cổ phần): Đây là cơ chế đồng thuận phổ biến trong Steemit, EOS, BitShares. Cơ chế đồng thuận này có chi phí giao dịch rẻ; có khả năng mở rộng; hiệu suất năng lượng cao. Tuy nhiên vẫn một phần hơi hướng tập trung vì thuật toán này lựa chọn người đáng tin cậy để uỷ quyền.
  • Proof of Authority (Bằng chứng Uỷ nhiệm): Đây là cơ chế đồng thuận phổ biến thường thấy trong POA.Network, Ethereum Kovan testnet. Cơ chế đồng thuận này có hiệu suất cao, có khả năng mở rộng tốt.
  • Proof-of-Weight (Bằng chứng Khối lượng /Càng lớn càng tốt): Đây là cơ chế đồng thuận phổ biến trong Algorand, Filecoin. Cơ chế đồng thuận này có thể tuỳ chỉnh và khả năng mở rộng tốt. Tuy nhiên quá trình thúc đẩy việc phát triển sẽ là một thử thách lớn.
  • Byzantine Fault Tolerance (Đồng thuận chống gian lận /Tướng Byzantine bao vây Blockchain): Đây là cơ chế đồng thuận phổ biến trong Hyperledger, Stellar, Dispatch, và Ripple. Cơ chế đồng thuận này có năng suất cao; chi phí thấp; có khả năng mở rộng. Tuy nhiên vẫn chưa thể tin tưởng hoàn toàn.

Các loại Blockchain phổ biến

Hiện nay có nhiều loại blockchain khác nhau, nhưng hai loại phổ biến nhất là blockchain công cộng (public blockchain) và blockchain tư nhân (private blockchain). Dưới đây là một số loại blockchain chính

Các loại blockchain phổ biến hiện nay
Các loại blockchain phổ biến hiện nay
  • Blockchain công cộng (Public Blockchain): Blockchain công cộng là một mạng lưới phân tán mà bất kỳ ai cũng có thể tham gia mà không cần phải xin phép. Điều này làm cho nó trở thành một nền tảng mở cho tất cả mọi người tham gia giao dịch và xem lịch sử các giao dịch đã được xác nhận. Ví dụ phổ biến nhất là Bitcoin và Ethereum. Các tính chất quan trọng của blockchain công cộng bao gồm tính minh bạch cao, khả năng chống lại các cuộc tấn công và khả năng xử lý dữ liệu một cách công bằng cho tất cả thành viên mạng.
  • Blockchain tư nhân (Private Blockchain): Blockchain tư nhân, như tên gọi, là một mạng lưới được quản lý bởi một tổ chức hay một nhóm nhỏ các tổ chức. Mặc dù nó vẫn có tính chất phân tán, chỉ những người được mời mới có thể tham gia và xem các giao dịch. Blockchain này thường được sử dụng cho các mục đích nội bộ của doanh nghiệp hoặc trong các ứng dụng yêu cầu sự bảo mật cao hơn so với blockchain công cộng.
  • Blockchain hỗn hợp (Hybrid Blockchain): Hybrid blockchain là sự kết hợp giữa các đặc tính của cả hai loại blockchain công cộng và tư nhân. Nó cho phép các tổ chức có thể lựa chọn để lưu trữ dữ liệu một cách công khai hoặc riêng tư, tùy thuộc vào nhu cầu cụ thể của họ. Điều này mang lại sự linh hoạt và lựa chọn rộng rãi cho các ứng dụng và các trường hợp sử dụng khác nhau.
  • Consortium blockchain là một mạng blockchain được điều hành bởi một nhóm hạn chế các tổ chức hoặc thực thể thay vì công cộng. Các thành viên trong mạng này chia sẻ quyền kiểm soát và quản lý hệ thống. Điều này giúp cải thiện tính bảo mật, minh bạch và hiệu suất của các ứng dụng như quản lý chuỗi cung ứng, bảo hiểm, y tế, và tài chính mà không cần đến sự can thiệp của một bên thứ ba.

Các thành phần tạo nên Blockchain

Các thành phần tạo nên Blockchain

Sổ cái phân tán (Distributed Ledger)

Sổ cái phân tán là cốt lõi của blockchain, nó hoạt động như một cuốn sổ ghi chép công khai, không thể bị giả mạo. Thay vì được lưu trữ tập trung tại một máy chủ, sổ cái này được phân tán và sao chép trên hàng nghìn, thậm chí hàng triệu máy tính tham gia vào mạng lưới. Mỗi giao dịch được ghi lại vào một khối (block) và các khối này được liên kết với nhau bằng một chuỗi các hàm bhash mật mã. Nhờ đó, việc thay đổi thông tin trong bất kỳ khối nào đều trở nên vô cùng khó khăn, đảm bảo tính bảo mật và minh bạch cho toàn bộ hệ thống.

Hợp đồng thông minh (Smart Contracts)

Hợp đồng thông minh là những đoạn mã tự thực thi được lưu trữ trực tiếp trên blockchain. Chúng hoạt động như những hợp đồng tự động, thực hiện các điều khoản đã được lập trình sẵn khi các điều kiện nhất định được đáp ứng. Không cần đến sự can thiệp của bên thứ ba, hợp đồng thông minh giúp giảm thiểu rủi ro gian lận và tăng tốc độ thực hiện các giao dịch. Ví dụ, một hợp đồng thông minh có thể được sử dụng để tự động chuyển tiền khi một hàng hóa được giao thành công hoặc thực hiện các thanh toán lãi suất định kỳ cho các khoản vay.

Mật mã hóa khóa công khai (Public-key cryptography)

Mật mã hóa khóa công khai là một công nghệ bảo mật đóng vai trò quan trọng trong blockchain. Nó sử dụng một cặp khóa, bao gồm một khóa công khai và một khóa riêng. Khóa công khai được chia sẻ công khai và được sử dụng để mã hóa dữ liệu, trong khi khóa riêng được giữ bí mật và chỉ được sử dụng để giải mã. Nhờ đó, người dùng có thể xác thực danh tính của nhau và đảm bảo tính bảo mật cho các giao dịch.

Ngoài ra còn các thành phần quan trọng khác:

  • Peer-to-peer network là nền tảng kết nối các máy tính tham gia vào mạng blockchain. Trong mạng ngang hàng, không có máy chủ trung tâm mà các máy tính (node) giao tiếp trực tiếp với nhau. Điều này giúp tăng cường tính phi tập trung và độ ổn định của hệ thống.
  • Hàm băm (hash) là một hàm toán học một chiều, có nghĩa là từ một đầu vào bất kỳ, hàm băm luôn tạo ra một chuỗi ký tự đầu ra có độ dài cố định. Hàm băm được sử dụng để tạo ra một giá trị băm duy nhất cho mỗi khối trong blockchain. Giá trị băm này được liên kết với khối tiếp theo, tạo thành một chuỗi liên kết chặt chẽ. Nếu bất kỳ dữ liệu nào trong một khối bị thay đổi, giá trị băm sẽ thay đổi hoàn toàn, điều này giúp đảm bảo tính toàn vẹn của dữ liệu trên blockchain.
  • Máy ảo là một môi trường thực thi các hợp đồng thông minh. Nó cung cấp một nền tảng an toàn và cách ly để các hợp đồng thông minh chạy mà không ảnh hưởng đến các phần khác của blockchain.

>> Xem thêm: Game blockchain là gì? Khám phá tiềm năng thị trường game blockchain

Blockchain hoạt động như thế nào?

Blockchain hoạt động như thế nào?

Tạo khối và ghi lại giao dịch

Hãy tưởng tượng blockchain như một cuốn sổ cái kỹ thuật số khổng lồ, ghi lại tất cả các giao dịch. Mỗi giao dịch, ví dụ như việc chuyển tiền từ ví điện tử này sang ví điện tử khác, sẽ được ghi lại thành một bản ghi, sau đó được nhóm vào một khối cùng với các giao dịch khác.

Sự đồng thuận

Sau khi các giao dịch được nhóm lại thành một khối, các nút (node) trong mạng sẽ tiến hành xác thực khối này. Quá trình này được gọi là “đạt được sự đồng thuận”. Có nhiều thuật toán đồng thuận khác nhau, nhưng một trong những thuật toán phổ biến nhất là Proof of Work (PoW).

cơ chế đồng thuận Blockchain

  • Thợ đào: Để thêm một khối mới vào chuỗi, các thợ đào (miner) sẽ phải giải một bài toán toán học phức tạp.
  • Cuộc đua: Các thợ đào sẽ cạnh tranh để tìm ra lời giải đầu tiên.
  • Phần thưởng: Thợ đào đầu tiên tìm ra lời giải sẽ được nhận một phần thưởng (ví dụ: Bitcoin).

Liên kết các khối

Mỗi khối trong chuỗi blockchain được liên kết với khối trước đó thông qua một giá trị băm. Giá trị băm là một chuỗi ký tự duy nhất được tạo ra từ dữ liệu của khối. Nếu bất kỳ dữ liệu nào trong một khối bị thay đổi, giá trị băm của khối đó và tất cả các khối sau đó sẽ thay đổi. Điều này tạo ra một chuỗi liên kết chặt chẽ, đảm bảo tính toàn vẹn của dữ liệu.

Ví dụ: Hãy tưởng tượng một chuỗi các khối như một chiếc dây xích. Mỗi mắt xích đại diện cho một khối. Nếu ai đó cố gắng cắt đứt hoặc thay đổi một mắt xích, toàn bộ dây xích sẽ bị hỏng.

Chia sẻ sổ cái

Tất cả các nút trong mạng blockchain đều có một bản sao đầy đủ của sổ cái. Điều này có nghĩa là không có một cơ quan trung tâm nào kiểm soát toàn bộ dữ liệu. Mỗi khi một khối mới được thêm vào chuỗi, các nút sẽ tự động cập nhật sổ cái của mình.

Những ưu điểm nổi bật của Blockchain

Vì sao công nghệ blockchain lại trở thành xu hướng công nghệ hàng đầu hiện nay:

  1. Tính minh bạch và không thể phá vỡ: có thể nói đây là một trong những đặc điểm nổi bật nhất. Tất cả mỗi thông tin được lưu trữ, truyền tải và xử lý trong hệ thống blockchain, đều được thể hiện một cách minh bạch, rõ ràng nhất và không thể thay đổi, không thể giả mạo, không thể phá vỡ. Do đó, nếu bạn muốn truy xuất những thông tin về giao dịch của mình hay của người khác ( bao gồm ngày, giờ, chi tiết về giao dịch….) thì bạn sẽ không bao giờ phải lo ngại về sự thiếu chính xác của dữ liệu.
  2. Đặc tính ẩn danh: trọng tâm trong việc bảo vệ sự riêng tư của blockchain chính là khả năng ẩn danh người dùng. Đặc tính này, sẽ giúp bạn có thể giao dịch một cách an toàn, bảo mật mà không cần phải lo ngại về người khác biết được danh tính của mình. Cùng với sự minh bạch, không thể phá vỡ hay thay đổi dữ liệu và đặc tính ẩn danh, giúp blockchain tạo ra một niềm tin rất lớn đối với người dùng, giúp bạn cảm thấy an tâm hơn khi tham gia vào Blockchain.
  3. Rút ngắn được thời gian và tiết kiệm chi phí: nếu giao dịch truyền thống, theo kiểu cần có bên thứ 3 để xác thực, tạo sự tin cậy và minh bạch, thì bạn sẽ phải chịu thêm một phần chi phí nhất định cho bên thứ 3 này. Tuy nhiên, khi bạn ứng dụng blockchain vào giao dịch của mình, với hợp đồng thông minh (smart contract) bạn và đối tác của bạn sẽ là người trực tiếp thực hiện giao dịch và hệ thống trên blockchain sẽ là người xác nhận cho bạn, mà không cần tốn thêm chi phí, thậm chí là còn tiết kiệm được cả về thời gian giao dịch.
  4. Tính ứng dụng rộng rãi: công nghệ blockchain có thể ứng dụng rộng rãi trong mọi mặt đời sống hiện nay. Ví dụ như ứng dụng blockchain trong nông nghiệp thực phẩm, trong quản lý giáo dục, bầu cử kỹ thuật số…. và nổi bậc nhất vẫn là công nghệ blockchain được ứng dụng trong giao dịch tài chính.

Vậy Blockchain có nhược điểm gì không? Đọc tiếp trong bài viết: Những nhược điểm của Blockchain

Ứng dụng của Blockchain

Top 10 ứng dụng của Blockchain
Top 10 ứng dụng của Blockchain

Nguồn: appinventiv

Dưới đây là một số ứng dụng điển hình của blockchain:

Lĩnh vực tài chính

Tài chính là một trong những lĩnh vực đầu tiên và được ứng dụng rộng rãi nhất của công nghệ blockchain. Tiền điện tử như Bitcoin đã chứng minh khả năng thực hiện các giao dịch nhanh chóng, an toàn và toàn cầu mà không cần đến các tổ chức tài chính trung gian. Hợp đồng thông minh, một đặc điểm nổi bật của blockchain, cho phép tự động hóa các hợp đồng tài chính phức tạp, giảm thiểu rủi ro và tăng tính minh bạch. Ngoài ra, blockchain còn tạo điều kiện cho sự phát triển của tài chính phi tập trung (DeFi), mở ra cơ hội tiếp cận các dịch vụ tài chính cho mọi người.

Ngành bán lẻ

Ngành bán lẻ cũng hưởng lợi rất nhiều từ công nghệ blockchain. Bằng cách ghi lại toàn bộ lịch sử giao dịch và nguồn gốc của sản phẩm lên blockchain, các doanh nghiệp có thể đảm bảo tính minh bạch và truy xuất nguồn gốc của hàng hóa. Điều này đặc biệt hữu ích trong việc chống hàng giả, bảo vệ thương hiệu và xây dựng lòng tin của người tiêu dùng. Blockchain cũng được ứng dụng để quản lý chuỗi cung ứng, tối ưu hóa quá trình vận chuyển và lưu trữ hàng hóa.

Bất động sản

Bất động sản là một lĩnh vực truyền thống đang dần được cách mạng hóa bởi blockchain. Công nghệ này giúp đơn giản hóa quá trình giao dịch bất động sản, giảm thiểu gian lận và tăng tính minh bạch. Bằng cách ghi nhận quyền sở hữu tài sản lên blockchain, việc chuyển nhượng sẽ trở nên nhanh chóng và an toàn hơn. Ngoài ra, blockchain còn cho phép chia nhỏ tài sản bất động sản thành các token nhỏ hơn, tạo điều kiện cho việc đầu tư linh hoạt hơn.

Y tế

Y tế là một lĩnh vực có tiềm năng ứng dụng rất lớn của blockchain. Blockchain có thể được sử dụng để lưu trữ hồ sơ bệnh án điện tử một cách an toàn và bảo mật, giúp cho việc chia sẻ thông tin giữa các cơ sở y tế trở nên dễ dàng hơn. Ngoài ra, blockchain còn giúp quản lý chuỗi cung ứng dược phẩm, đảm bảo chất lượng và nguồn gốc của thuốc.

Lĩnh vực công

Lĩnh vực công cũng đang khám phá các ứng dụng của blockchain. Blockchain có thể được sử dụng để tổ chức các cuộc bầu cử một cách minh bạch và không gian lận, quản lý danh tính công dân, lưu trữ các hồ sơ công cộng và nhiều ứng dụng khác.

Các lĩnh vực khác như giải trí, chứng minh thư kỹ thuật số, quản lý bản quyền cũng đang tìm thấy những ứng dụng thú vị của blockchain. Ví dụ, NFT (token không thể thay thế) dựa trên công nghệ blockchain đang tạo ra một thị trường mới cho các tác phẩm nghệ thuật kỹ thuật số.

>>> Xem thêm: Blockchain Developer là gì? Công việc của họ là gì?

Blockchain VS. Bitcoin

Blockchain và Bitcoin là hai khái niệm thường được nhắc chung với nhau, nhưng về bản chất, chúng là hai khái niệm khác nhau, cùng TopDev theo dõi tiếp bài viết để thấy được sự khác biệt:

Blockchain Bitcoin
Định nghĩa Là một công nghệ lưu trữ và truyền thông tin một cách an toàn và bảo mật. Nó là một cấu trúc dữ liệu phân tán, lưu trữ thông tin dưới dạng các “khối” liên kết với nhau bằng mã hóa. Mỗi khối chứa thông tin giao dịch và mã hash của khối trước đó. Là đồng tiền điện tử đầu tiên và phổ biến nhất được phát triển dựa trên công nghệ blockchain. Nó cho phép các giao dịch trực tiếp giữa các bên mà không cần thông qua một bên trung gian nào.
Tính chất
  • Phân tán: Blockchain không phụ thuộc vào một trung tâm điều khiển duy nhất mà được phân tán trên nhiều nút (nodes) trong mạng.
  • An toàn và bảo mật: Do tính chất mã hóa và phân tán, blockchain giúp bảo vệ thông tin và giao dịch một cách an toàn, khó bị sửa đổi hoặc tấn công.
  • Tiền điện tử phi tập trung: Bitcoin không cần sự can thiệp của các tổ chức tài chính trung gian như ngân hàng để xử lý giao dịch.
  • Giới hạn cung cấp: Bitcoin có một số lượng cung cấp cố định và giới hạn (21 triệu đồng Bitcoin), giúp đảm bảo tính giới hạn và giá trị của nó.
Ứng dụng Blockchain có thể được áp dụng trong nhiều lĩnh vực khác nhau ngoài tiền điện tử, như quản lý chuỗi cung ứng, bầu cử điện tử, quản lý tài sản, bảo hiểm, y tế, và nhiều ứng dụng khác đòi hỏi tính chính xác và bảo mật cao. Bitcoin được sử dụng chủ yếu như một phương tiện thanh toán và đầu tư. Người dùng có thể sử dụng Bitcoin để mua hàng hoá, chuyển tiền, và đầu tư như một tài sản giá trị.

Các nền tảng blockchain hiện nay

Ethereum Network là gì?

Nhiều bạn sẽ thắc mắc tại sao không phải là Bitcoin, blockchain đầu tiên nhất của thế giới mà lại là Ethereum? Câu trả lời rất đơn giản vì Bitcoin sinh ra chỉ dành cho tiền điện tử (đồng Bitcoin), còn Ethereum sinh ra để không chỉ cho tiền điện tử (đồng Ether – Eth) mà còn dành cho các nhà phát triển có thể tham gia vào, dùng blockchain của Ethereum cho các nhu cầu khác: lập trình trên nó (smart contract), lưu trữ dữ liệu trên nó, phát hành token mới để ICO…

Chính vì đặc tính trên nên Ehereum network sẽ phức tạp hơn rất nhiều. Các transaction lúc này không chỉ là các lệnh chuyển tiền qua lại giữ những user mà còn là các operations của các smart contract nữa. Lúc này về mặt account sẽ có 2 loại là external owned account (chính là những người dùng) và contract account.

Smart Contract là gì?

Smart Contract nghe ghê gớm thế chứ nó cũng bình thường như một cái class trong hướng đối tượng OOP. Trong đó sẽ chứa các biến, các hàm và event để phục vụ cho nhu cầu của người viết ra chúng.

Tuy nhiên Smart Contract không phải muốn viết sao thì viết mà thường tuân thủ theo chuẩn ERC20 (ngoài ra còn có chuẩn ERC223). Theo chuẩn này thì 1 SC thường có các methods như: totalSupply, balanceOf, transfer, transferFrom… VD như ta ICO với 1 token tên Test thì hàm totalSupply có trách nhiệm trả về được tổng balance (token) của tất cả những người đã mua token Test.

Khi một Smart Contract được deploy lên network, chúng ra sẽ cần được khởi tạo (giống class như mình nói), khi được khởi tạo lên chúng sẽ có 1 address được gán vào (lại giống khởi tạo bộ nhớ) và tồn tại trên network như 1 account bình thường. Có điều khác là chúng sẽ không thể chủ động tự khởi tạo được các transaction mà chỉ nhận transaction và xử lý rồi lại truyền đi.

Smart contract đương nhiên cũng sẽ được public và không thể thay đổi được một khi đã deploy. Vì thế khi mà code bug thì chỉ có cách là vá chúng bằng cách thêm các smart contract vào chạy trung gian hoặc migrate smart contract. Trên thực tế các Smart Contract ít khi đứng một mình mà sẽ chạy dưới một chuỗi (chain) để xử lý cũng như phối hợp với nhau.

Ngôn ngữ viết Smart Contract

Smart Contract được viết bằng ngôn ngữ Solidity, đây là ngôn ngữ cho máy ảo Ehereum hiểu và thực thi. Ngôn ngữ này rất dễ viết, các bạn có thể nắm vững trong vài tuần hoặc tháng.

Thông thường ta sẽ dev smart contract ở local và dùng 1 network giả lập hoặc staging trên các testnet. Việc deploy smart contract lên main network sẽ tốn phí tùy vào số lượng transaction smart contract cần khi khởi tạo. Trong quá trình hoạt động (life time) nó cũng tốn phí để thực hiện các operations.

Decentralize App sẽ là sự thay thế cho các App hiện tại ? Đúng nhưng cũng không hẳn. Thật tế là tính tới nay 99% Dapp đang chạy không phải là production, vì bất kỳ thông tin lưu trữ hay thay dổi trên main network sẽ tốn phí. Chưa kể tốt độ confirm block rất chậm, không phù hợp với các nghiệp vụ cần tốc độ nhanh (Ethereum hiện tại là 15s).

Blockchain engineer không chỉ đơn giản là viết smart contract, nếu vậy thì là SC Developer đúng hơn. Họ có thể build được các hệ thống dựa trên nền tảng blockchain, một network riêng hoàn toàn như các hệ thống trong ngân hàng hoặc fintech.

Xem ngay việc làm Blockchain lương cao tại TopDev

Việt Trần

Tham khảo thêm các vị trí tuyển lập trình Blockchain tại Hồ Chí Minh cho bạn