2020/02/06
Blockchain

Schnorr Signature là gì? Giải thích công nghệ giải quyết vấn đề về khả năng mở rộng đồng Bitcoin!

Nhìn có vẻ khó , nhưng trên thực tế, Schnorr Signature ai cũng có thể dễ dàng lý giải được .

Schnorr Signature là công nghệ chữ ký có lẽ sắp được thực thi trong Bitcoin , và là kiến thức rất quan trọng .

Bài viết này ​xin giới thiệu về bản chất chữ ký trong Bitcoin có ý nghĩa như thế nào ,khái quát ưu điểm và nhược điểm Schnorr Signature.


Chữ ký trong Bitcoin là gì ?

Schnorr Signature là kỹ thuật liên quan đến chữ ký .

Bản chất chữ ký số khác với chữ ký đơn giản như thế nào ? . Và xin giới thiệu về hình thức chữ ký ECDSA đang được sử dụng trong các giao dịch Bitcoin hiện tại .

Chỉ cần hiểu rõ điều này , thì việc lý giải về Schnorr Signature cũng sâu hơn .

Bản chất chữ ký số là gì ?

Đầu tiên chữ ký là gì ?

Nếu tìm hiểu ý nghĩa bằng từ điển , có ghi là “chữ ký là việc người ký viết tên bản thân vào hồ sơ . Và là thứ đã được viết “.

Tóm lại chữ ký số “ là chữ ký trên internet không phải là chữ ký trên giấy “

Hiện nay internet là cái không thể thiếu trong mọi hoàn cảnh .

Có lẽ bình thường không để ý nhưng ở trên mạng xã hội sẽ có những quan ngại là

  • đối tượng giao dịch là ai ?
  • người khác có thể mạo danh không ?
  • nội dung hợp đồng có thể được tin dùng không ?

Chữ ký số là kỹ thuật hữu hiệu để phòng ngừa rủi ro như trên . Nhờ có chữ ký số mà có thể an tâm giao dịch trên internet .

Sau đây xin giới thiệu về cơ chế của chữ ký số .

Người ký tên là người soạn văn bản điện tử và ký tên vào đó . Đầu tiên tôi xin giải thích nhìn từ lập trường của người ký .

① Đầu tiên sử dụng hàm số Hash , sau đó tính hàm số Hash của văn bản điện tử .

( hàm số Hash là hàm số trả về giá trị đại diện cho dữ liệu đó khi có dữ liệu được tạo ra. Lúc này ,không có dữ liệu nào có cùng giá trị Hash và không thể suy đoán được dữ liệu gốc từ giá trị Hash. )

② Và sử dụng khóa bí mật để mật mã hóa giá trị Hash , sau đó tạo chữ ký số .

Khóa bí mật là khóa đã được mật mã mà chỉ người ký có và được quản lý cẩn thận .

③ Đính kèm chữ số đã tạo vào văn bản điện tử đã soạn.

Vậy tiếp theo cùng thử nhìn từ phương diện người kiểm chứng chữ ký .

④Văn bản điện tử đã đính kèm chữ ký số sẽ được gửi đến người kiểm chứng chữ ký gốc

⑤Sử dụng hàm số Hash để tính toán giá trị Hash của văn bản điện tử . cái này toàn bộ giống với mục ①.

⑥ Tiếp theo , sử dụng khóa công khai để giải mã chữ ký số . Và khi đó giá trị Hash sẽ xuất ra .

⑦ Cuối cùng , so sánh giá trị Hash đã tìm kiếm ở ⑥ với giá trị Hash đã tìm kiếm ở ⑤.

Nếu 2 giá trị ở ⑤ và ⑥ đồng nhất , sẽ phân định rõ ràng là văn bản điện tử được tạo bởi chính chủ mang khóa bí mật đã đối ứng với khóa công khai .

Như trên ,chữ ký số thành lập bằng việc kết hợp 2 kỹ thuật “hàm số Hash “ và “ khóa công khai , khóa bí mật( mật mã )“.

Hình thức chữ ký「ECDSA」từ trước đến nay là gì ?

​Chữ ký số trong mạng lưới internet Blockchain của Bitcoin rất quan trọng .

Sau đây xin giải thích ngắn gọn hình thức chữ ký gọi là 「ECDSA」hiện nay đang được sử dụng trong Transaction của Bitcoin.

ECDSA là từ viết tắt của “Eliptic Curve Digital Signature Algorithm” , và cũng được gọi là DSA đường cong Elliptic .

Bằng việc sử dụng “độ Khó khăn của vấn đề logarit rời rạc trên đường cong Elliptic” để tạo ra tính một hướng giống như hàm số Hash đang tạo ra tình trạng là “ tạo ra khóa công khai từ khóa bí mật thì đơn giản , nhưng tìm kiếm khóa bí mật từ khóa công khai thì rất khó “

Đường cong Elliptic trong hàm số Hash đã giải thích ở trên có dính dáng đến toán học .

Schnorr Signature là gì ?

Hiện tại hình thức chữ ký của Bitcoin là ECDSA đã giải thích ở trên . Nhưng cái này dự định được chuyển đổi sang 「Schnorr Signature」mới .

Để hiểu sâu hơn về chữ ký số , sau đây xin giới thiệu về kỹ thuật xem là vấn đề chính của 「Schnorr Signature」 .

Ông C.P.Schnorr phát minh vào năm 1989

Schnorr Signature là một loại chữ ký số giống như đã giải thích ở trên ,được phát minh bởi ông C.P.Schnorr vào khoảng năm 1989 . Và hình thức chữ ký này cũng được cho rằng dễ hiểu và tính toán đơn giản hơn hình thức chữ ký số khác và tính bảo mật cũng vững chắc .

Tuy nhiên , Schnorr Signature có từ xa xưa khi Bitcoin vẫn chưa thực hiện . Trong đó đã vướng mắc lý do về chính trị và lý do về kỹ thuật .

Cùng thời điểm với Schnorr Signature ,Một tổ chức nghiên cứu lớn gọi là Viện Tiêu chuẩn Công nghệ Quốc gia hoa kỳ (NIST) đã đề xướng hình thức chữ ký số gọi là DSA,và Schnorr Signature không được sử dụng lắm vì lý do chính trị là đến năm 2008 Schnorr Signature đã được bảo hộ bản quyền cho ông Schnorr .

Thêm vào đó , cũng có lý do về tính kỹ thuật . Để chuyển đổi hình thức chữ ký Bitcoin từ ECDSA sang Schnorr Signature ,dữ liệu chữ ký trong mỗi Transaction cần phải chuyển trạng thái là đã được lưu .

Mà việc thay đổi này cần hard fork của Bitcoin. Thế nhưng vào tháng 8 năm 2018 giao thức mới Segwit đã được trang bị trong Bitcoin . Nếu giải thích đơn giản về Segwit , nó là giao thức gọi là “ dữ liệu chữ ký chiếm tỉ lệ nhiều trong Transaction bị di chuyển sang khu vực khác gọi là witness và lưu ở đó .

Do Segwit đã thực thi , nên việc chuyển đổi hình thức chữ ký chỉ cần witness thay đổi chút dựa theo Soft fork là xong . Cùng với việc trang bị Segwit , việc triển khai Schnorr Signature cũng đang tập trung sự chú ý như là các update tiếp theo .

Luận văn phát biểu của nhà phát triển Bitcoin Core

Ngày 15 tháng 1 năm 2018 , 4 nhà phát triển chính Bitcoin Core đã có bài phát biểu luận văn .

Trong bài luận văn này sẽ đề cập đến việc Schnorr Signature sẽ được điều gì dưới đây về Scalability problem của Blockchain trong Bitcoin .

Schnorr Signature là kỹ thuật tổng hợp các dữ liệu chữ ký trên phương tiện truyền thông thành một ,và cắt giảm kích cỡ dữ liệu . Và trọng điểm trong bài luận văn là “Schnorr Signature có khả năng cải tiến cả 2 phía quyền riêng tư và hiệu suất trong Bitcoin không ? “

4 nhà phát triển Bitcoin Core chính

4 nhà phát triển Core đã phát biểu luận văn là ông Greg Maxwell, Andrew Poel, Yannick Seulin, Peter Wehle .

Vốn dĩ Bitcoin được sáng lập bởi một nhân vật bí ẩn được gọi là Satoshi Nakamoto . Nhà phát triển Bitcoin Core là các kỹ sư có tâm huyết thực hiện phát triển Bitcoin từ năm 2008 ,dựa theo bảo thiết kế Bitcoin của ông Satoshi Nakamoto .

Mã code lập trình Bitcoin được công khai và ai cũng có thể xem được . Hiện tại “Nhà phát triển Bitcoin Core ” vẫn đang viết mã code đó.

Sự khác nhau giữa Schnorr Signature và ECDSA

Từ trước đến nay với ECDSA cần phải có chữ ký trong mỗi Transaction gọi là “ 1 người nhận tin từ 1 người gửi tin “ .

Trái ngược với nó, Schnorr Signature thì người nhận tin hoàn thành đơn giản chỉ bằng 1 chữ ký duy nhất mà không cần chữ ký trong mỗi Transaction .

Điều này là sự khác biệt lớn giữa Schnorr Signature và ECDSA .

Tóm lại , với Schnorr Signature có thể giảm kích cỡ dữ liệu chữ ký , và kết quả là có thể kết nối với việc giải quyết Scalability problem .

Ưu điểm của Schnorr Signature

Schnorr Signature bằng việc người nhận tin hiệu tập hợp nhiều chữ ký giống nhau trong Transaction thành một mà có thể giảm bớt kích cỡ dữ liệu chữ ký . Vì vậy ,ở các Transaction giống nhau chọn Schnorr Signature từ ECDSA để hoàn tất với số chữ ký ít .

Cái này là ưu điểm lớn nhất trong gửi tiền Multisig . Multisig là từ viết tắt của Multisignature , và là “ kỹ thuật cần phải sử dụng nhiều khóa bí mật trong chữ ký Transaction” .

Ví dụ , đăng ký 3 khóa công khai , trong đó có 2 khóa bí mật có có thể Transaction gọi là Multisig 3 trong 2 . Trong trường hợp Multisig 3 trong 2 này , nếu là ECDSA sử dụng từ trước đến này cần phải có 2 chữ ký , Nhưng nếu là Schnorr Signature có thể tập hợp các dữ liệu chữ ký vào 1 .

Gần đây có sự e dè sử dụng Scalability problem của Bitcoin . nhưng nếu Schnorr Signature được thực thi , thì dữ liệu chữ ký giảm đi rất nhiều ,và vấn đề sẽ được giải quyết . Có thể xử lý nhiều Transaction hơn do giữ nguyên kích thước hiện trạng của khối .

Thực hiện giao dịch “ nhanh , rẻ “

Do Schnorr Signature giảm đáng kể số lượng chữ ký cần thiết trong Transaction , nên có thể tập hợp nhanh hơn hình thức chữ ký sử dụng đến hiện tại , nâng cao tốc độ giao dịch .

Và lại , nói là giảm số lượng chữ ký cần thiết , nhưng thực chất là nén dữ liệu chữ ký , phí hoa hồng mất cho giao dịch cũng rẻ .

Do những điều trên mà Schnorr Signature có thể nói là giúp cho giao dịch trong Bitcoin “ nhanh và rẻ “ .

Khuyến khích sử dụng CoinJoin tăng cường bảo vệ tính riêng tư bí mật

Coin Join là kỹ thuật để bên thứ 3 không tìm ra địa chỉ của người gửi và người nhận , bằng việc tập hợp nhiều lệnh gửi tiền vào 1 lệnh .

Là kỹ thuật tuyệt vời tăng cường tính riêng tư bí mật , nhưng không được sử dụng mấy . Do hiện tại số người sử dụng Coin Join vẫn còn ít , và không có Transaction tập hợp tại cùng thời điểm , nên tính năng không phát huy hiệu quả .

Coin Join là kỹ thuật tốt có tính tương thích với Schnorr Signature ở điểm “ tập hợp lệnh gửi tiền vào 1 “ .

Nếu được trang bị Schnorr Signature , khuyến khích nên sử dụng Coin Join . Kết quả là các giao dịch ẩn danh tăng , quyền riêng tư tăng lên .

Nhược điểm của Schnorr Signature

Không thể đưa vào áp dụng nếu Segwit không phổ cập .

Segwit được update vào tháng 8 năm 2018 . Nhưng tỷ lệ áp dụng chưa được 40% trên toàn thể mạng lưới liên kết .

Để thực thi Schnorr Signature, Segwit cần phải được thực thi trước . Điều này không phải là nhược điểm của bản thân Schnorr Signature . Tuy nhiên thực thi không phải là chuyện đơn giản vậy .

Việc nâng cấp mạng lưới liên kết không tập chung phân quyền là khó

Đây không phải là nhược điểm của bản thân Schnorr Signature

Do việc đưa vào áp dụng Segwit , nên Schnorr Signature có thể thực hiện bởi Soft fork không phải là Hard fork có rủi ro phân rẽ cộng đồng Bitcoin. Tuy nhiên , việc thực thi Soft fork không đơn giản .

Việc thực hiện nâng cấp trong mạng lưới phi tập chung chủ quyền giống như Blockchain của Bitcoin ,không chỉ nhà phát triển mà toàn bộ người sử dụng .

Nhà phát triển Core của Bitcoin đã phát biểu bài luận văn vào tháng 1 năm 2018 . Nhưng để thực hiện Schnorr Signature, tìm kiếm các giải thuyết kỹ thuật đến cộng đồng Bitcoin và kiểm thử mạng lưới hơn nữa .

 


Tổng hợp về Schnorr Signature

Lần này chúng tôi đã giới thiệu về Schnorr Signature.

Hiện tại Schnorr Signature vẫn chưa được trang bị trong Bitcoin, nhưng có lẽ là sắp được trang bị.

Bạn hãy chú ý theo dõi tin tức về Bitcoin nhé