Câu hỏi thường gặp

Dịch từ https://blockstack.org/faq

Về mặt kĩ thuật, Blockstack là internet thế hệ mới cho các ứng dụng phi tập trung mà bạn truy cập thông qua trình duyệt Blockstack. Với Blockstack, có một thế giới ứng dụng mới cho phép bạn sở hữu dữ liệu và duy trì quyền riêng tư, bảo mật và tự do của mình. Đọc thêm tại https://blockstackvn.org/blog/blockstack-la-gi.html .

Đây là tên và danh tính của bạn được đăng ký trong “không gian tên” (namespace) .id trên Blockstack. Dữ liệu cá nhân và bộ nhớ của bạn được tạo xung quanh ID này. Các ứng dụng muốn truy cập dữ liệu của bạn thì phải được sự chấp nhận của bạn.

Internet phân quyền là nơi mà “người dùng” (user) không cần phải tin tưởng bất kỳ trung gian hoặc “dịch vụ từ xa” (remote services) nào. Chúng tôi hình dung một thế giới nơi người dùng kiểm soát dữ liệu của riêng họ và quyền lực sẽ quay trở lại với người dùng. Giảm thiểu chi phí để triển khai các “nút Blockstack mới” (new Blockstack nodes) là một bước quan trọng đối với nhiệm vụ đó.

Với Blockstack, các nhà phát triển (Developers) hiện có thể xây dựng các ứng dụng web:

Người dùng (user) sở hữu dữ liệu của mình chứ không phải ứng dụng

Người dùng kiểm soát nơi dữ liệu của họ được lưu trữ

Người dùng kiểm soát ai có thể truy cập dữ liệu của họ

Developers hiện có thể xây dựng các ứng dụng web:

Bạn (Developer) không phải đối phó với mật khẩu

Bạn không phải lưu trữ dữ liệu của mọi người

Bạn không phải chạy các máy chủ ứng dụng cụ thể

Hiện đa số người dùng ứng dụng web là “nô lệ kĩ thuật số” và các ứng dụng là “chủ kỹ thuật số”. Người dùng không sở hữu dữ liệu của họ; ứng dụng sở hữu nó. Người dùng không kiểm soát nơi dữ liệu được lưu trữ; họ chỉ có thể lưu trữ nó trên ứng dụng. Người dùng không kiểm soát quyền truy cập vào nó; họ chỉ tư vấn cho ứng dụng về cách kiểm soát quyền truy cập (mà ứng dụng có thể bỏ qua – vẫn cứ truy cập lén dữ liệu chẳng hạn.)

Các ứng dụng Blockstack giải quyết cả hai bộ vấn đề. Người dùng chọn các nhà cung cấp lưu trữ có sẵn cao như Dropbox hoặc BitTorrent để lưu trữ dữ liệu của họ và các ứng dụng đọc nó với sự đồng ý của người dùng. Blockstack đảm bảo rằng tất cả dữ liệu được ký và xác minh (và tùy chọn) mã hóa từ đầu đến cuối, vì vậy người dùng có thể coi các nhà cung cấp lưu trữ như ổ đĩa cứng: nếu bạn không thích, bạn có thể trao đổi dữ liệu với một nhà cung cấp khác tốt hơn. Người dùng có thể lấy dữ liệu của họ nếu họ rời khỏi ứng dụng, vì nó không bao giờ thuộc về ứng dụng.

Đồng thời, các nhà phát triển không phải mệt nhọc lưu trữ dữ liệu người dùng. Vì người dùng mang bộ nhớ của riêng mình và sử dụng mật mã khóa công khai để xác thực, các ứng dụng không phải lưu trữ bất kỳ thứ gì – không có gì để ăn cắp khi bị tấn công. Hơn nữa, các ứng dụng Web có thể tái xác định (re-factored) để mọi thứ xảy ra phía máy khách, làm giảm nhu cầu chạy các máy chủ chuyên dụng.

Bản thân ứng dụng không nên chạy chức năng ứng dụng cụ thể trên máy chủ. Tất cả chức năng của nó sẽ chạy trên điểm kết thúc (end point). Tuy nhiên, ứng dụng có thể sử dụng các “máy chủ không phải ứng dụng cụ thể” với thông báo trước rằng chúng không đáng tin cậy. Đây là trường hợp với các hệ thống lưu trữ như Amazon S3 và Dropbox chẳng hạn, vì dữ liệu của Blockstack được ký và xác minh từ đầu đến cuối (Ký và xác minh nghĩa là hệ thống lưu trữ không đáng tin cậy). Serverless cũng có nghĩa là các ứng dụng mà một số lượng “logic phía máy chủ” (server-side logic) vẫn được viết bởi nhà phát triển nhưng không giống như kiểu truyền thống được chạy trong stateless compute containers được kích hoạt sự kiện (event-triggered), tạm thời (chỉ có thể tồn tại cho một lần gọi)

Ứng dụng phi tập trung (Decentralized apps) là một loại chương trình phần mềm mới được thiết kế để tồn tại trên Internet theo cách không bị kiểm soát bởi bất kỳ thế lực đơn lẻ nào. Trường hợp bitcoin là một ứng dụng trao đổi giá trị phi tập trung nhằm mục đích đạt được chức năng cao hơn các phương thức truyền thống. Decentralized apps đang bắt đầu nổi lên khi mà công nghệ blockchain tiếp tục tiến triển. Nhiều công ty và cá nhân nhìn thấy tiềm năng của việc áp dụng phi tập trung, nó không chỉ giới hạn ở tiền mà còn có thể áp dụng ở nhiều lĩnh vực khác.

Decentralized apps có khả năng đại diện cho công nghệ máy tính tiếp theo (next generation of computing). Trong một thế giới hoàn toàn phi tập trung tất cả mọi thứ xảy ra bằng cách sử dụng các mạng ngang hàng và ý tưởng của các thực thể tập trung (centralized) không còn tồn tại. Tương lai phân phối này vẫn đang được thiết kế và xây dựng, nhưng giai đoạn phát triển ban đầu đang có vẻ đầy hứa hẹn.

Tất cả mọi người! Nhưng nghiêm túc hơn, nếu bạn đang xây dựng một ứng dụng trong JavaScript yêu cầu đăng nhập và lưu trữ, bạn nên xem xét sử dụng Blockstack. API mà chúng tôi cung cấp không chỉ phi tập trung (Không phụ thuộc vào Google, Facebook hoặc nhà cung cấp OAuth khác) mà dễ sử dụng hơn OAuth truyền thống. Ngoài ra, bạn không còn phải duy trì và bảo mật cơ sở dữ liệu với tất cả thông tin người dùng của mình nữa. Dữ liệu đó được lưu trữ an toàn với những người tạo ra nó (User)

Các miền Blockstack không được đăng ký trên DNS truyền thống (kiểm soát bởi tổ chức bởi ICANN). Thay vào đó, chúng được đăng ký trên một blockchain theo cách phi tập trung. Điều này có nghĩa là các miền Blockstack thuộc về chủ sở hữu của chúng và không thể bị lấy đi. Tất cả các miền Blockstack có khóa công khai (public key) theo mặc định (phải có publich key mới sở hữu miền được), không giống như DNS truyền thống –> chỉ có một phần nhỏ tên miền nhận được chứng chỉ khóa công khai (phải tùy chỉnh).

Blockstack được thiết kế xung quanh một khái niệm “virtual chain”, nơi các nút (nodes) chỉ cần đạt được sự đồng thuận về “virtual chain” – cái mà họ quan tâm đến. Virtual chain không tương tác với nhau và chỉ cần một blockchain có thể lưu trữ nhiều virtual chain. Các chuỗi ảo này có thể sống trong bất kỳ blockchain nào miễn là có một trình điều khiển và các máy khách chuỗi ảo (virtual chain clients) chỉ cần thực hiện các giao dịch chuỗi ảo của họ (nghĩa là Blockstack chỉ xử lý các giao dịch chuỗi ảo Blockstack). Đơn giản hoá – Virtual chain có thể chạy trên gần như tất cả các Blockchain hiện nay.

Blockstack Core là chỉ đến Blockstack giao thức (protocol) được mô tả trong tài liệu trắng (white paper) của Blockstack. Nó bao gồm một vài phần:

Triển khai Virtualchain: Đây là thư viện python phân tích cú pháp phần blockchain bên dưới (bitcoin) và xây dựng trạng thái (state) của Blockstack DNS.

Blockstack Core: Sử dụng Virtualchain để xây dựng DNS state và đi đến một sự đồng thuận về state đó trong một mạng ngang hàng (Atlas).

Blockstack API: Lập chỉ mục dữ liệu được lưu trữ bởi Blockstack Core và làm cho nó khả dụng theo cách hiệu quả cho các ứng dụng.

Dự án là mã nguồn mở và mọi người đều có thể đóng góp! Những người đóng góp chính chủ yếu là nhân viên của Blockstack PBC. Bạn có thể xem danh sách đầy đủ các cộng tác viên tại đây: https://github.com/blockstack/blockstack-core/graphs/contributors

Onename là công ty đăng ký Blockstack ID miễn phí do Blockstack quản lý. Nó giúp bạn dễ dàng đăng ký tên và thiết lập hồ sơ của bạn. Một khi tên đã được đăng ký trong Onename bạn có thể chuyển nó vào ví bạn kiểm soát, hoặc để nó ở đó và sử dụng nó như bạn muốn.

Blockstack DNS khác với Namecoin DNS theo một vài cách cơ bản: phân tầng blockchain, mô hình lưu trữ, mô hình định giá tên và ưu đãi cho thợ mỏ. Chúng tôi đã viết một bài đăng nơi bạn có thể tìm hiểu thêm tại đây: https://blockstack.org/docs/blockstack-vs-namecoin

Blockstack sử dụng Bitcoin blockchain cho nguồn của sự thật.

Bạn có thể nghĩ Ethereum là một blockchain “nặng” làm mọi thứ cho bạn. Tất cả sự phức tạp được xử lý trên blockchain, tính toán được chạy ở đó, và tất cả các mối quan tâm về khả năng mở rộng và bảo mật cần phải được xử lý ở cấp blockchain. Có thể nói Ethereum là một “máy tính lớn” chạy tất cả các ứng dụng trong hệ sinh thái.

Blockstack đặt logic tối thiểu vào một blockchain và xử lý khả năng mở rộng bên ngoài blockchain bằng cách tái sử dụng cơ sở hạ tầng internet hiện có. Thiết kế kiến trúc của chúng tôi phản ánh cách tính toán đã phát triển; di chuyển từ mainframes sang các thực thể được nối mạng nhỏ hơn (smaller networked entities)

Đọc thêm về sự khác biệt giữa Blockstack và Ethereum dapps trong bài đăng trên diễn đàn sau: https://forum.blockstack.org/t/what-is-the-difference-between-blockstack-and-ethereum/781/2

Blockstack hiện đang khám phá cách có thể chạy trên nhiều Blockchains một lúc. Nghĩa là giả sử .id được thiết lập để chạy trên Bitcoin và .eth chạy trên Ethereum. Blockstack có thể xử lý các giao dịch từ cả hai blockchains và cập nhật trạng thái của các namespaces, nhưng tính nhất quán của bất kỳ namespace nào chỉ phụ thuộc vào underlying blockchain mà nó đã được thiết lập.

Không, tính đến tháng 11 năm 2016. Bockstack sử dụng một hệ thống đáng tin cậy hơn nhiều được gọi là Mạng Atlas. Chi tiết tại đây: https://blog.blockstack.org/blockstack-core-v0-14-0-release-aad748f46d#.30gzlthdw

Có, Blockstack Networj có thể Fork nếu phần underlying blockchain rơi vào chia nhánh sâu (deep fork). Trong trường hợp này Blockstack Nodes ở các bên sẽ từ từ tập trung về một bên.

Blockstack chưa gặp phải deep fork bao giờ. Nếu điều này xảy ra, Blockstack sẽ sử dụng trạng thái chuỗi ảo (virtualchain state) trên nhánh mạnh (majority fork) khi quá trình fork kết thúc.

Blockstack cũng thực hiện HardFork mỗi năm một lần để thay đổi các giao thức và nâng cấp mạng. Lần gần đây nhất xảy ra tại block 488500 trên Bitcoin blockchain. Chi tiết về Fork được đăng trên diễn đàn: https://forum.blockstack.org/t/blockstack-annual-hard-fork-2017/1618

Blockstack đang áp dụng cách bỏ phiếu trên mạng khá giống với cách khai thác hoạt động (mining works), nơi mà bất cứ ai có thể bỏ phiếu – tỷ lệ thuận với số lượng Bitcoin bị đốt cháy. Tương tự như cách nâng cấp Bitcoin, một tính năng mới sẽ kích hoạt nếu số lượng phiếu bầu đạt ngưỡng nhất định (ví dụ: 80%) trong một khoảng thời gian nhất định (ví dụ: một vài tuần).

Cho đến lúc đó, Blockstack sẽ công bố công khai tính khả dụng phần mềm mới, với lời hứa rằng mỗi bản phát hành sẽ mang lại các tính năng tuyệt vời để đáp ứng, nâng cao mong muốn của người dùng.

Với thiết kế hiện tại, tên được mua bằng cách trả tiền đăng kí và phí cho thợ đào Bitcoin.

Công việc về dự án bắt đầu vào cuối năm 2013. Công khai mã đầu tiên là từ tháng 1 năm 2014. Công ty đăng ký đầu tiên cho Blockstack vào tháng 3 năm 2014 và dự án đã phát triển kể từ đó. Xem trang này cho lộ trình phát triển hiện tại

Dự án được bắt đầu bởi hai kỹ sư từ Đại học Princeton. Muneeb Ali và Ryan Shea gặp nhau tại khoa Khoa Học Máy Tính tại Princeton, nơi Muneeb đã hoàn thành bằng tiến sĩ và Ryan đang điều hành câu lạc bộ những nhà lãnh đạo. Trong năm 2014, thất vọng bởi các rào cảnh, tường lửa bao quanh và các vấn đề an ninh của Internet hiện tại, họ bắt đầu làm việc trên một mạng phi tập trung được bảo vệ bởi các blockchains. Dự án hiện đang được duy trì bởi Jude Nelson, Muneeb Ali, Ryan Shea, Larry Salibra và Guy Lepage. Có thể tìm thấy danh sách đầy đủ các cộng tác viên tại đây và tại đây.

Hầu hết các Core Developers đều làm việc ở NYC và Hồng Kông. Các nhà phát triển đã đóng góp vào phần mềm nguồn mở cốt lõi trong một khoảng thời gian đủ dài, theo mặc định, được đưa vào danh sách Core Developers. Không có quy trình chính thức nào để trở thành một phần của danh sách không chính thức này. Core developers, nói chung, có khả năng viết mã chất lượng cao, hiểu các hệ thống phân tán và mật mã được áp dụng, và chia sẻ một tầm nhìn về việc xây dựng một internet phi tập trung thực sự và quyết định sẽ cống hiện vì điều đó.

Blockstack, như Linux, là một dự án nguồn mở với giấy phép GPLv3 cho công nghệ cốt lõi (core technology). Cũng giống như các công ty khác nhau xây dựng các ứng dụng và dịch vụ trên Linux và có các mô hình kinh doanh riêng, có những công ty đang xây dựng ứng dụng và dịch vụ cho Blockstack trên công nghệ nguồn mở cốt lõi và các công ty này có nhiều mô hình kinh doanh và nguồn tiền khác nhau tương ứng. Có nhiều công ty được đầu tư bởi Venture Capitals tham gia vào hệ sinh thái cho Internet phi tập trung là một điều tốt cho mọi người tham gia vào hệ sinh thái bao gồm người dùng và nhà phát triển.

Không. Khi bạn đang sử dụng ứng dụng Blockstack, bạn kiểm soát dữ liệu và ID của mình bằng khóa riêng. Khóa riêng tư này không bao giờ rời khỏi thiết bị của bạn và có nghĩa là luôn ở trên máy tính xách tay / điện thoại của bạn. Miễn là không ai có quyền truy cập vào khóa riêng của bạn, không ai có thể kiểm soát dữ liệu hoặc ID của bạn. Khi bạn sử dụng Blockstack, theo thiết kế, các khóa riêng của bạn sẽ không bao giờ được gửi đến bất kỳ máy chủ từ xa nào.

Bạn sở hữu tên của bạn trong ~ 2 năm. Bạn phải gia hạn 2 năm một lần hoặc hết hạn và người khác có mua nó.

Bạn kiểm soát nơi dữ liệu của bạn nơi nó được lưu trữ (bạn có thể chạy máy chủ của riêng hoặc sử dụng bộ nhớ đám mây của riêng bạn – Dropbox, Amazon S3 và giữ sao lưu trên tất cả). Sau đó, bạn sử dụng những địa điểm đó làm vị trí được chỉ bởi các URL trong tệp vùng Blockstack ID của bạn. Bạn có thể lấy tệp vùng với blockstack lookup trong CLI (Xem video cài đặt trong loạt video hướng dẫn CLI của chúng tôi. Cần trợ giúp về cách người dùng kiểm soát ai truy cập dữ liệu

Các bản ghi Blockstack cực kỳ khó làm xáo trộn. Điều này là do các ràng buộc cho quyền sở hữu tên (tên trên Blockstack được sở hữu bởi khóa công khai) được công bố trong một blockchain hoạt động (Bitcoin) và để thay đổi các ràng buộc một kẻ tấn công sẽ cần phải taọ ra một blockchain với nhiều bằng chứng- của công việc (PoW) hơn so với blockchain Bitcoin hiện tại nhưng với một lịch sử khác nhau. Tỷ lệ Hash hiện tại của Bitcoin khiến nhiệm vụ này gần như không thể đối với bất cứ ai (nếu liên hiệp các quốc gia thì có thể sẽ khác)

, bất kỳ ai cũng có thể đăng ký TLD. Nếu một TLD chưa được đăng ký và bạn sẵn sàng trả phí đăng ký cho nó, bạn có thể đăng ký TLD đó. Không có bên tập trung nào có thể ngăn bạn đăng ký TLD.

Có! Các ứng dụng sử dụng Blockstack chạy trong trình duyệt web mà bạn biết và yêu thích. Bạn sẽ cần phải tải xuống và cài đặt Blockstack trên máy tính của mình để sử dụng một số tính năng nhất định của ứng dụng sử dụng Blockstack.

Sử dụng trình duyệt Blockstack! Kiểm tra trang cài đặt của chúng tôi để biết thêm thông tin: https://blockstack.org/install

Để làm cho các ứng dụng chạy trong trình duyệt web sử dụng Blockstack, bạn có thể sử dụng JavaScript và bất kỳ khung công tác web hoặc thư viện nào mà bạn sử dụng ngày nay như React, AngularJs, Vue.js hoặc jQuery. Blockstack Core được triển khai bằng Python, nhưng bạn có thể sử dụng bất kỳ ngôn ngữ nào bạn thích cho các ứng dụng gốc miễn là bạn có thể sử dụng JSON REST API.

Đây là cụm từ dành cho nhà phát triển, được sử dụng cho ứng dụng mà người dùng sử dụng để tạo và quản lý danh tính cũng như cấu hình bộ nhớ của họ. Nó cũng xử lý các yêu cầu xác thực từ các ứng dụng cho phép người dùng đăng nhập bằng Blockstack. Khi người dùng nhấp vào nút Đăng Nhập (Log In) bằng Blockstack, họ sẽ được chuyển hướng đến Blockstack Browser để phê duyệt yêu cầu trước khi đăng nhập vào ứng dụng. Trình duyệt cũng là nơi người dùng có thể truy cập và sử dụng các ứng dụng bằng Blockstack.

Chúng tôi có một hướng dẫn tuyệt vời về việc bắt đầu xây dựng các ứng dụng Blockstack: https://blockstack.org/tutorials/todo-list

Không, nhưng nó rất dễ.

Để giảm chi phí liên quan đến việc bắt đầu, chúng tôi duy trì một nhóm các Blockstack Core nodes mà các ứng dụng Blockstack của bạn kết nối theo mặc định. Nếu bạn muốn chạy riêng, chúng tôi cung cấp hướng dẫn chi tiết trên trang cài đặt. Nó chỉ mất khoảng 5-10 phút để khởi chạy Full Node của bạn!

Đăng ký ban đầu có thể được thực hiện theo thứ tự hàng trăm mỗi khối và khi danh tính được đăng ký, bạn có thể thực hiện cập nhật “không giới hạn” dữ liệu vì đó là off-chain. Chúng tôi cũng đang làm việc trên một giải pháp có khả năng mở rộng hơn, nơi có thể đăng ký một số lượng lớn danh tính nhưng chưa live và đang trong quá trình chuẩn bị. vào mùa hè năm 2015, Blockstack đã thực hiện 30.000 đăng ký nhận dạng trong vài ngày trực tiếp trên blockchain. Blockstack thực sự điều chỉnh các máy chủ của mình và không chiếm hơn 100-200 giao dịch trên mỗi khối. Nó có thể dễ dàng thực hiện nhiều giao dịch hơn mà không ảnh hưởng đến mạng.

Chạy một Blockstack node giúp bảo mật bằng cách đảm bảo rằng ứng dụng của bạn nhận được tên và khóa công khai phù hợp. Nó không đắt tiền; cần lượng tài nguyên như một tab Chrome.

Được chứ. Blockstack chỉ sử dụng blockchain để đăng ký tên. Mọi thứ khác xảy ra ngoài chuỗi, vì vậy các ứng dụng hoạt động nhanh như trên Web.

, mạng Blockstack sẽ tiếp tục chạy. Tất cả các mã Blockstack là mã nguồn mở và bất cứ ai cũng có thể triển khai các Blockstack nodes hoặc duy trì mã. Hơn nữa, các Blockstack nodes không cần phối hợp với nhau để hoạt động. Bất kỳ node nào mà người dùng triển khai đều có thể hoạt động độc lập một cách chính xác.