CÁCH HOẠT ĐỘNG CỦA BLOCKCHAIN

Một phần của tài liệu Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain (Trang 33)

4. Đề nghị cho bảo vệ hay không?

2.6. CÁCH HOẠT ĐỘNG CỦA BLOCKCHAIN

2.6.1. Giao dịch được sinh ra

Trong Bitcoin, một giao dịch là việc chuyển tiền điện tử từ một người (Alice) sang một người khác (Bob). Trong Ethereum, bao gồm một ngôn ngữ lập trình có sẵn có thể được sử dụng để tự động hóa các giao dịch, giao dịch sẽ có nhiều loại. Alice có thể gửi tiền điện tử cho Bob. Hoặc ai đó có thể tạo một giao dịch đặt một dòng mã, được gọi là hợp đồng thông minh, trên Blockchain. Sau đó, Alice và Bob có thể gửi tiền vào tài khoản mà chương trình này kiểm soát, để kích hoạt nó một khi một số điều kiện nhất định được mã hóa trong hợp đồng được đáp ứng. Một hợp đồng thông minh cũng có thể gửi các giao dịch đến Blockchain mà nó được nhúng vào.

18

Hình 2.9 Giao dịch được sinh ra

2.6.2. Giao dịch được phát đến một mạng ngang hàng

Giả sử Alice muốn gửi tiền cho Bob. Để làm như vậy, Alice tạo một giao dịch trên máy tính của mình và phải tham chiếu giao dịch trong quá khứ trên Blockchain, trong đó cô nhận đủ tiền, cũng như khóa riêng của cô đối với số tiền và địa chỉ của Bob. Giao dịch đó sau đó được gửi tới các máy tính khác hoặc “các nút” trong mạng. Các nút sẽ xác thực giao dịch miễn là nó đã tuân thủ các quy tắc của mạng. Sau đó các nút khai thác (sẽ miêu tả cụ thể trong bước 3) sẽ chấp nhận nó, và nó sẽ trở thành một phần của một khối mới.

Hình 2.10 Giao dịch được chuyển đến mạng ngang hàng

2.6.3. Cuộc đua tạo các khối mới

Một tập con của các nút, được gọi là thợ mỏ, tổ chức các giao dịch hợp lệ thành các danh sách được gọi là các khối. Một khối đang được xây dựng sẽ chứa danh sách các giao dịch hợp lệ gần đây và tham chiếu mật mã tới khối trước đó. Trong các hệ thống Blockchain như Bitcoin và Ethereum, các thợ mỏ chạy đua để hoàn thành các khối mới, một quá trình đòi hỏi phải giải quyết một câu đố toán học cần nhiều nhân lực, đây là câu đố duy nhất cho mỗi khối mới.

19

Hình 2.11 Quá trình sinh khối mới trong mạng Blockchain

Người khai thác đầu tiên để giải quyết các câu đố sẽ kiếm được một số lượng tiền ảo như một phần thưởng. Các câu đố toán học liên quan đến phán đoán ngẫu nhiên tại một số nonce. Các nonce được kết hợp với các dữ liệu khác trong khối để tạo ra một dấu vân tay kỹ thuật số được mã hóa, được gọi là một hash.

2.6.4. Hoàn thành một khối mới

Hash phải đáp ứng các điều kiện nhất định, nếu không thợ mỏ sẽ thử một nonce ngẫu nhiên khác và tính lại giá trị hash. Phải rất mất công sức để tìm được một hash hợp lệ. Quá trình này ngăn chặn tin tặc bởi sẽ rất khó để sửa đổi sổ cái. Trong khi một số Blockchain sử dụng các hệ thống khác để bảo vệ, cách này còn có tên là Proof of Work.

Hình 2.12 Một máy trong mạng đã khai thác được khối mới

2.6.5. Thêm một khối mới vào chuỗi

Đây là bước cuối cùng trong việc bảo vệ sổ cái. Khi một nút khai thác trở thành nút đầu tiên giải quyết mảnh ghép của khối mới, nó sẽ gửi khối tới phần còn lại của mạng để phê duyệt, thu thập các token để nhận phần thưởng.

20

Hình 2.13 Mội khối mới được thêm vào Blockchain

Độ khó của mảnh ghép được mã hóa trong giao thức của Blockchain. Bitcoin và Ethereum được thiết kế để làm cho nó ngày càng khó hơn để đảm bảo thời gian sinh khối mới không bị thay đổi khi số lượng máy tham gia giải mã gia tăng.

Vì mỗi khối cũng chứa một tham chiếu đến khối trước đó, các khối được liên kết với nhau bằng toán học. Giả mạo với một khối trước đó sẽ yêu cầu lặp lại Proof of Work cho tất cả các khối tiếp theo trong chuỗi.

2.7. PHÂN LOẠI BLOCKCHAIN 2.7.1. Public Blockchain 2.7.1. Public Blockchain

Public Blockchain là mạng Blockchain mà bất kỳ ai cũng có thể đọc và thực hiện giao dịch trên nó. Tất cả các máy tính trong mạng đều tham gia quá trình đồng thuận xác nhận giao dịch. Việc tấn công vào loại mạng Blockchain hay việc tự ý thay đổi dữ liệu là bất khả thi vì cơ chế khuyến khích hoạt động, đồng thuận phân tán của toàn mạng cũng như chi phí tính toán rất cao.

Ví dụ: Bitcoin, Ethereum là hai mạng thuộc loại Public Blockchain tiêu biểu nhất.

2.7.2. Private Blockchain

Khác với Public Blockchain, trong Private Blockchain quyền đọc dữ liệu có thể được công khai với mọi người hoặc bị giới hạn với một nhóm người tham gia hoặc không cho phép người dùng đọc dữ liệu trong một số trường hợp, đặc biệt không có quyền ghi dữ liệu vì điều này thuộc về bên tổ chức thứ ba tuyệt đối tin cậy. Vì là một Private Blockchain, nên thời gian xác nhận giao dịch khá nhanh vì chỉ cần một lượng nhỏ thiết bị tham gia thực hiện xác thực giao dịch, điều này tuỳ thuộc vào việc cấu hình mạng Blockchain ban đầu.

21

2.7.3. Consortium Blockchain

Đây là mô hình Blockchain được kết hợp giữa Public Blockchain và Private Blockchain nhằm tận dụng triệt để các ưu điểm và hạn chế các điểm yếu của hai loại hình Blockchain trên. Quyền đọc dữ liệu trên Consortium Blockchain tương đối giống với Public Blockchain. Nhưng quá trình đồng thuận được sẽ quyết định bởi nhiều tổ chức tin cậy hoặc do một nhóm các người được chỉ định.

Ví dụ: Các ngân hàng hay tổ chức liên doanh sẽ sử dụng Blockchain cho riêng mình, Ripple là một trong những mạng nổi bật.

22

CHƯƠNG 3: TỔNG QUAN VỀ ETHEREUM

3.1. LỊCH SỬ RA ĐỜI

Ethereum ban đầu được mô tả trong một văn bản của Vitalik Buterin, một lập trình viên liên quan đến Bitcoin vào cuối năm 2013 với mục tiêu xây dựng các ứng dụng phân quyền. Buterin đã lập luận rằng Bitcoin cần một ngôn ngữ kịch bản để phát triển ứng dụng. Không đạt được thỏa thuận với nhóm phát triển Bitcoin, ông đề xuất phát triển một nền tảng mới với một ngôn ngữ kịch bản tổng quát hơn.

Hình 3.15 Logo của Ethereum

Bốn thành viên ban đầu của nhóm Ethereum là Vitalik Buterin, Mihai Alisie, Anthony Di Iorio và Charles Hoskinson. Phát triển chính thức của dự án phần mềm Ethereum bắt đầu vào đầu năm 2014 thông qua một công ty Thụy Sĩ tên là Ethereum Switzerland GmbH (EthSuisse). Sau đó, một tổ chức phi lợi nhuận tại Thụy Sĩ với tên gọi là Ethereum Foundation cũng được thành lập. Việc phát triển Ethereum được tài trợ bởi đám đông trực tuyến trong suốt tháng 7 và tháng 8 năm 2014, với những người tham gia mua Ethereum bằng các loại tiền kỹ thuật số khác như bitcoin. Mặc dù đã có những lời khen ngợi đầu tiên về những đổi mới kỹ thuật của Ethereum, nhưng cũng có các ngờ vực về tính an toàn và khả năng mở rộng của nó.

Ethereum là một nền tảng điện toán có tính chất phân tán, công cộng, mã nguồn mở dựa trên công nghệ Blockchain. Nó cho phép tạo ra các hợp đồng thông minh, tạo thuận lợi cho các thỏa thuận hợp đồng trực tuyến. Nền tảng này bao gồm một máy ảo hoàn toàn Turing - Ethereum Virtual Machine (EVM), có thể thực thi các kịch bản bằng cách sử dụng một mạng lưới máy tính Ethereum. Ethereum cũng cung cấp một loại tiền mã hóa gọi là "Ether", có thể được chuyển giữa các tài khoản và được sử dụng để trả công cho các thợ đào giúp thực hiện việc tính toán. "Gas" là một cơ chế giá giao dịch nội bộ, được sử dụng để giảm thiểu giao dịch rác (spam) và phân bổ các nguồn lực trên mạng lưới.

23

Ethereum đã được đề xuất vào cuối năm 2013 bởi Vitalik Buterin, một nhà nghiên cứu tiền mã hóa và nhà lập trình. Hệ thống này đã được khởi động vào ngày 30 tháng 7 năm 2015, với 11,9 triệu đồng ether đã được đào sẵn (premined) để bán lại cho những nhà tài trợ. Số tiền này chiếm khoảng 13% tổng số ether được lưu hành.

Năm 2016, Ethereum bị chia rẽ thành hai Blockchain, do sự sụp đổ của dự án DAO (Decentralized Autonomous Organization). Hai chuỗi có số lượng người sử dụng khác nhau, và nhánh thiểu số được đổi tên thành Ethereum Classic. Nhánh đa số giữ nguyên tên Ethereum.

3.2. SỰ SỤP ĐỔ CỦA DỰ ÁN DAO

Ethereum đã thu được một số lượng lớn các phương tiện thông tin đại chúng trong năm 2016 khi một tổ chức tự trị phân cấp được gọi là The DAO - một bộ hợp đồng thông minh được phát triển trên nền tảng - thu được một khoản kỷ lục 150 triệu USD tài trợ thông qua hình thức đóng góp đám đông (crowd-funding). DAO đã bị hack một cách ngoạn mục vào tháng 6, khi một cá nhân vô danh đã lấy trộm được khoản tiền trị giá 50 triệu đô la Mỹ. Sự kiện này đã gây ra một cuộc tranh luận đáng kể trong cộng đồng mật mã về việc liệu Ethereum nên thực hiện việc chia nhánh (hard-fork) gây tranh cãi để lấy lại số tiền bị đánh cắp.

Do việc tranh chấp, Ethereum bị chia thành hai mạng. Phía thiểu số từ chối thực hiện việc chia nhánh tiếp tục sử dụng phiên bản Ethereum Blockchain cũ và gọi nó là Ethereum Classic, còn phía đa số đã ủng hộ việc chia nhánh chính thức của Ethereum.

Sự kiện DAO tạo ra sự phân ly giữa Ethereum và Ethereum Classic, mà theo một số nhà quan sát, đã tạo ra sự cạnh tranh kinh tế và tâm lý cay đắng giữa hai bên. Đây là sự tiếp nối của cuộc tranh cãi khó khăn, nơi mà phía chống lại việc chia nhánh (Ethereum Classic) bảo vệ về sự không thay đổi, mã là luật, chống lại phía Ethereum mà bảo vệ cho ý định của giao thức, cách thức phân quyền trong việc ra quyết định và giải quyết xung đột.

Các nhà phê bình khác nhau từ phía Ethereum Classic đã tố cáo việc chia nhánh như là một vụ lừa đảo và là một hành vi trộm cắp tiềm năng về sở hữu trí tuệ. Ethereum Classic đã giữ lại một số người dùng của Ethereum và cũng đã thu hút những người khác từ cộng đồng mật mã rộng hơn - những người đã từ chối việc chia nhánh gây tranh cãi trên cơ sở ý

24

thức hệ. Tuy nhiên, dự án này không được Ethereum Foundation tài trợ chính thức và cũng không được hỗ trợ bởi hiệp hội các nhà phát triển, đối tác kinh doanh, thợ mỏ và người sử dụng hệ sinh thái Ethereum.

3.3. CÁC KHÁI NIỆM CƠ BẢN 3.3.1. Hợp dồng thông minh 3.3.1. Hợp dồng thông minh

Bình thường, khi ký một hợp đồng để trao đổi giá trị kinh tế, chúng ta cần một bên thứ 3 có trách nhiệm hòa giải (ví dụ: Nhà môi giới, Tòa án, Chi cục quản lý đất đai,...). Hợp đồng thông minh là một cơ chế trao đổi xác định, được kiểm soát bởi các phương tiện kỹ thuật số mà có thể giúp cho việc thực hiện giao dịch trực tiếp giữa các thực thể mà không cần tin cậy nhau. Các hợp đồng này được định nghĩa bằng cách lập trình và được chạy chính xác như mong muốn mà không bị kiểm duyệt, lừa đảo hay sự can thiệp từ bên thứ ba trung gian.

Hình 3.16 Hợp đồng thông minh có thể tự động thực thi lệnh chuyển tiền

Chúng có thể được sử dụng để tạo điều kiện, xác minh và thực thi việc đàm phán hoặc thực hiện các hướng dẫn thủ tục kinh tế và có khả năng tránh được sự kiểm duyệt, thông đồng và rủi ro từ phía đối tác. Trong Ethereum, các hợp đồng thông minh được coi là các kịch bản tự trị hoặc các ứng dụng phân cấp được lưu trữ trong chuỗi khối Ethereum để thực hiện sau đó bởi EVM. Các hướng dẫn được nhúng trong các hợp đồng Ethereum được thanh toán bằng Ether và có thể được thực hiện bằng nhiều ngôn ngữ Turing-complete khác nhau.

25

3.3.2. Ether

Tiền mã hóa được giao dịch trong mạng lưới Ethereum được gọi là Ether. Nó được liệt kê dưới mã ETH và giao dịch trên các sàn giao dịch tiền mã hóa. Nó cũng được sử dụng để trả phí giao dịch và dịch vụ tính toán trên mạng Ethereum.

Giá trị của Ether có thể biến động lớn, ví dụ như sự sụt giảm của Ether từ 21,50 đô la Mỹ xuống còn 8 đô la Mỹ sau khi The DAO bị tấn công vào ngày 17 tháng 6 năm 2016.

3.3.3. Gas

Gas là một đơn vị được sử dụng để đo lường mức chi phí tính toán (computationally expensive) có thể tiêu tốn cho một giao dịch trên Ethereum. Giá trị của gas được quy đổi bằng một lượng ether tương ứng.

Nói cách khác gas không phải là một đơn vị tiền tệ, và bạn không thể sở hữu hay tích trữ nó. Nó chỉ đơn giản đo đạc mức tiêu hao của các phép tính toán mà hệ thống phải chịu nếu thực hiện giao dịch. Để có thể trả chi phí gas, bạn chỉ cần thêm Ether vào tài khoản của bạn. Mọi toán tử trên EVM đều có một giá trị gas nhất định.

Có hai lý do chính để gas ra đời:

• Thứ nhất, nó là một phần thưởng đảm bảo được đặc tả trước cho các thợ đào (miner) trong việc thực thi mã nguồn và bảo mật kết mạng, ngay cả khi việc thực thi bị thất bại vì một lý do nào đó.

• Thứ hai, nó đảm bảo việc thực thi không thể dài quá thời gian đã được ước lượng trước đó.

Việc này khác so với Bitcoin, nơi mà chi phí được tính bằng kích thước của giao dịch (tính bằng kilobytes), ta có thể thấy việc tính chi phí dựa trên khối lượng tính toán hợp lý hơn nhiều.

Hệ thống gas cũng không khác lắm so với việc đo lượng điện dân dụng. Điểm khác biệt với thị trường năng lượng thực chính là người tạo giao dịch sẽ quyết định giá gas (thợ mỏ có thể chấp nhận giá này hoặc không)

Giá gas cho mỗi giao dịch hay hợp đồng được thiết lập để xử lý bản chất Turing Complete của Ethereum và EVM của nó (tức là mã Ethereum Virtual Machine)- đây là một trong những ý tưởng được đưa ra để hạn chế vòng lặp vô hạn. Ví dụ như 10 szabo,

26

tương đương với 0.00001 Ether hay 1 gas có thể thực hiện một dòng mã hay vài câu lệnh. Nếu không có đủ Ether trong tài khoản để hiển thị một cuộc giao dịch hay một tin nhắn thì nó được coi là không hợp lệ. Ý tưởng này sẽ phần nào ngăn chặn được những cuộc tấn công từ vòng lặp vô hạn, khuyến khích tính hiệu quả trong chuỗi mã - và bắt những kẻ tấn công phải trả cho tài nguyên mà mình sử dụng. Câu lệnh càng phức tạp thì bạn càng phải trả nhiều gas hơn.

Bảng 3.1 Danh sách các hoạt động và chi phí của nó trong Ethereum Virtual Machine

3.3.4. ERC20 Token

Trong hệ thống của Ethereum thì ETH đóng vai trò là native token, phí giao dịch sẽ được tính trên token này. Ethereum platform còn cho phép người dùng định nghĩa token riêng và để chuẩn hóa các token này, ERC20 ra đời. Tùy mục đích của người sáng lập mà một hệ sinh thái có thể có hoặc không có token.

3.3.5. Ví đa chữ ký

Khái niệm này được nhắc đến trong nhiều loại Blockchain, ví đa chữ ký (Multi Signature Wallet) là một loại ví điện tử được tạo thành từ nhiều chữ ký khác. Nguyên lý đa chữ ký này đã xuất hiện từ lâu trước khi sự xuất hiện của Blockchain, được áp dụng vào công nghệ Blockchain để làm tăng tính bảo mật cho việc thực hiện giao dịch trên một tài khoản.

27

Ở các loại ví thông thường, chỉ cần duy nhất một khoá cá nhân của ví đó là đủ điều kiện tiến hành giao dịch. Nhưng đối với ví đa chữ ký, để giao dịch chỉ được phép thực thi khi có đủ số lượng chữ ký tối thiếu đã cấu hình trước đó. Ví dụ: Một ví được tạo ra với 3 chữ ký, điều kiện thực hiện giao dịch là 2/3 chữ ký chấp thuận.

Trong Ethereum, ví đa chữ ký có thể được tạo thành một Hợp đồng thông minh.

3.3.6. Ứng dụng phi tập trung

Ứng dụng phi tập trung (Dapp) là một loại ứng dụng chạy trên mạng ngang hàng (P2P) được kết nối trực tiếp giữa các bên tham gia vào nó, và không thông qua bất cứ một

Một phần của tài liệu Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain (Trang 33)

Tải bản đầy đủ (PDF)

(71 trang)