Cafe sáng blockchain số 7 Blockchain, tưởng cao siêu hóa ra lại quen thuộc.
Với phần lớn dân IT và các lập trình viên, họ rất quen thuộc với khái niệm database. Đó là thứ mà các lập trình viên nhìn thấy và làm việc với nó hàng ngày.
Đã có nhiều bạn dân IT hỏi mình rằng các blockchain lưu trữ dữ liệu như thế nào, có phải mỗi block là 1 file đúng không.
Thực ra cấu trúc các “block nối tiếp nhau thành chuỗi” của blockchain nằm ở tầng “logic”. Còn việc lưu trữ dữ liệu thì đa phần các chain nổi tiếng vẫn sử dụng các database mà dân IT thường sử dụng thôi.
- Bitcoin core: LevelDB (của google, lưu dạng key-value giống như memcache hay redis)
- Ethereum’s Rust: rocksdb (fork ra từ LevelDB)
- Go Ethereum, Ethereum C++, python: cũng LevelDB luôn
- Stellar (và cả PI network mà rất nhiều bạn quan tâm): SQLite, PostgreSQL (cái này thì quá đỗi thân thuộc rồi).
Vậy, cấu trúc dữ liệu blockchain chỉ là mindset, là logic, là mô hình tổ chức dữ liệu, hay cao hơn đó là 1 TRIẾT LÝ.
Còn về công nghệ, nó vẫn là những thứ mà cả trăm ngàn lập trình viên ở Việt Nam sử dụng hàng ngày, chả có gì cao siêu cả.
- Ngôn ngữ thì vẫn là C, C++, Golang, Python, …..
- Database thì vẫn là SQL hay các key-value database,....
- Về network thì vẫn là các kết nối TCP.
- Về mật mã hay chữ ký số, thì nó càng thân thuộc hơn nữa, nó nằm ở ngay giao thức HTTPS hay SSL
(Mặc dù SSL sử dụng RSA, còn phần lớn các blockchain sử dụng ECDSA, độ dài khoá ngắn hơn hơn so với RSA nếu với cùng 1 mức độ an toàn. Còn về cách ứng dụng, coding là giống nhau).
------
Trong lập trình, thì thứ quan trọng nhất không phải ngôn ngữ lập trình, không phải toán, không phải lý, mà chính là ý tưởng, kiến thức và tư duy về lĩnh vực mà phần mềm đang giải quyết.
Nhận xét
Đăng nhận xét