Tránh dự án blockchain vô nghĩa

Cách xác định xem bạn đã tìm thấy trường hợp sử dụng blockchain thực sự chưa

Blockchains được tăng cường. Ở đó, tôi đã nói nó. Từ SIBOS đến Tiền20/20 để kể những câu chuyện về The EconomistEuromoney, mọi người dường như đang leo lên toa xe blockchain. Và không còn nghi ngờ gì nữa, giống như những người khác trong không gian, chúng tôi thấy số lượng công ty ngày càng tăng nhanh chóng xây dựng bằng chứng về khái niệm nền tảng của chúng tôi và / hoặc yêu cầu sự giúp đỡ của chúng tôi.

Là một công ty khởi nghiệp trẻ, bạn sẽ nghĩ rằng chúng tôi sẽ vượt qua mặt trăng. Chắc chắn bây giờ là lúc để huy động hàng tấn tiền và xây dựng nền tảng blockchain thế hệ tiếp theo hiệu suất cao mà chúng tôi đã thiết kế. Chúng ta đang chờ đợi điều gì trên trái đất?

Tôi sẽ cho bạn biết những gì. Chúng tôi đang chờ đợi để hiểu rõ hơn về vị trí của các blockchains chân thật gia tăng giá trị trong CNTT doanh nghiệp. Bạn thấy đấy, một tỷ lệ lớn các dự án sắp tới này có không có gì để làm với blockchains cả. Đây là cách nó diễn ra. Công ty lớn nghe nói rằng blockchain là điều quan trọng tiếp theo. Công ty lớn tìm thấy một số người trong nội bộ những người quan tâm đến chủ đề này. Công ty lớn cung cấp cho họ một khoản ngân sách và yêu cầu họ làm một cái gì đó blockchain. Không lâu sau, họ đến gõ cửa nhà chúng tôi, vẫy những tờ đô la, yêu cầu us giúp đỡ họ nghĩ ra một trường hợp sử dụng. Nói gì bây giờ?

Đối với những người có một dự án trong tâm trí, vấn đề là gì? Trong nhiều trường hợp, dự án có thể được thực hiện một cách hoàn hảo sử dụng cơ sở dữ liệu quan hệ thông thường. Bạn biết đấy, những người khổng lồ sắt như OracleSQL serverhoặc cho những người cởi mở hơn, MySQLBưu điện. Vì vậy, hãy để tôi bắt đầu bằng cách thiết lập mọi thứ thẳng:

Nếu các yêu cầu của bạn được đáp ứng bởi các cơ sở dữ liệu quan hệ ngày nay, bạn sẽ thật điên rồ khi sử dụng một blockchain.

Tại sao? Bởi vì các sản phẩm như Oracle và MySQL có hàng chục năm phát triển đằng sau chúng. Chúng đã được triển khai trên hàng triệu máy chủ đang chạy hàng nghìn tỷ truy vấn. Chúng chứa một số mã được kiểm tra, gỡ lỗi và tối ưu hóa kỹ lưỡng nhất trên hành tinh, xử lý hàng nghìn giao dịch mỗi giây mà không tốn một chút mồ hôi.

Còn blockchains thì sao? Tốt, sản phẩm của chúng tôi là một trong những ứng dụng đầu tiên được tung ra thị trường và đã có mặt trong đúng 5 tháng, với vài nghìn lượt tải xuống. Trên thực tế, nó cực kỳ ổn định, bởi vì chúng tôi đã xây dựng nó Bitcoin Core, phần mềm cung cấp năng lượng cho bitcoin. Nhưng ngay cả như vậy, toàn bộ danh mục sản phẩm này vẫn còn trong tã.

Vì vậy, tôi đang nói rằng blockchains là vô dụng? Tuyệt đối không. Nhưng trước khi bạn bắt tay vào dự án blockchain sáng bóng đó, bạn cần phải có một ý tưởng rất rõ ràng về tại sao bạn lại sử dụng blockchain. Có một loạt các điều kiện cần được đáp ứng. Và nếu không, bạn nên quay lại bảng vẽ. Có lẽ bạn có thể xác định dự án tốt hơn. Hoặc có thể bạn có thể giúp mọi người tiết kiệm thời gian và tiền bạc, bởi vì bạn không cần một blockchain nào cả.

1. Cơ sở dữ liệu

Đây là quy tắc đầu tiên. Blockchains là một công nghệ dành cho cơ sở dữ liệu dùng chung. Vì vậy, bạn cần bắt đầu bằng cách biết lý do tại sao bạn đang sử dụng cơ sở dữ liệu, theo ý tôi là kho lưu trữ thông tin có cấu trúc. Đây có thể là một truyền thống cơ sở dữ liệu quan hệ, có chứa một hoặc nhiều bảng giống như bảng tính. Hoặc nó có thể là xu hướng NoSQL nhiều, hoạt động giống như một hệ thống tập tin hoặc từ điển. (Ở cấp độ lý thuyết, cơ sở dữ liệu NoQuery chỉ là một tập hợp con của cơ sở dữ liệu quan hệ.)

Sổ cái cho các tài sản tài chính có thể được biểu thị một cách tự nhiên như một bảng cơ sở dữ liệu trong đó mỗi hàng đại diện cho một loại tài sản thuộc sở hữu của một thực thể cụ thể. Mỗi hàng có ba cột chứa: (a) số nhận dạng của chủ sở hữu chẳng hạn như số tài khoản, (b) số nhận dạng cho loại tài sản như “USD” hoặc “AAPL” và (c) số lượng tài sản đó chủ nhân.

Cơ sở dữ liệu được sửa đổi thông qua "giao dịch" đại diện cho một tập hợp các thay đổi đối với cơ sở dữ liệu mà phải được chấp nhận hoặc từ chối toàn bộ. Ví dụ: trong trường hợp sổ cái tài sản, khoản thanh toán từ người dùng này cho người dùng khác được thể hiện bằng một giao dịch khấu trừ số lượng thích hợp từ một hàng và thêm nó vào một hàng khác.

2. Nhiều nhà văn

Điều này thật dễ dàng. Blockchains là một công nghệ dành cho cơ sở dữ liệu với nhiều nhà văn. Nói cách khác, cần phải có nhiều hơn một thực thể tạo ra các giao dịch sửa đổi cơ sở dữ liệu. Bạn có biết những nhà văn này là ai không?

Trong hầu hết các trường hợp, người viết cũng sẽ chạy các "nút" giữ một bản sao của cơ sở dữ liệu và chuyển tiếp các giao dịch đến các nút khác trong peer-to-peer thời trang. Tuy nhiên, các giao dịch cũng có thể được tạo bởi những người dùng không tự chạy một nút. Ví dụ: hãy xem xét một hệ thống thanh toán được duy trì chung bởi một nhóm nhỏ các ngân hàng nhưng có hàng triệu người dùng cuối trên thiết bị di động, chỉ giao tiếp với hệ thống của chính ngân hàng của họ.

3. Sự vắng mặt của niềm tin

Và bây giờ cho quy tắc thứ ba. Nếu nhiều thực thể đang ghi vào cơ sở dữ liệu, thì cũng cần phải có một mức độ nào đó ngờ vực giữa những thực thể đó. Nói cách khác, blockchains là một công nghệ cho cơ sở dữ liệu với nhiều nhà văn không tin tưởng.

Bạn có thể nghĩ rằng sự ngờ vực chỉ phát sinh giữa các tổ chức riêng biệt, chẳng hạn như các ngân hàng giao dịch trên thị trường hoặc các công ty tham gia vào chuỗi cung ứng. Nhưng nó cũng có thể tồn tại trong một tổ chức lớn, ví dụ giữa các phòng ban hoặc các hoạt động ở các quốc gia khác nhau.

Tôi có ý gì đặc biệt khi nói đến sự ngờ vực? Ý tôi là một người dùng không sẵn lòng cho phép người khác sửa đổi các mục cơ sở dữ liệu mà họ “sở hữu”. Tương tự, khi đọc nội dung của cơ sở dữ liệu, một người dùng sẽ không chấp nhận “sự thật” do người dùng khác đưa tin, bởi vì mỗi người có những động cơ kinh tế hoặc chính trị khác nhau.

4. Giải tán

Vì vậy, vấn đề, như được định nghĩa cho đến nay, đang kích hoạt một cơ sở dữ liệu với nhiều người viết không đáng tin cậy. Và đã có một giải pháp nổi tiếng cho vấn đề này: trung gian đáng tin cậy. Đó là, một người mà tất cả những người viết tin tưởng, ngay cả khi họ không hoàn toàn tin tưởng lẫn nhau. Thật vậy, thế giới chứa đầy các cơ sở dữ liệu như vậy, chẳng hạn như sổ cái các tài khoản trong ngân hàng. Ngân hàng của bạn kiểm soát cơ sở dữ liệu và đảm bảo rằng mọi giao dịch đều hợp lệ và được ủy quyền bởi khách hàng có tiền chuyển. Cho dù bạn có hỏi một cách lịch sự như thế nào, ngân hàng của bạn sẽ không bao giờ cho phép bạn sửa đổi cơ sở dữ liệu của họ trực tiếp.

Blockchains loại bỏ sự cần thiết của các trung gian đáng tin cậy bằng cách cho phép cơ sở dữ liệu với nhiều nhà văn không tin cậy sẽ được sửa đổi trực tiếp. Không có người gác cổng trung tâm được yêu cầu xác minh các giao dịch và xác thực nguồn của họ. Thay vào đó, định nghĩa của một giao dịch được mở rộng để bao gồm bằng chứng ủy quyền và bằng chứng về tính hợp lệ. Do đó, giao dịch có thể được xác minh và xử lý độc lập bởi mọi nút trong đó duy trì một bản sao của cơ sở dữ liệu.

Nhưng câu hỏi bạn cần đặt ra là: Bạn có muốn hoặc cần sự phân tán này? Với trường hợp sử dụng của bạn, có gì sai khi có một bên trung tâm duy trì cơ sở dữ liệu có thẩm quyền và đóng vai trò là người gác cổng giao dịch? Những lý do chính đáng để thích cơ sở dữ liệu dựa trên blockchain hơn một trung gian đáng tin cậy có thể bao gồm chi phí thấp hơn, giao dịch nhanh hơn, tự động hòa giải, quy định mới hoặc không có khả năng đơn giản để tìm một trung gian phù hợp.

5. Tương tác giao dịch

Vì vậy, các blockchains có ý nghĩa đối với các cơ sở dữ liệu được chia sẻ bởi nhiều người viết, những người không hoàn toàn tin tưởng lẫn nhau và những người trực tiếp sửa đổi cơ sở dữ liệu đó. Nhưng điều đó vẫn chưa đủ. Blockchain thực sự tỏa sáng khi có một số tương tác giữa các giao dịch được tạo ra bởi các nhà văn.

Ý tôi là gì về tương tác? Theo nghĩa đầy đủ, điều này có nghĩa là các giao dịch được tạo ra bởi những người viết khác nhau thường phụ thuộc vào nhau. Ví dụ: giả sử Alice gửi một số tiền cho Bob và sau đó Bob gửi một số tiền cho Charlie. Trong trường hợp này, giao dịch của Bob phụ thuộc vào giao dịch của Alice và không có cách nào để xác minh giao dịch của Bob mà không kiểm tra giao dịch của Alice trước. Do sự phụ thuộc này, các giao dịch đương nhiên thuộc về nhau trong một cơ sở dữ liệu dùng chung.

Nhìn xa hơn, một tính năng hay của blockchains là các giao dịch có thể được tạo hợp tác bởi nhiều nhà văn, không có bên nào phơi bày rủi ro. Đây là những gì cho phép giao hàng so với thanh toán giải quyết được thực hiện an toàn qua blockchain, mà không yêu cầu trung gian đáng tin cậy.

Một trường hợp tốt cũng có thể được thực hiện cho các tình huống trong đó các giao dịch từ các tác giả khác nhau có tương quan chéo với nhau, ngay cả khi chúng vẫn độc lập. Một ví dụ có thể là cơ sở dữ liệu danh tính được chia sẻ trong đó nhiều thực thể xác nhận các khía cạnh khác nhau của danh tính người tiêu dùng. Mặc dù mỗi chứng nhận như vậy đứng riêng lẻ, nhưng blockchain cung cấp một cách hữu ích để mang mọi thứ lại với nhau theo một cách thống nhất.

6. Đặt quy tắc

Đây thực sự không phải là một điều kiện, mà là một hệ quả tất yếu của những điểm trước đó. Nếu chúng ta có một cơ sở dữ liệu được sửa đổi trực tiếp bởi nhiều người viết và những người viết đó không hoàn toàn tin tưởng lẫn nhau, thì cơ sở dữ liệu đó phải chứa các quy tắc nhúng hạn chế các giao dịch được thực hiện.

Các quy tắc này về cơ bản là khác với khó khăn xuất hiện trong cơ sở dữ liệu truyền thống, vì chúng liên quan đến tính hợp pháp của các biến đổi thay vì trạng thái của cơ sở dữ liệu tại một thời điểm cụ thể. Mọi giao dịch đều được kiểm tra theo các quy tắc này bởi mọi nút trong mạng và những giao dịch không thành công sẽ bị từ chối và không được chuyển tiếp.

Sổ cái tài sản chứa một ví dụ đơn giản về loại quy tắc này, để ngăn chặn các giao dịch tạo tài sản ngoài luồng. Quy tắc nêu rõ rằng tổng số lượng của mỗi tài sản trong sổ cái phải giống nhau trước và sau mỗi giao dịch.

7. Chọn trình xác nhận của bạn

Cho đến nay, chúng tôi đã mô tả một cơ sở dữ liệu phân tán trong đó các giao dịch có thể bắt nguồn ở nhiều nơi, truyền giữa các nút theo kiểu ngang hàng và được xác minh bởi mọi nút một cách độc lập. Vậy “blockchain” đi vào đâu? Chà, công việc của blockchain là trở thành Nhật ký giao dịch cuối cùng có thẩm quyền, trên nội dung mà tất cả các nút có thể đồng ý.

Tại sao chúng ta cần nhật ký này? Đầu tiên, nó cho phép các nút mới được thêm vào tính toán nội dung của cơ sở dữ liệu từ đầu mà không cần tin tưởng vào nút khác. Thứ hai, nó giải quyết khả năng một số nút có thể bỏ lỡ một số giao dịch, do thời gian ngừng hoạt động của hệ thống hoặc trục trặc trong giao tiếp. Nếu không có nhật ký giao dịch, điều này sẽ khiến cơ sở dữ liệu của một nút khác biệt với cơ sở dữ liệu của các nút khác, làm suy yếu mục tiêu của cơ sở dữ liệu được chia sẻ.

Thứ ba, hai giao dịch có thể xảy ra xung đột, vì vậy chỉ có thể chấp nhận một giao dịch. Một ví dụ cổ điển là chi tiêu gấp đôi trong đó cùng một tài sản được gửi đến hai người nhận khác nhau. Trong cơ sở dữ liệu ngang hàng không có cơ quan trung ương, các nút có thể có ý kiến ​​khác nhau về việc chấp nhận giao dịch nào, bởi vì có không có câu trả lời đúng khách quan. Bằng cách yêu cầu các giao dịch được “xác nhận” trong một chuỗi khối, chúng tôi đảm bảo rằng tất cả các nút đều tập trung vào cùng một quyết định.

Cuối cùng, trong Ethereumphong cách blockchains, chính xác đặt hàng giao dịch đóng một vai trò quan trọng, bởi vì mọi giao dịch đều có thể ảnh hưởng đến những gì xảy ra trong mỗi một tiếp theo. Trong trường hợp này, blockchain hoạt động để xác định niên đại có thẩm quyền, mà không có giao dịch nào có thể được xử lý cả.

Blockchain theo nghĩa đen là một chuỗi các khối, trong đó mỗi khối chứa một tập hợp các giao dịch được xác nhận là một nhóm. Nhưng ai chịu trách nhiệm lựa chọn các giao dịch đi vào mỗi khối? Trong loại “blockchain riêng tư” phù hợp với các ứng dụng doanh nghiệp, câu trả lời là một nhóm kín gồm những người xác nhận (“thợ đào”), những người ký kỹ thuật số vào các khối mà họ tạo ra. Danh sách trắng này được kết hợp với một số dạng lược đồ đồng thuận phân tán để ngăn một số ít người xác nhận chiếm quyền kiểm soát chuỗi. Ví dụ: MultiChain sử dụng một lược đồ được gọi là khai thác đa dạng, trong đó các thợ mỏ được phép làm việc trong một vòng tròn thời trang, với một số mức độ khoan hồng để cho phép các nút không hoạt động.

Bất kể chương trình đồng thuận nào được sử dụng, các nút xác thực có ít quyền lực hơn so với chủ sở hữu cơ sở dữ liệu tập trung truyền thống. Người xác nhận không thể giả mạo các giao dịch hoặc sửa đổi cơ sở dữ liệu vi phạm các quy tắc của nó. Trong sổ cái tài sản, điều đó có nghĩa là họ không thể tiêu tiền của người khác, cũng như không thay đổi tổng số lượng tài sản được đại diện. Tuy nhiên, vẫn có hai cách mà trình xác thực có thể ảnh hưởng quá mức đến nội dung của cơ sở dữ liệu:

  • Kiểm duyệt giao dịch. Nếu đủ các trình xác nhận thông đồng độc hại, họ có thể ngăn một giao dịch cụ thể được xác nhận trong blockchain, khiến nó tồn tại vĩnh viễn trong tình trạng lấp lửng.
  • Giải quyết xung đột thiên vị. Nếu hai giao dịch xung đột, trình xác nhận người tạo khối tiếp theo sẽ quyết định giao dịch nào được xác nhận trên blockchain, khiến cho giao dịch kia bị từ chối. Sự lựa chọn công bằng sẽ là giao dịch được nhìn thấy đầu tiên, nhưng người xác nhận có thể chọn dựa trên các yếu tố khác mà không tiết lộ điều này.

Do những vấn đề này, khi triển khai cơ sở dữ liệu dựa trên blockchain, bạn cần có một ý tưởng rõ ràng về người xác nhận của bạn là ai và tại sao bạn tin tưởng họ, tập thể nếu không một mình. Tùy thuộc vào trường hợp sử dụng, các trình xác nhận có thể được chọn là: (a) một hoặc nhiều nút được điều khiển bởi một tổ chức, (b) một nhóm các tổ chức cốt lõi duy trì chuỗi hoặc (c) mỗi nút trên mạng.

8. Sao lưu tài sản của bạn

Nếu bạn đã hiểu điều này, bạn có thể nhận thấy rằng tôi có xu hướng đề cập đến các blockchains là cơ sở dữ liệu được chia sẻ, thay vì "sổ cái được chia sẻ" phổ biến hơn. Tại sao? Bởi vì là một công nghệ, blockchain có thể được áp dụng cho các vấn đề vượt xa việc theo dõi quyền sở hữu tài sản. Bất kỳ cơ sở dữ liệu nào có nhiều người viết không đáng tin cậy đều có thể được triển khai trên blockchain mà không yêu cầu trung gian trung tâm. Ví dụ bao gồm lịch được chia sẻ, các diễn đàn thảo luận và cộng tác kiểu wiki.

Phải nói rằng, cho đến nay, dường như các blockchain chủ yếu được quan tâm đối với những người theo dõi sự chuyển động và trao đổi tài sản tài chính. Tôi có thể nghĩ ra hai lý do cho việc này: (a) ngành tài chính đang đối phó với mối đe dọa (hồi tưởng, rất nhỏ) của tiền điện tử như bitcoin và (b) một sổ cái tài sản là ví dụ đơn giản và tự nhiên nhất của cơ sở dữ liệu dùng chung giao dịch phụ thuộc lẫn nhau được tạo bởi nhiều thực thể không tin cậy.

Nếu bạn muốn sử dụng blockchain làm sổ cái tài sản, bạn cần trả lời một câu hỏi quan trọng bổ sung: Bản chất của các tài sản đang được di chuyển là gì? Ý tôi không chỉ là tiền mặt hay trái phiếu hoặc vận đơn, mặc dù tất nhiên điều đó cũng quan trọng. Câu hỏi là: Ai đứng đằng sau các tài sản được đại diện trên blockchain? Nếu cơ sở dữ liệu nói rằng tôi sở hữu 10 đơn vị thứ gì đó, ai sẽ cho phép tôi yêu cầu 10 đơn vị đó trong thế giới thực? Tôi kiện ai nếu tôi không thể chuyển đổi những gì được viết trong blockchain thành tài sản vật chất truyền thống? (Xem này thỏa thuận tài sản Ví dụ.)

Tất nhiên, câu trả lời sẽ khác nhau tùy theo từng trường hợp sử dụng. Đối với tài sản tiền tệ, người ta có thể tưởng tượng các ngân hàng giám sát chấp nhận tiền mặt ở dạng truyền thống và sau đó ghi có vào tài khoản của người gửi tiền trong một sổ cái phân tán được hỗ trợ bởi blockchain. Trong tài trợ thương mại, thư tín dụng và vận đơn sẽ được hỗ trợ bởi ngân hàng của người nhập khẩu và hãng tàu. Và xa hơn nữa trong tương lai, chúng ta có thể tưởng tượng một thời điểm khi phát hành chính trái phiếu doanh nghiệp diễn ra trực tiếp trên blockchain bởi công ty đang tìm cách gây quỹ.

Kết luận

Như tôi đã đề cập trong phần giới thiệu, nếu dự án của bạn không hoàn thành mỗi một điều kiện, bạn không nên sử dụng blockchain. Trong trường hợp không có bất kỳ ai trong năm người đầu tiên, bạn nên xem xét một trong: (a) lưu trữ tệp thông thường, (b) cơ sở dữ liệu tập trung, (c) nô lệ chính chủ nhân rộng cơ sở dữ liệuhoặc (d) nhiều cơ sở dữ liệu mà người dùng có thể đăng ký.

Và nếu bạn hoàn thành năm điều đầu tiên, thì vẫn còn việc phải làm. Bạn cần phải thể hiện các quy tắc của ứng dụng của bạn về các giao dịch mà cơ sở dữ liệu cho phép. Bạn cần tự tin về người mà bạn có thể tin tưởng với tư cách là người xác nhận và cách bạn sẽ xác định sự đồng thuận phân tán. Và cuối cùng, nếu bạn đang tìm cách tạo một sổ cái được chia sẻ, bạn cần biết ai sẽ hỗ trợ các tài sản mà sổ cái đó đại diện.

Có tất cả các câu trả lời? Xin chúc mừng, bạn có một trường hợp sử dụng blockchain thực sự. Và chúng tôi rất muốn nghe từ bạn.

Xin vui lòng gửi bất kỳ ý kiến trên LinkedIn. Xem thêm theo dõi này: Bốn trường hợp sử dụng blockchain chính hãng.

Dấu thời gian:

Thêm từ Đa sắc