Segwit là gì?
Chúng ta đã biết nhiều về những lợi ích nổi trội của blockchain, song không có gì là hoàn hảo. Blockchain cũng có vài vấn đề về khả năng mở rộng và SegWit được ra đời để giải quyết vấn đề này. Trong bài viết này hãy cùng BlockchainWork tìm hiểu xem SegWit là gì và nó khắc phục vấn đề này của blockchain như thế nào.
Mục lục bài viết
Ổ khoá và chìa khoá trong Bitcoin (scriptSig and scriptPubKey)
Để hiểu Segwit, trước tiên bạn cần có một số kiến thức về giao dịch Bitcoin.
Các giao dịch (dữ liệu giao dịch) được ghi lại trên chuỗi khối Bitcoin bao gồm hai phần: đầu vào và đầu ra. Giao dịch khi gửi tiền là đầu vào và chứa thông tin của người gửi. Mặt khác, giao dịch khi nhận tiền là đầu ra và chứa thông tin của đích. Đầu vào và đầu ra cũng được mô tả trong các bài viết sau.
Trong một giao dịch Bitcoin, input (đầu vào) đề cập đến số tiền được chi tiêu và output (đầu ra) đề cập đến số tiền nhận được. Mỗi đầu vào chứa tham chiếu đến đầu ra giao dịch trước đó, được gọi là “ID giao dịch” và “index” xác định đầu ra nào trong giao dịch đó đang được chi tiêu. Nó cũng chứa một chữ ký điện tử, được gọi là scriptSig, chứng minh rằng người chi tiêu bitcoin được ủy quyền để làm như vậy.
Mặt khác, mỗi output chứa địa chỉ đích (script PubKey) và số lượng bitcoin sẽ được chuyển. ScriptPubKey chỉ định cụ thể các điều kiện phải được đáp ứng để chi tiêu bitcoin trong tương lai.
Cả scriptSig và scriptPubKey đều được viết bằng ngôn ngữ lập trình dành riêng cho Bitcoin được gọi là “transaction script”. ScriptSig còn được gọi là ” unlocking script (tập lệnh mở khóa)” vì nó chứa chữ ký số và bất kỳ dữ liệu cần thiết nào khác để chứng minh rằng người chi tiêu bitcoin được phép làm như vậy. Chữ ký này được tạo bởi chủ sở hữu khóa riêng được liên kết với địa chỉ Bitcoin. ScriptSig sử dụng chữ ký và bất kỳ dữ liệu cần thiết nào khác để “mở khóa” số bitcoin được sử dụng.
Mặt khác, script PubKey được gọi là “locking script (tập lệnh khoá)” vì nó chứa các điều kiện phải đáp ứng để chi tiêu bitcoin trong tương lai. Các điều kiện này thường là một phương trình toán học chỉ có thể được giải bởi người có khóa riêng (private key) được liên kết với địa chỉ đích. scriptPubKey “khóa” bitcoin chủ yếu để chỉ người có khóa riêng tư chính xác mới có thể giao dịch chúng. Tóm lại, scriptSig được sử dụng để chứng minh quyền sở hữu số bitcoin được chi tiêu, trong khi scriptPubKey được sử dụng để chỉ định các điều kiện phải đáp ứng để chi tiêu bitcoin trong tương lai.
Sơ đồ minh hoạ ScriptSig và scriptPubkey
Vậy SegWit là gì?
Segwit là từ viết tắt của “Segregated Witness”, dịch theo nghĩa đen là “tách chữ ký”. Hiểu theo một cách khác, Segwit tách chữ ký có trong scriptSig của Bitcoin và lưu trữ ở một khu vực riêng. Sự tách chữ ký này cho phép xử lý nhiều giao dịch hơn trong mỗi khối, tăng không gian của mạng. Dữ liệu chữ ký được lưu trữ trong một khu vực riêng gọi là “witness (tạm dịch: nhân chứng)” và không được đưa vào tính toán kích thước của giao dịch, vì thế nó giúp giải phóng không gian trong mỗi khối và cho phép xử lý nhiều giao dịch hơn.
SegWit được đề xuất bởi nhà phát triển Peter Wuille và có thể triển khai thông qua một soft fork. Điều này nghĩa là nó có thể được thêm vào giao thức Bitcoin mà không gây ra sự phân chia trong chuỗi khối. Đây là một thay đổi tương thích ngược, nghĩa là nó duy trì khả năng tương thích với tất cả dữ liệu trong quá khứ. Trước SegWit, dữ liệu chữ ký chiếm khoảng 60% chuỗi khối Bitcoin, cản trở khả năng mở rộng từ góc độ dung lượng dữ liệu. Bằng cách tách riêng dữ liệu chữ ký, SegWit cho phép sử dụng không gian chuỗi khối hiệu quả hơn và cải thiện khả năng mở rộng. Ngoài ra, nó cũng giúp giải quyết các vấn đề liên quan đến tính linh hoạt của giao dịch và là điều kiện tiên quyết để triển khai Lightning Network, một giải pháp mở rộng quy mô được đề xuất cho phép giao dịch ngoài chuỗi nhanh hơn và rẻ hơn.
>> Xem thêm: Lightning Network là gì?
Ưu điểm của SegWit
Tóm tắt hai ưu điểm chính của SegWit như sau:
Tăng kích thước khối
Một trong những lợi ích chính của SegWit là khả năng tăng dung lượng của từng khối trên chuỗi khối Bitcoin. Bằng cách tách dữ liệu chữ ký (hoặc dữ liệu “witness”) khỏi phần còn lại của dữ liệu giao dịch, SegWit cho phép đưa nhiều giao dịch hơn vào mỗi khối mà không làm tăng kích thước khối. Do đó, việc thay đổi về cách lưu trữ dữ liệu này sẽ cho phép lưu trữ lượng thông tin nhiều gấp bốn lần trong kích thước khối 1 MB.
Một công thức tính kích thước mới được đưa ra dựa vào SegWit như sau:
Dữ liệu khác ngoài witness + witness/4 ≤ 1MB (witness: dữ liệu liên quan đến chữ ký)
Phần chữ ký và phần dữ liệu không phải chữ ký được phân tách như trong công thức trên mà không làm thay đổi giới hạn quy ước về kích thước khối ≤ 1MB. Do đó, nếu tất cả thông tin trong dữ liệu là chữ ký, thì về mặt lý thuyết, có thể lưu trữ tối đa 4MB dữ liệu giao dịch. Tuy nhiên, sẽ không thực tế lắm nếu tính toán theo trường hợp tất cả dữ liệu giao dịch là dữ liệu chữ ký, nên kích thước khối trung bình thực tế dự kiến sẽ rơi vào khoảng 1,7 MB.
Giải quyết tính linh hoạt của giao dịch
Bitcoin có một lỗ hổng được gọi là “tính linh hoạt trong giao dịch”. Để xác định từng giao dịch, Bitcoin sử dụng giá trị băm của toàn bộ dữ liệu giao dịch được gọi là ID giao dịch. Đây là giá trị băm được mô tả khi kiểm tra nội dung chuyển tiền trên Blockchain.com, v.v. Tuy nhiên, ID giao dịch này thực sự có thể bị thay đổi bởi một nút độc hại. Tính linh hoạt của giao dịch là một lỗ hổng trong mạng Bitcoin cho phép một nút độc hại thay đổi ID giao dịch của một giao dịch mà không thay đổi các chi tiết giao dịch như điểm đến, số tiền và địa chỉ. Điều này có thể gây nhầm lẫn và gây khó khăn cho việc theo dõi các giao dịch trên mạng. Và vấn đề này cũng là lý do SegWit được tạo ra. SegWit là một bản nâng cấp phần mềm cho Bitcoin, giải quyết lỗ hổng này bằng cách cô lập tập lệnh đầu vào gây ra tính linh hoạt và tạo một vùng tập lệnh mới được tham chiếu thay vì tập lệnh đầu vào trước đó. Điều này ngăn chặn các nỗ lực thay đổi chi tiết giao dịch và giải quyết hiệu quả vấn đề về tính linh hoạt của giao dịch.
Kết luận
Segwit được xem là một bước phát triển lớn trong thế giới công nghệ chuỗi khối. Nó giúp tăng hiệu quả các giao dịch, cải thiện khả năng mở rộng của chuỗi cũng như giúp người dùng có thể giảm đáng kể các chi phí giao dịch và làm tăng độ tin cậy khi lưu trữ dữ liệu.
Với việc đưa vào blockchain, Segwit đã cách mạng hóa cách các công ty xử lý các giao dịch kỹ thuật số và lưu trữ dữ liệu, điều này chắc chắn sẽ định hình tương lai của công nghệ blockchain. Hy vọng bài viết trên hữu ích với các bạn và đừng quên đón chờ các bài viết sau thú vị hơn.
BlockchainWork biên dịch
Nguồn: Gaiax Blockchain, Blockchain101
- Tìm hiểu thêm về BlockchainWork tại website: https://blockchainwork.net/
- Ứng viên nắm bắt cơ hội việc làm tại đây: https://blockchainwork.net/candidate-signup
- Nhà tuyển dụng kết nối các tài năng trẻ tại đây: https://blockchainwork.net/employer-signup
>> Có thể bạn quan tâm:
- Hard fork và soft fork là gì?
- NFT là gì? Toàn tập cơn sốt về NFT mà bạn không nên bỏ lỡ
- Mật mã đường cong Elliptic (ECC) là gì?
Công nghệ sổ cái phân tán (DLT): Tiềm năng và Triển vọng Phát triển
Dù bạn đã biết blockchain là công nghệ nền tảng của các loại tiền mã hóa như Bitcoin và Ethereum, nhưng bạn có bao giờ tự hỏi điều gì thật sự tạo nên sức mạnh của blockchain? Ẩn sâu bên…
Các phương pháp tăng cường bảo mật các dự án Web3
Công nghệ Web3 đang trở thành một xu hướng quan trọng trong ngành công nghiệp công nghệ thông tin và truyền thông. Các dự án Web3 không chỉ mang lại những cơ hội mới mẻ mà còn tạo…
Tổng hợp khóa học, tài liệu Web3 miễn phí theo lộ trình cụ thể
Để bắt đầu học về blockchain, việc tìm nguồn tài liệu cũng như khóa học uy tín và miễn phí là rất quan trọng. Blockchain là một công nghệ mới mẻ và phức tạp, nó đòi hỏi người…
Kiểm toán Blockchain (Blockchain audit): Tầm quan trọng và các phương pháp hay nhất
Nền tảng blockchain đã và đang trở thành tâm điểm trong thế giới công nghệ. Blockchain đã gia nhập vào hầu hết mọi lĩnh vực, bao gồm quản lý chuỗi cung ứng, game, chăm sóc sức khỏe và quan trọng…
Các ứng dụng blockchain thực tế tại Việt Nam
Blockchain đã trở thành một công nghệ nổi bật trong nhiều lĩnh vực tại Việt Nam, đặc biệt là trong giáo dục, sức khỏe, giải trí, sản xuất, quản lý nhà nước và ngân hàng. Đặc biệt, blockchain…
Nhận thông tin mới nhất về sự kiện BlockchainWork
Đăng ký và thông báo tất cả các việc làm liên quan