Một cái nhìn chi tiết về chuỗi khối phi blockchain
Theo thời gian, thế giới blockchain đã tách thành hai phần riêng biệt. Mặt khác, các blockchain công khai với các loại tiền điện tử liên quan của chúng đã có một sự trở lại đáng chú ý gần đây, khiến nhiều người trở thành triệu phú. Mặt khác, việc sử dụng các blockchains được cấp phép hoặc doanh nghiệp đang phát triển một cách lặng lẽ nhưng ổn định, lần đầu tiên triển khai trực tiếp trên nhiều ngành trong năm 2017.
Một câu hỏi thú vị cần xem xét là mức độ tương đồng thích hợp giữa hai loại chuỗi này. Cả hai đều triển khai cơ sở dữ liệu dùng chung bằng cách sử dụng mạng ngang hàng, mật mã khóa công khai-riêng tư, quy tắc giao dịch và cơ chế đồng thuận có thể tồn tại các tác nhân độc hại. Đó là rất nhiều điểm chung. Tuy nhiên, các blockchain công khai và riêng tư có các yêu cầu khác nhau về tính bảo mật, khả năng mở rộng và quản trị. Có lẽ những điểm khác biệt này chỉ ra sự cần thiết của các thiết kế hoàn toàn khác biệt.
Sản phẩm Corda nền tảng, được phát triển bởi R3 tập đoàn ngân hàng, có lập trường rõ ràng về câu hỏi này. Trong khi một số khía cạnh được lấy cảm hứng từ các blockchain công khai, Corda được thiết kế từ đầu dựa trên nhu cầu của các thành viên R3. Thật vậy, mặc dù R3 vẫn sử dụng từ “blockchain” rộng rãi để giúp tiếp thị sản phẩm của họ, Corda không có chuỗi khối nào cả. Hơn bất kỳ nền tảng “sổ cái phân tán” nào khác mà tôi biết, Corda hoàn toàn rời khỏi kiến trúc của các blockchain thông thường.
Mục tiêu của tôi trong phần này là giải thích những khác biệt này và thảo luận về hàm ý của chúng, cho cả điều tốt và điều xấu. Thực ra, tốt và xấu là cách nói sai, vì câu hỏi thú vị hơn là "Tốt và xấu để làm gì?" Bài viết này còn lâu mới ngắn. Nhưng cuối cùng, tôi hy vọng rằng độc giả sẽ hiểu được sự khác biệt ở Corda và sự đánh đổi hậu quả của chúng. Corda rất quan trọng vì các quyết định thiết kế của nó mang lại nhiều tình huống khó xử của các blockchain doanh nghiệp trở nên nhẹ nhõm hơn.
Một điều cuối cùng trước khi chúng ta đi sâu vào. Là CEO của công ty đứng sau Đa chuỗi, một nền tảng blockchain doanh nghiệp phổ biến, tại sao tôi lại viết chuyên sâu về một sản phẩm được cho là cạnh tranh? Lý do tiêu chuẩn sẽ là để tranh luận cho sự vượt trội của MultiChain, nhưng đó không phải là động lực của tôi ở đây. Trên thực tế, tôi không xem Corda và MultiChain là đối thủ của nhau, vì chúng khác nhau cơ bản về thiết kế, kiến trúc và đối tượng. Corda và MultiChain cạnh tranh giống như tàu du lịch và ván trượt phản lực - trong khi cả hai đều vận chuyển người bằng đường biển, hầu như không có tình huống thực tế nào có thể sử dụng cả hai.
Trên một lưu ý cá nhân hơn, tôi đã học được rất nhiều điều từ ban lãnh đạo kỹ thuật của Corda trong vài năm qua, cho dù thông qua các cuộc họp, thư từ hay các bài viết trước công chúng của họ, hầu hết đều xảy ra trước khi họ gia nhập R3. Một số mối quan tâm của tôi đối với Corda bắt nguồn từ sự tôn trọng mà tôi dành cho đội ngũ này, và chỉ vì lý do này, Corda đáng để nghiên cứu cho bất kỳ ai đang tìm kiếm sự hiểu biết về lĩnh vực sổ cái phân tán.
Giới thiệu blockchain
Để hiểu Corda, sẽ hữu ích khi bắt đầu với các blockchain thông thường. Mục đích của blockchain là cho phép cơ sở dữ liệu hoặc sổ cái được chia sẻ trực tiếp và an toàn bởi các bên không tin tưởng. Điều này trái ngược với cơ sở dữ liệu tập trung, được lưu trữ và kiểm soát bởi một tổ chức duy nhất. Một blockchain có nhiều "nút", mỗi "nút" lưu trữ một bản sao của cơ sở dữ liệu và có thể thuộc về một tổ chức khác nhau. Các nút kết nối với nhau theo kiểu ngang hàng dày đặc, sử dụng “giao thức tin đồn” trong đó mỗi nút liên tục nói với các đồng nghiệp của mình mọi thứ mà nó học được. Kết quả là, bất kỳ nút nào cũng có thể nhanh chóng phát một thông điệp tới toàn bộ mạng thông qua nhiều đường dẫn thay thế.
Một cơ sở dữ liệu, cho dù là tập trung hay được cung cấp bởi blockchain, bắt đầu ở trạng thái trống và được cập nhật thông qua "giao dịch". Một giao dịch được định nghĩa là một tập hợp các thay đổi cơ sở dữ liệu là “nguyên tử”, có nghĩa là chúng thành công hay thất bại nói chung. Hãy tưởng tượng một cơ sở dữ liệu đại diện cho một sổ cái tài chính, với một hàng cho mỗi tài khoản. Giao dịch trong đó Alice trả $ 10 cho Bob có ba bước: (1) xác minh rằng tài khoản của Alice có chứa ít nhất $ 10, (2) trừ $ 10 từ tài khoản của Alice và (3) cộng $ 10 vào tài khoản của Bob. Theo yêu cầu cơ bản, bất kỳ nền tảng cơ sở dữ liệu nào cũng phải đảm bảo rằng không có giao dịch nào can thiệp vào giao dịch khác. "Sự cô lập" này đạt được bằng cách khóa các hàng cho cả Alice và Bob trong khi thanh toán đang được tiến hành. Bất kỳ giao dịch nào khác liên quan đến các hàng này phải đợi cho đến khi giao dịch này kết thúc.
Trong một chuỗi khối, mỗi nút xử lý độc lập mọi giao dịch trên bản sao cơ sở dữ liệu của chính nó. Các giao dịch được tạo ở bất kỳ đâu trên mạng và tự động truyền đến tất cả các nút khác. Vì các tổ chức điều hành các nút có thể có lợi ích khác nhau (hoặc thậm chí mâu thuẫn), họ không thể tin tưởng lẫn nhau để giao dịch công bằng. Do đó, các blockchains cần các quy tắc xác định xem một giao dịch cụ thể có hợp lệ hay không. Trong sổ cái tài chính được chia sẻ, các quy tắc này ngăn người dùng tiêu tiền của nhau hoặc gây quỹ từ không gian mỏng.
Cùng với các quy tắc xác định tính hợp lệ của giao dịch, các blockchains cũng phải xác định cách thức các giao dịch sẽ được đặt hàng, vì trong nhiều trường hợp, thứ tự này rất quan trọng. Nếu Alice có 15 đô la và cố gắng gửi 10 đô la cho cả Bob và Charlie trong hai giao dịch riêng biệt, chỉ một trong số các khoản thanh toán này có thể thành công. Mặc dù chúng tôi có thể muốn nói rằng giao dịch đầu tiên được ưu tiên hơn, nhưng mạng ngang hàng không có định nghĩa khách quan về “đầu tiên”, vì các thông báo có thể đến các nút khác nhau theo các thứ tự khác nhau.
Quy tắc giao dịch
Theo nghĩa chung, thông tin trong bất kỳ cơ sở dữ liệu nào được phân tách thành các bản ghi hoặc “hàng” và một giao dịch có thể thực hiện ba việc khác nhau: xóa hàng, tạo hàng và / hoặc sửa đổi hàng. Chúng có thể được giảm thêm xuống còn hai, vì việc sửa đổi một hàng tương đương với việc xóa hàng đó và tạo một hàng mới ở vị trí của nó. Để quay lại khoản thanh toán của Alice cho Bob, hàng chứa 15 đô la của cô ấy sẽ bị xóa và hai hàng mới được tạo - một hàng chứa 10 đô la cho Bob và hàng còn lại có 5 đô la “tiền lẻ” cho Alice.
Theo thuật ngữ của bitcoin và Corda, chúng tôi biểu thị các hàng bị xóa bởi một giao dịch làm “đầu vào” của nó và những hàng được tạo ra làm “đầu ra” của nó. Bất kỳ hàng nào bị xóa bởi một giao dịch phải được tạo bởi một giao dịch trước đó. Do đó, mỗi đầu vào giao dịch tiêu thụ (hoặc “chi tiêu”) đầu ra của giao dịch trước đó. Nội dung cập nhật của cơ sở dữ liệu được xác định bởi tập hợp “đầu ra giao dịch chưa sử dụng” hoặc “UTXO”.
Trong một chuỗi khối, một giao dịch hợp lệ nếu nó đáp ứng ba điều kiện sau:
- Tính đúng đắn. Giao dịch phải thể hiện sự chuyển đổi hợp pháp từ đầu vào thành đầu ra. Ví dụ: trong sổ cái tài chính, tổng số tiền trong các đầu vào phải khớp với tổng số trong các đầu ra, để ngăn chặn tiền xuất hiện hoặc biến mất một cách kỳ diệu. Các ngoại lệ duy nhất là các giao dịch “phát hành” hoặc “nghỉ hưu” đặc biệt, trong đó các khoản tiền được thêm vào hoặc xóa bỏ một cách rõ ràng.
- cho phép. Giao dịch phải được chủ sở hữu cho phép của mọi đầu ra được tiêu thụ bởi đầu vào của nó. Trong sổ cái tài chính, điều này ngăn những người tham gia tiêu tiền của nhau mà không được phép. Ủy quyền giao dịch được quản lý bằng mật mã không đối xứng (hoặc khóa công khai - riêng tư). Mỗi hàng có một chủ sở hữu, được xác định bằng khóa công khai, khóa riêng tương ứng được giữ bí mật. Để được ủy quyền, một giao dịch phải được ký điện tử bởi chủ sở hữu của mỗi đầu vào của nó. (Lưu ý rằng các hàng cũng có thể có nhiều chủ sở hữu "nhiều chữ ký" phức tạp hơn, chẳng hạn như trong đó hai trong số ba bên bất kỳ có thể cho phép sử dụng chúng.)
- Tính độc đáo. Nếu một giao dịch tiêu thụ một đầu ra cụ thể, thì không giao dịch nào khác có thể tiêu thụ lại sản lượng đó. Đây là cách chúng tôi ngăn Alice thực hiện các khoản thanh toán xung đột cho cả Bob và Charlie. Mặc dù các giao dịch cho cả hai khoản thanh toán này có thể chính xác và được ủy quyền, quy tắc tính duy nhất đảm bảo rằng chỉ một giao dịch sẽ được cơ sở dữ liệu xử lý.
Trong một blockchain thông thường, mọi nút đều kiểm tra mọi giao dịch theo ba quy tắc này. Sau đó, chúng ta sẽ xem cách Corda phân chia trách nhiệm này theo cách khác nhau.
Khu nhà
Blockchain theo nghĩa đen là một chuỗi các khối, trong đó mọi khối liên kết với khối trước đó thông qua một “băm” xác định duy nhất nội dung của nó. Mỗi khối chứa một tập hợp các giao dịch có thứ tự không được xung đột với nhau hoặc với các giao dịch trong các khối trước đó, cũng như dấu thời gian và một số thông tin khác. Cũng giống như các giao dịch, các khối lan truyền nhanh chóng trên toàn mạng và được xác minh độc lập bởi mọi nút. Khi một giao dịch xuất hiện trong một khối, nó được "xác nhận", dẫn đến các nút từ chối bất kỳ giao dịch xung đột nào.
Ai chịu trách nhiệm tạo các khối này và làm thế nào chúng ta có thể chắc chắn rằng tất cả các nút sẽ đồng ý về chuỗi có thẩm quyền? Câu hỏi về “thuật toán đồng thuận” này tự nó là một chủ đề rất lớn, chứa đầy những từ viết tắt kỳ diệu như PoW (Bằng chứng công việc), PBFT (Khả năng chịu lỗi Byzantine thực tế) và DPoS (Bằng chứng cổ phần được ủy quyền). Chúng tôi sẽ không đi sâu vào tất cả những điều đó ở đây. Đủ để nói rằng các blockchains được cấp phép cho các doanh nghiệp sử dụng một số loại sơ đồ bỏ phiếu, trong đó các phiếu bầu được cấp cho các "nút xác nhận", những người chịu trách nhiệm chung. Đề án đảm bảo rằng, miễn là phần lớn các nút xác thực hoạt động chính xác và trung thực, các giao dịch sẽ đi vào chuỗi theo thứ tự hợp lý (gần với), dấu thời gian sẽ (gần đúng) và các giao dịch đã xác nhận sau đó không thể bị đảo ngược.
Trước khi thảo luận về một số thách thức của blockchain, tôi muốn làm rõ ba điểm bổ sung. Đầu tiên, trong khi tôi đang sử dụng sổ cái tài chính trong suốt phần này, mô hình đầu vào - đầu ra của các giao dịch hỗ trợ nhiều trường hợp sử dụng rộng rãi hơn. Mỗi hàng có thể chứa một đối tượng dữ liệu phong phú (nghĩ rằng JSON) chứa nhiều loại thông tin khác nhau - thực sự, Corda sử dụng từ “trạng thái” thay vì “hàng” vì lý do này. Các trạng thái phong phú hơn không thay đổi gì cơ bản về quy tắc giao dịch: tính đúng đắn vẫn được xác định về đầu vào và đầu ra, vẫn cần ủy quyền cho mọi đầu vào và tính duy nhất đảm bảo rằng mỗi đầu ra chỉ có thể được sử dụng một lần.
Thứ hai, có nhiều trường hợp sử dụng blockchain trong đó các hàng chỉ được tạo trong cơ sở dữ liệu và không bao giờ bị xóa. Các ứng dụng này liên quan đến việc lưu trữ dữ liệu chung, đánh dấu thời gian và công chứng, chứ không phải duy trì một số loại sổ cái khác nhau. Trong các ứng dụng chỉ có dữ liệu này, các giao dịch thêm dữ liệu vào đầu ra của chúng nhưng không sử dụng dữ liệu nào trong đầu vào của chúng, cho phép đơn giản hóa các quy tắc về tính đúng đắn, ủy quyền và tính duy nhất. Mặc dù các trường hợp sử dụng chỉ sử dụng dữ liệu là trọng tâm ngày càng tăng của sự phát triển của chính chúng tôi tại MultiChain, tôi chỉ đề cập đến chúng khi lướt qua đây, vì rõ ràng Corda không được thiết kế với chúng.
Cuối cùng, cần lưu ý rằng một số nền tảng blockchain không sử dụng mô hình đầu vào - đầu ra. Ethereum trình bày một mô hình thay thế, trong đó chuỗi kiểm soát một máy tính ảo có trạng thái toàn cầu được quản lý bởi “hợp đồng” và các giao dịch không kết nối với nhau một cách rõ ràng. Một cuộc thảo luận về mô hình của Ethereum trong các chuỗi khối được cấp phép nằm ngoài phạm vi của chúng tôi ở đây, nhưng hãy xem bài viết này để được giải thích chi tiết và phê bình. Một ưu điểm chính của mô hình đầu vào - đầu ra là hầu hết các giao dịch có thể được xử lý song song và độc lập với nhau. Thuộc tính này rất quan trọng đối với Corda, như chúng ta sẽ thấy ở phần sau.
Thách thức blockchain
Hãy tưởng tượng rằng các ngân hàng trên thế giới đã tạo ra một sổ cái chung để thể hiện quyền sở hữu, chuyển nhượng và trao đổi nhiều loại tài sản tài chính. Về lý thuyết, điều này có thể được thực hiện trên một blockchain thông thường, như đã mô tả ở trên. Mỗi hàng sẽ chứa ba cột - số nhận dạng nội dung như GOOG hoặc USD, số lượng sở hữu và khóa công khai của chủ sở hữu. Mỗi giao dịch sẽ chuyển một hoặc nhiều tài sản từ đầu vào thành đầu ra của nó, với các trường hợp đặc biệt là phát hành và nghỉ hưu.
Mỗi ngân hàng trong mạng sẽ chạy một hoặc nhiều nút kết nối với các nút khác, tuyên truyền và xác minh các giao dịch. Các thành viên cấp cao sẽ đóng vai trò là người xác nhận, với trách nhiệm tập thể xác nhận, đặt hàng và đánh dấu thời gian giao dịch. Mọi hành vi sai trái của trình xác thực sẽ hiển thị cho tất cả các nút trong mạng, dẫn đến việc kiểm duyệt, trục xuất và / hoặc thủ tục pháp lý. Với tất cả những điều này, bất kỳ tài sản tài chính nào cũng có thể được di chuyển khắp thế giới chỉ trong vài giây, với các quy tắc về tính đúng đắn, sự ủy quyền và tính duy nhất đảm bảo tính toàn vẹn của sổ cái.
Chuyện gì với bức tranh vậy? Trên thực tế, có ba vấn đề: khả năng mở rộng, tính bảo mật và khả năng tương tác. Vấn đề về khả năng mở rộng là đủ đơn giản. Blockchain liên ngân hàng được đề xuất của chúng tôi sẽ yêu cầu mọi thành viên xác minh, xử lý và lưu trữ mọi giao dịch được thực hiện bởi mọi ngân hàng trên thế giới. Ngay cả khi điều này khả thi về mặt kỹ thuật đối với các tổ chức tài chính lớn nhất, thì chi phí tính toán và lưu trữ sẽ tạo ra một rào cản đáng kể đối với nhiều người. Chắc chắn chúng tôi muốn một hệ thống trong đó người tham gia chỉ nhìn thấy những giao dịch mà họ tham gia ngay lập tức.
Nhưng hãy đặt khả năng mở rộng sang một bên, vì nó cuối cùng có thể được giải quyết bằng cách sử dụng máy tính đắt tiền và kỹ thuật thông minh. Một vấn đề cơ bản hơn là tính bảo mật. Mặc dù nghe có vẻ không tưởng khi mọi giao dịch đều hiển thị ở mọi nơi, nhưng trong thế giới thực, sự minh bạch triệt để như vậy là một điều không thể bắt đầu về mặt cạnh tranh và quy định. Nếu JP Morgan và HSBC trao đổi một cặp tài sản, họ không muốn Citi và Ngân hàng Trung Quốc xem những gì họ đã làm. Nếu giao dịch được thực hiện thay mặt cho khách hàng của những ngân hàng này, thì việc họ tiết lộ nó theo cách này là bất hợp pháp.
Một giải pháp được đề xuất cho vấn đề bảo mật là "các kênh", như được triển khai trong Hyperledger Fabric. Mỗi kênh có một số thành viên nhất định, chúng là một tập hợp con của các nút trong mạng nói chung. Các giao dịch của kênh chỉ hiển thị đối với các thành viên của kênh đó, để mỗi kênh hoạt động hiệu quả như một chuỗi khối riêng biệt. Mặc dù điều này giúp ích cho việc bảo mật, nhưng nó cũng làm suy yếu toàn bộ điểm của bài tập. Không thể di chuyển nội dung từ kênh này sang kênh khác mà không có sự trợ giúp của người trung gian đáng tin cậy đang hoạt động trên cả hai kênh. Khó khăn của phương pháp này gần đây đã được nêu rõ bởi SWIFT's điều hòa bằng chứng về khái niệm, ước tính rằng sẽ cần hơn 100,000 kênh trong quá trình sản xuất. Đó là 100,000 hòn đảo mà tài sản không thể được di chuyển trực tiếp.
Trong các trường hợp sử dụng chỉ sử dụng dữ liệu, khi các giao dịch không sử dụng dữ liệu trong đầu vào, vấn đề bảo mật có thể được giải quyết bằng cách mã hóa hoặc băm dữ liệu trong đầu ra và cung cấp khóa giải mã hoặc dữ liệu chưa băm bên ngoài chuỗi. Nhưng đối với một giao dịch có đầu vào tiêu thụ đầu ra của các giao dịch khác, mọi nút phải xem các đầu vào và đầu ra đó để xác thực giao dịch. Trong khi các kỹ thuật mật mã tiên tiến như tài sản bí mật và không có bằng chứng kiến thức đã được phát triển để giải quyết một phần hoặc hoàn toàn vấn đề này đối với sổ cái tài chính, chúng đặt ra gánh nặng hiệu suất đáng kể và / hoặc không thể được khái quát hóa cho bất kỳ quy tắc đúng đắn nào.
Cuối cùng, hãy nói về khả năng tương tác. Trong một thế giới lý tưởng, mọi ngân hàng sẽ ngay lập tức tham gia vào chuỗi khối toàn cầu của chúng tôi vào ngày nó được ra mắt. Tuy nhiên, trên thực tế, nhiều blockchains sẽ được các nhóm ngân hàng khác nhau áp dụng, dựa trên địa lý hoặc các mối quan hệ sẵn có. Theo thời gian, một thành viên của một nhóm có thể muốn bắt đầu giao dịch với một thành viên của nhóm khác, bằng cách chuyển nội dung giữa các chuỗi. Cũng như với các kênh, điều này chỉ có thể đạt được với sự trợ giúp của một bên trung gian đáng tin cậy, đánh bại mục đích của blockchain.
Corda nhằm mục đích giải quyết các vấn đề liên quan đến nhau về khả năng mở rộng, tính bảo mật và khả năng tương tác thông qua việc suy nghĩ lại một cách triệt để về cách hoạt động của sổ cái phân tán.
Nhìn một phần của Corda
Sự khác biệt cơ bản trong Corda rất dễ giải thích: Mỗi nút chỉ thấy một số, thay vì tất cả, các giao dịch được xử lý trên mạng. Trong khi một sổ cái logic và khái niệm duy nhất được xác định bởi tất cả các giao dịch này, không có nút riêng lẻ nào nhìn thấy toàn bộ sổ cái đó. Để so sánh, tại bất kỳ thời điểm nào, mỗi tờ đô la trên thế giới đều ở một vị trí cụ thể, nhưng không ai biết tất cả chúng ở đâu.
Vì vậy, những giao dịch nào mà một nút Corda nhìn thấy? Trước hết, những người mà nó có liên quan trực tiếp, bởi vì nó sở hữu một trong những đầu vào hoặc đầu ra của giao dịch đó. Trong sổ cái tài chính, điều này bao gồm mọi giao dịch trong đó một nút đang gửi hoặc nhận tiền. Giả sử Alice tạo một giao dịch tiêu tốn 15 đô la đầu vào của cô ấy và có hai đầu ra - một với 10 đô la cho tôi và đầu ra còn lại với 5 đô la “tiền lẻ” cho cô ấy. Sau khi Alice gửi cho tôi giao dịch này, tôi có thể kiểm tra tính chính xác và ủy quyền, xác minh rằng các đầu vào và đầu ra cân bằng và Alice đã ký.
Tuy nhiên, giao dịch này tự nó là không đủ. Tôi cũng cần xác minh rằng trạng thái đầu vào $ 15 của Alice thực sự tồn tại và cô ấy không chỉ tạo ra nó. Điều đó có nghĩa là tôi cần xem giao dịch đã tạo ra trạng thái này, đồng thời kiểm tra tính đúng đắn và ủy quyền. Nếu giao dịch trước đó đã gửi cho Alice $ 15, có đầu vào $ 10 thuộc về Denzel và đầu vào $ 5 khác từ Eric, thì tôi cũng phải xác minh các giao dịch đã tạo ra các giao dịch đó. Và cứ tiếp tục như vậy, quay trở lại giao dịch “phát hành” ban đầu trong đó tài sản được tạo. Số lượng giao dịch tôi cần xác minh sẽ phụ thuộc vào số lần tài sản đã được đổi chủ và mức độ phân nhánh ngược.
Vì các nút Corda không tự động thấy mọi giao dịch, nên làm cách nào để họ có được những giao dịch họ cần? Câu trả lời là từ người gửi của mỗi giao dịch mới. Trước khi Alice tạo một giao dịch tiêu tốn 15 đô la của mình, cô ấy phải đã xác minh giao dịch mà cô ấy nhận được. Và vì Alice chắc chắn đã áp dụng kỹ thuật đệ quy ở trên, cô ấy sẽ có một bản sao của mọi giao dịch cần thiết cho việc xác minh này. Bob chỉ cần yêu cầu các giao dịch này từ Alice như một phần của sự tương tác của họ. Nếu Alice không trả lời thích hợp, Bob kết luận rằng Alice đang cố lừa anh ta và từ chối khoản thanh toán đến. Trong trường hợp Bob được gửi một giao dịch mới mà đầu vào có nhiều chủ sở hữu, anh ấy có thể lấy các bằng chứng cần thiết từ mỗi chủ sở hữu.
Giới thiệu công chứng viên
Cho đến nay, chúng tôi đã giải thích cách Bob có thể xác minh tính đúng đắn và ủy quyền của một giao dịch đến, bao gồm truy xuất lại đệ quy nguồn gốc đầu vào của nó. Nhưng có một quy tắc nữa mà chúng ta cần nghĩ đến: tính độc đáo. Hãy nói Alice là người độc hại. Cô ấy có thể tạo một giao dịch trong đó cô ấy trả 10 đô la cho Bob và một giao dịch khác mà cô trả 10 đô la tương tự cho Charlie. Cô ấy có thể gửi các giao dịch này cho Bob và Charlie tương ứng, cùng với đầy đủ bằng chứng về tính đúng đắn và ủy quyền của từng giao dịch. Trong khi cả hai giao dịch xung đột với nhau bằng cách tiêu thụ cùng một trạng thái, không có cách nào để Bob và Charlie biết điều này.
Các blockchain thông thường giải quyết vấn đề này bằng cách mọi nút đều nhìn thấy mọi giao dịch, giúp dễ dàng phát hiện và từ chối xung đột. Vậy Corda, với khả năng hiển thị giao dịch một phần, giải quyết vấn đề tương tự như thế nào? Câu trả lời là với sự giúp đỡ của một "công chứng viên". Công chứng viên là một bên đáng tin cậy (hoặc các bên làm việc cùng nhau) đảm bảo rằng một trạng thái cụ thể chỉ được sử dụng một lần. Mỗi bang có một công chứng viên cụ thể, người này phải ký bất kỳ giao dịch nào mà bang đó được tiêu thụ. Một khi công chứng viên đã thực hiện việc này, công chứng viên không được ký kết một giao dịch khác cho cùng trạng thái. Công chứng viên là người bảo vệ tính duy nhất của giao dịch trong mạng lưới.
Mặc dù mỗi bang có thể có một công chứng viên khác nhau, nhưng tất cả các bang được sử dụng bởi một giao dịch cụ thể phải được chỉ định cho cùng một công chứng viên. Điều này tránh các vấn đề liên quan đến bế tắc và đồng bộ hóa, điều này sẽ quen thuộc với những người có kinh nghiệm cơ sở dữ liệu phân tán. Giả sử Alice và Bob đồng ý đổi 10 đô la của Alice lấy 7 bảng của Bob. Giao dịch trao đổi này phải có chữ ký của công chứng viên của cả hai bang, nhưng cái nào đi trước? Nếu công chứng viên của Alice ký nhưng Bob không thành công vì một lý do nào đó, thì Alice sẽ bị bỏ lại với một giao dịch chưa hoàn thành và không bao giờ có thể sử dụng lại $ 10 của mình. Nếu Bob ra dấu hiệu trước thì anh ta cũng bị phơi bày tương tự. Mặc dù chúng ta có thể muốn các công chứng viên đơn giản làm việc cùng nhau, nhưng trên thực tế, điều này đòi hỏi sự tin tưởng lẫn nhau và sử dụng một giao thức đồng thuận, những phức tạp mà các nhà thiết kế của Corda đã chọn để tránh.
Nếu các tiểu bang có các công chứng viên khác nhau được yêu cầu làm đầu vào cho một giao dịch, thì chủ sở hữu của chúng trước tiên thực hiện các giao dịch “thay đổi công chứng” đặc biệt, chuyển trạng thái từ công chứng này sang công chứng khác, không thay đổi gì khác. Vì vậy, khi các bên đang xây dựng một giao dịch với nhiều đầu vào, trước tiên họ phải đồng ý về công chứng được sử dụng, sau đó thực hiện các thay đổi công chứng cần thiết. Mặc dù nhà phát triển trong tôi cảm thấy một chút đau đớn khi đọc về cách giải quyết này, không có lý do gì tại sao nó không hoạt động lâu như vậy nếu các công chứng viên chơi cùng.
Cũng cần phải làm rõ rằng, mặc dù mỗi công chứng viên là một tác nhân logic duy nhất trong việc ký kết các giao dịch, nhưng không nhất thiết phải chịu sự kiểm soát của một bên duy nhất. Một nhóm các tổ chức có thể điều hành một công chứng viên tập thể, sử dụng một giao thức đồng thuận thích hợp, trong đó cần có đa số người tham gia để tạo ra một chữ ký hợp lệ. Điều này sẽ ngăn không cho bất kỳ bên độc hại nào phá hoại tính duy nhất bằng cách ký kết các giao dịch xung đột. Về lý thuyết, chúng tôi thậm chí có thể cho phép mọi nút trong mạng tham gia vào loại công chứng được chia sẻ này, mặc dù trong trường hợp đó, ít nhiều chúng tôi sẽ quay lại với một blockchain thông thường.
Ghi điểm
Hãy tóm tắt lại những điểm khác biệt chính giữa Corda và các blockchains thông thường. Ở Corda, không có chuỗi khối thống nhất nào chứa tất cả các giao dịch được xác nhận. Các nút chỉ nhìn thấy các giao dịch mà họ trực tiếp tham gia hoặc các giao dịch mà họ phụ thuộc vào lịch sử. Các nút có trách nhiệm kiểm tra tính đúng đắn và ủy quyền của giao dịch nhưng dựa vào các công chứng viên đáng tin cậy để xác minh tính duy nhất.
Tất nhiên, Corda còn nhiều điều hơn thế này: việc sử dụng chứng chỉ kỹ thuật số để xác thực danh tính, “bản đồ mạng” để giúp các nút tìm thấy và tin tưởng lẫn nhau, “hợp đồng” theo trạng thái xác định tính đúng đắn từ quan điểm của mỗi trạng thái, a phiên bản xác định của Máy ảo Java thực thi các hợp đồng này, “dòng chảy” tự động hóa đàm phán giao dịch, “cửa sổ thời gian” hạn chế giao dịch theo thời gian, “phép lạ” chứng thực các sự kiện bên ngoài và “CorDapps” gói nhiều thứ lại với nhau để dễ phân phối . Mặc dù mỗi tính năng này đều thú vị, nhưng tính năng tương đương cho tất cả có thể được tìm thấy trong các nền tảng blockchain khác. Mục tiêu của tôi trong bài viết này là tập trung vào điều khiến Corda trở nên độc đáo.
Vậy Corda có thực hiện đúng lời hứa của mình không? Nó có giải quyết được các vấn đề về khả năng mở rộng, tính bảo mật và khả năng tương tác của các blockchain không? Và khi đưa ra những lựa chọn cụ thể, Corda phải trả giá bao nhiêu?
Có thể mở rộng hơn, đôi khi
Hãy bắt đầu với khả năng mở rộng. Ở đây, lợi thế của Corda tỏ ra rõ ràng, vì các nút chỉ thấy một số giao dịch trong mạng. Trong một blockchain thông thường, thông lượng tối đa bị hạn chế bởi tốc độ của nút chậm nhất trong quá trình xử lý giao dịch. Ngược lại, mạng Corda có thể xử lý một triệu giao dịch mỗi giây, trong khi mỗi nút chỉ thấy một phần nhỏ trong số đó. Khả năng mở rộng cũng mở rộng cho các công chứng viên, vì nhiệm vụ ký kết các giao dịch vì tính duy nhất có thể được trải rộng giữa nhiều công chứng viên khác nhau, mỗi công chứng viên chịu trách nhiệm về một tỷ lệ nhỏ các trạng thái của mạng.
Phải nói rằng, có một tình huống mà Corda hoạt động tồi tệ hơn nhiều so với một blockchain. Điều này xảy ra khi một nút nhận được một giao dịch mới phụ thuộc vào nhiều giao dịch khác mà nó chưa từng thấy trước đây. Hãy tưởng tượng một tài sản có tính thanh khoản cao đã được phát hành cách đây 10 năm và đổi chủ khoảng 1000 phút một lần. Đường dẫn từ bất kỳ giao dịch mới nào trở lại việc phát hành tài sản này sẽ dài hơn một triệu giao dịch. Khi một nút nhận được nội dung này lần đầu tiên, nó phải truy xuất hàng triệu giao dịch này từ người gửi và xác minh từng giao dịch một. Với tốc độ (khá lạc quan) là 17 giao dịch mỗi giây, sẽ có XNUMX phút chậm trễ trước khi người nhận có thể gửi tài sản vào - rõ ràng là quá lâu đối với một thứ có tính thanh khoản cao như vậy.
Tại sao các blockchains không bị vấn đề này? Bởi vì các nút xem và xác minh mọi giao dịch khi nó xảy ra, chúng liên tục cập nhật trạng thái của sổ cái và biết chính xác ai sở hữu mọi tài sản tại thời điểm hiện tại. Ngay cả khi một nút chưa bao giờ nắm giữ một tài sản cụ thể nào trước đây, nó có thể xác minh ngay lập tức giao dịch mà nó nhận được và sau đó ngay lập tức gửi nó đi. Nói một cách khác, các nút blockchain phải xác minh các giao dịch có thể không liên quan đến chúng, nhưng làm như vậy, chúng thanh toán trước chi phí kiểm tra bất kỳ giao dịch nào trong tương lai có thể xảy ra. Trong khi các nút Corda nói chung ít bận hơn, chúng chạy nguy cơ cần phải làm một số lượng lớn công việc trong một thời điểm thông báo. Không có gì có thể mở rộng về điều đó.
Hơi bí mật hơn
Hãy chuyển sang tính bảo mật. Ở Corda, các nút chỉ thấy một số giao dịch của mạng, điều này không thể phủ nhận có nghĩa là bảo mật tốt hơn so với các blockchain thông thường. Tuy nhiên, Corda còn lâu mới giải quyết được vấn đề bảo mật, vì các nút vẫn thấy một số giao dịch không phải việc của họ. Để lấy một ví dụ đơn giản, nếu Alice trả cho Bob 10 đô la, sau đó Bob gửi 10 đô la đó cho Charlie, nút của Charlie phải được hiển thị giao dịch giữa Alice và Bob, mặc dù nó không liên quan đến anh ta. Vào thời điểm Alice thanh toán cho Bob, cô ấy không có cách nào biết được ai có thể nhìn thấy giao dịch này trong tương lai và bất kỳ ai có thể được gửi nó bất cứ lúc nào.
Công bằng mà nói, các nhà phát triển của Corda nhận thức được vấn đề này và thảo luận về nó trong chương 15 của Sách trắng kỹ thuật. Bài báo đề xuất các chiến lược đơn giản như sử dụng nhiều khóa công khai cho mỗi thực thể hoặc giảm khả năng truy xuất nguồn gốc bằng cách trả lại tài sản cho tổ chức phát hành để phát hành lại (tương tự như tiền điện tử “máy trộn tiền”). Nó cũng đề cập đến các khả năng nâng cao hơn trong tương lai như sử dụng mạng ẩn danh giống Tor để ẩn địa chỉ IP của người tham gia và tận dụng các bằng chứng không có kiến thức hoặc của Intel vùng bảo mật để xác thực các giao dịch mà không tiết lộ nội dung của chúng. Mặc dù tất cả các đề xuất này đều hợp lệ, nhưng chúng cũng có thể được áp dụng cho các blockchain thông thường bằng cách sử dụng mô hình đầu vào - đầu ra và thực sự đã có trong các loại tiền điện tử như Dash, Zcash và Verge. Vì vậy, lợi thế duy nhất duy nhất của Corda về tính bảo mật vẫn là khả năng hiển thị giao dịch bị giảm - một giải pháp tốt nhất là không hoàn thiện.
Tất cả trong chăn nuôi
Để hiểu rõ hơn về khả năng mở rộng và lợi thế bảo mật của Corda, chúng ta nên lưu ý rằng điều này phụ thuộc vào mật độ và sự chồng chéo của các mối quan hệ giữa các giao dịch như thế nào. Hãy tưởng tượng một “cây gia đình” của các giao dịch được thực hiện trong một mạng, trong đó cha mẹ của mỗi giao dịch là những người trước đó mà nó phụ thuộc ngay lập tức. Cụ thể, khi đầu ra của một giao dịch được tiêu thụ bởi đầu vào của một giao dịch khác, chúng tôi vẽ một mũi tên thể hiện mối quan hệ từ cha đến con. Các giao dịch có thể có bất kỳ số lượng cha mẹ và con cái, mặc dù trong hầu hết các trường hợp, chúng tôi chỉ mong đợi một số ít.
Với cây gia phả này, chúng ta xác định tổ tiên của một giao dịch là cha mẹ, ông bà, ông bà cố của nó, v.v. Cây "Adam và Eve" của chúng tôi là các giao dịch phát hành tạo ra tài sản và không có cha mẹ của chúng. Như trong cây gia đình thông thường, hai giao dịch không thể là tổ tiên của nhau. Theo thuật ngữ khoa học máy tính chính thức, đây là một đồ thị chu kỳ có hướng hoặc DAG, trong đó tổ tiên được định nghĩa là sự đóng bắc cầu của quan hệ cha mẹ.
Nhớ lại rằng khi một nút Corda xử lý một giao dịch, nó phải tải xuống và xác minh tất cả các tổ tiên của giao dịch đó, ngoại trừ những thứ mà nó đã thấy trước đây. Vì vậy, nếu cây gia đình sâu, các giao dịch mới đến có thể có một số lượng lớn các tổ tiên cần được xác minh, gây ra vấn đề về khả năng mở rộng của Corda. Ngoài ra, nếu cây gia đình có mức độ lai tạp cao, thì tổ tiên của giao dịch mới có thể bao gồm nhiều hoặc hầu hết các giao dịch trước đây trong mạng. Trong trường hợp này, Corda sẽ cung cấp ít lợi thế về quyền riêng tư.
Ngược lại, nếu cây gia đình của các giao dịch là nông cạn và chứa nhiều hòn đảo bị ngắt kết nối không tương tác với nhau, thì lợi thế của Corda càng trở nên nổi bật. Các nút sẽ không bao giờ cần xác minh một số lượng lớn giao dịch cùng một lúc và có thể được giữ kín về phần lớn các giao dịch không liên quan đến giao dịch của chúng. Nếu được sử dụng như một sổ cái tài chính, chúng tôi có thể nói rằng Corda là lý tưởng cho các thị trường bị phân mảnh cao mà tài sản hiếm khi đổi chủ.
Khả năng tương tác để giành chiến thắng
Đây là một lĩnh vực mà Corda thực sự tỏa sáng. Hãy tưởng tượng hai mạng Corda riêng biệt, với các tập hợp nội dung và người tham gia khác nhau. Tại một thời điểm nào đó, một người tham gia trong một mạng này muốn gửi một nội dung cho một người nào đó trong mạng kia. Không giống như các blockchain thông thường, không có kỳ vọng rằng một nút sẽ xác minh tất cả các giao dịch trong quá khứ, vì vậy nút nhận tài sản mới này sẽ không có gì bất thường. Khi giao dịch đến, nó chỉ cần yêu cầu và xác minh lịch sử liên quan mà không nhận thức được rằng đây là từ một “mạng riêng biệt”. Nói một cách sáo rỗng, chúng ta có thể nói rằng không có người lạ ở Corda - chỉ là những người bạn chưa gặp mặt.
Trong thực tế, mọi thứ không hoàn toàn đơn giản. Bất kỳ nút nào của Corda đều quyết định rõ ràng công chứng viên nào nên tin tưởng, vì công chứng viên hoạt động sai có thể gây ra tình trạng hỗn loạn tài chính. Ngoài ra, các nút cần có “chứng chỉ” do “người gác cửa” cấp để kết nối với các nút khác trong mạng, vì chúng tôi không thể cho phép các thành viên ngẫu nhiên của công chúng bắt đầu kết nối với các nút và lãng phí tài nguyên của họ. Vì vậy, trước khi một nút trên một mạng có thể bắt đầu yêu cầu và xác minh các giao dịch từ một mạng khác, nó sẽ cần thêm vào danh sách công chứng viên đáng tin cậy và lấy chứng chỉ thích hợp. Mặc dù điều này liên quan đến một số cấu hình và quản trị thủ công, nhưng đó là mức tối thiểu có thể mong đợi đối với một hệ thống có tính chất này. Nhìn chung, thật công bằng khi kết luận rằng khả năng tương tác là chiến thắng lớn của Corda so với các blockchain thông thường.
Tái trung gian
Đã đến lúc nói về việc giải phóng mặt bằng, con voi trong phòng của Corda. Trong bối cảnh của các blockchain, không trung gian có nghĩa là mọi người tham gia có thể xác minh mọi giao dịch cho chính họ mà không phụ thuộc vào hành vi tốt của bên thứ ba. Trong quan điểm của tôi, không trung gian là lợi thế cốt lõi của blockchain đối với cơ sở dữ liệu tập trung, trong đó tất cả những người tham gia hoàn toàn phụ thuộc vào chủ sở hữu cơ sở dữ liệu đó. Nếu những người tham gia trong một mạng lưới có một trung gian mà họ có thể dựa vào và không có trường hợp kinh doanh hoặc quy định nào về việc hủy trung gian, thì sẽ có không có điểm trong việc sử dụng một chuỗi khối. Cơ sở dữ liệu tập trung nhanh hơn và hiệu quả hơn, đồng thời tránh được vấn đề bảo mật giao dịch.
Vì vậy, những người tham gia trong mạng Corda có đạt được sự gián đoạn không? Vâng, có, có và có nhưng không. Đối với phân phối giao dịch, Corda đánh dấu vào ô, vì các nút liên quan đến giao dịch nói chuyện trực tiếp với nhau. Về tính đúng đắn và ủy quyền, nó cũng đang hoạt động tốt, vì mỗi nút có thể tự kiểm tra các thuộc tính này. Tuy nhiên, khi nói đến việc xác minh tính duy nhất của giao dịch, Corda đã thất bại trong bài kiểm tra không trung gian. Các nút không thể xác nhận tính duy nhất cho chính chúng, vì chúng không nhìn thấy mọi giao dịch trong mạng và nhiệm vụ được giao cho các công chứng viên đáng tin cậy.
Những người tham gia Corda được sự giúp đỡ của các công chứng viên theo một số cách. Đầu tiên, công chứng viên có thể từ chối ký một giao dịch, ngay cả khi đầu vào của họ tiêu thụ đầu ra chưa từng được sử dụng trước đó. Trong sổ cái tài chính, điều này ngăn ai đó gửi hoặc trao đổi tài sản của họ. Thứ hai, công chứng viên có thể ký hai giao dịch mâu thuẫn nhau tiêu thụ cùng một sản lượng, khiến hai bên tin rằng họ nhận được cùng một thứ. Khi cả hai người nhận tài sản trùng lặp gửi hoặc trao đổi nó trong các giao dịch tiếp theo, sự lây lan sẽ lây lan và tính toàn vẹn của toàn bộ sổ cái có thể sớm bị hủy hoại. Cuối cùng, một công chứng viên có thể từ chối ký một giao dịch “thay đổi công chứng” để chuyển giao trạng thái cho đối thủ cạnh tranh, giữ chủ sở hữu tài sản làm con tin một cách hiệu quả. Đối với một giao dịch liên quan đến các tiểu bang với các công chứng viên khác nhau, còn lâu để nói rằng Corda giới thiệu trung gian hơn là cơ sở dữ liệu tập trung, bởi vì một số bên thứ ba đang kiểm soát.
Để nhìn nhận rủi ro này, cần nhắc lại rằng các công chứng viên của Corda không cần phải bị kiểm soát bởi một tổ chức duy nhất. Chúng cũng có thể bao gồm một nhóm các nút chạy một thuật toán đồng thuận có thể dung thứ cho các tác nhân xấu. Trong trường hợp này, công chứng viên sẽ hoạt động tốt miễn là hầu hết các nút thành viên của nó tuân theo các quy tắc. Nhìn bề ngoài, điều này nghe có vẻ giống như một blockchain, điều này phụ thuộc vào phần lớn các trình xác nhận hoạt động tốt. Tuy nhiên ở Corda rủi ro cao hơn đáng kể. Điều tồi tệ nhất mà một nhóm người xác nhận blockchain có thể làm là ngăn một số giao dịch được xác nhận. Một công chứng viên độc hại của Corda cũng có thể ký các giao dịch xung đột, đưa sổ cái vào một vực thẳm không nhất quán.
Một con vật kỳ lạ
Đặt khả năng mở rộng, tính bảo mật, khả năng tương tác và không trung gian cùng nhau, thật khó để đưa ra phán quyết đơn giản về giải pháp thay thế Corda. Nhìn chung, từ quan điểm của nhà phát triển nền tảng blockchain này, nó có vẻ… hấp dẫn nhưng lạ lùng. Được thiết kế để giải quyết các vấn đề chính về khả năng mở rộng và tính bảo mật, các giải pháp của Corda không hoàn thiện và phụ thuộc rất nhiều vào hình dạng của “cây gia đình” giao dịch. Tuy nhiên, để đạt được những chiến thắng một phần này, Corda đã đánh mất một tài sản cốt lõi của blockchain - việc loại bỏ các trung gian giao dịch. Trong khi Corda chắc chắn vượt trội về khả năng tương tác, liệu điều đó có thực sự đủ?
Nếu chúng ta muốn hoài nghi, chúng ta có thể nói rằng nhóm của Corda đã đặt một nhiệm vụ bất khả thi - thiết kế một hương vị của blockchain phù hợp với các ngân hàng tài trợ cho R3. Nhưng lợi ích chính của blockchain đối với cơ sở dữ liệu tập trung là sự không trung gian, điều này đi kèm với cái giá là giảm tính bảo mật. Làm thế nào sự đánh đổi này có thể có ý nghĩa đối với các tổ chức tài chính kiếm tiền bằng cách đóng vai trò trung gian và rất nhạy cảm về quyền riêng tư? Nhìn dưới góc độ này, người ta có thể ca ngợi Corda như một anh hùng nhưng cuối cùng không thỏa hiệp giữa mong muốn của các thành viên R3 làm điều gì đó theo chuỗi khối, và các ràng buộc thương mại và quy định mà họ tồn tại.
Người giám sát 2.0
Nhưng tôi thích áp dụng một cách tiếp cận tích cực hơn. Thay vì tập trung vào việc so sánh với các blockchain, chúng ta có thể xem Corda như một bản nâng cấp kỹ thuật lớn đối với hiện trạng tài chính. Đơn giản chỉ cần thay thế từ “công chứng” bằng “người giám hộ”, và tất cả đã rơi vào vị trí khá gọn gàng. (A người trông coi là một tổ chức tài chính thay mặt người khác nắm giữ tài sản.) Đúng vậy, công chứng viên là người trung gian, người có thể chặn các giao dịch và cho phép xung đột xảy ra, nhưng điều này cũng đúng với những người giám hộ ngày nay. “Giao dịch thay đổi công chứng” có thể được coi là việc chuyển tài sản từ người giám hộ này sang người khác. Và các giao dịch của Corda chỉ được ký bởi một công chứng viên vì cùng một lý do là chúng tôi muốn trao đổi tài sản diễn ra ở một nơi - để tránh việc một trong hai bên bị móc túi.
Nhìn vào Corda theo cách này, chúng ta có thể thấy nó cải thiện như thế nào đối với mô hình quản lý truyền thống:
- Nó xác định một mô hình và định dạng tính toán tiêu chuẩn để thể hiện tài sản tài chính và các cam kết hợp đồng khác.
- Nó cung cấp phần mềm mã nguồn mở để giải thích và thực hiện các cam kết này, đảm bảo rằng các bên giao dịch và người giám sát đồng ý về kết quả của mọi giao dịch.
- Có thể tạo ra những người giám sát phức tạp đa bên để bảo vệ chống lại sự lạm dụng (chỉ sử dụng phần mềm!) Bằng cách tận dụng các thuật toán đồng thuận chịu lỗi.
- Một quy trình tiêu chuẩn (“thay đổi công chứng”) được xác định để chuyển tài sản giữa những người giám hộ, và không người giám hộ nào được phép từ chối.
- Người giám sát không thể sử dụng tài sản do họ giám hộ mà không có sự đồng ý của chủ sở hữu, vì các giao dịch cũng phải có chữ ký của chủ sở hữu đầu vào của họ.
Tôi còn lâu mới trở thành một nhân viên ngân hàng, nhưng với tôi điều này nghe có vẻ khá hứa hẹn. Và có lẽ Corda cũng có thể được áp dụng cho các ngành công nghiệp khác có cấu trúc giám sát phức tạp, chẳng hạn như bảo hiểm hoặc vận chuyển. Mặc dù thiết kế của Corda có thể không cung cấp toàn bộ tính năng trung gian của một chuỗi khối, nhưng nó đề xuất một sự chuyển đổi mạnh mẽ cho các ngành công nghiệp trong đó các trung gian đóng vai trò thiết yếu.
Một khi chúng ta đi xuống dòng suy nghĩ này, một câu hỏi chắc chắn sẽ nảy sinh: Nếu chúng ta đã tin tưởng vào các công chứng viên với công việc sinh tử là xác minh tính duy nhất, tại sao không dựa vào họ để xác định tính đúng đắn và ủy quyền? Corda đã có khái niệm về “công chứng xác thực”, xác minh đầy đủ các giao dịch trước khi thêm chữ ký của mình. Thay vì các nút Corda thông thường tải xuống và kiểm tra tổ tiên các giao dịch của chúng, tại sao không yêu cầu công chứng viên thay thế? Điều này có thể giúp tăng khả năng mở rộng và bảo mật, vì hầu hết các nút sẽ không thấy giao dịch nào khác ngoài giao dịch của chính chúng. Chúng tôi thậm chí có thể đề xuất rằng các công chứng viên của mạng lưới hoàn toàn tin tưởng lẫn nhau, vì vậy không cần phải lo lắng về tổ tiên. Công chứng viên của mỗi bang có thể xác nhận tính hợp lệ của nó, chỉ xác minh giao dịch đã tạo ra nó với sự trợ giúp của các công chứng viên khác.
Hãy để Corda là Corda
Tất cả điều này đưa chúng tôi trở lại nơi chúng tôi bắt đầu: Corda không thực sự là đối thủ cạnh tranh cho các blockchain thông thường, bao gồm MultiChain. Corda là Corda - một loại sổ cái phân tán mới thú vị, đã được tối ưu hóa cho nhu cầu của những người đang cấp vốn cho nó. Tôi không biết liệu Corda cuối cùng sẽ thành công hay thất bại, bởi vì tôi không biết chi phí và lợi ích thực tế của nó so với cách làm hiện tại. Nhưng cho dù điều gì xảy ra trong tương lai, thì chắc chắn nó vẫn đáng để nghiên cứu về mặt triết học và thiết kế.
Đối với MultiChain, chúng tôi đang áp dụng một cách tiếp cận khác. Để đánh cắp một dòng từ The West Wing, chúng tôi quyết tâm “để blockchain là chuỗi khối”. Blockchains là cái gì của chúng và chúng tôi không có kế hoạch biến chúng thành một thứ gì đó khác biệt. Là cơ sở hạ tầng dữ liệu cho một ứng dụng được chia sẻ, một chuỗi khối đại diện cho một sự đánh đổi cụ thể khi so sánh với cơ sở dữ liệu tập trung - lợi ích trong việc phân bổ với chi phí giảm tính bảo mật. Và chúng tôi đang làm việc chăm chỉ để làm cho MultiChain 2.0 trở nên tốt nhất có thể blockchain nền tảng cho các nhà phát triển ứng dụng sử dụng.
Xin vui lòng gửi bất kỳ ý kiến trên LinkedIn.
Nguồn: https://www.multichain.com/blog/2018/05/r3-corda-deep-dive-and-technical-review/
- Tài khoản
- Các từ viết tắt
- hoạt động
- thêm vào
- Lợi thế
- thuật toán
- thuật toán
- Các Ứng Dụng
- các ứng dụng
- kiến trúc
- KHU VỰC
- bài viết
- tài sản
- Tài sản
- khán giả
- ủy quyền
- Ngân hàng
- ngân hàng Trung Quốc
- Ngân hàng
- Ngân hàng
- BEST
- Hóa đơn
- blockchain
- Hộp
- Xây dựng
- Bó lại
- kinh doanh
- trường hợp
- Nguyên nhân
- giám đốc điều hành
- Giấy chứng nhận
- Giấy chứng nhận
- thay đổi
- kênh
- kiểm tra
- Séc
- trẻ em
- Trẻ em
- Trung Quốc
- Citi
- đóng cửa
- Bình luận
- thương gia
- Chung
- công ty
- cạnh tranh
- đối thủ cạnh tranh
- Khoa học Máy tính
- máy tính
- xung đột
- Sự đồng thuận
- đồng ý
- ăn
- nội dung
- nội dung
- hợp đồng
- Corda
- Chi phí
- Tạo
- hành trình
- cryptocurrencies
- cryptocurrency
- mật mã
- Current
- Lưu ký
- khách hàng
- DAG
- Dash
- dữ liệu
- lưu trữ dữ liệu
- Cơ sở dữ liệu
- cơ sở dữ liệu
- ngày
- nhiều
- chậm trễ
- phân phối
- giao hàng
- Thiết kế
- Nhà phát triển
- phát triển
- Phát triển
- ĐÃ LÀM
- kỹ thuật số
- Sổ cái phân phối
- Đô la
- voi
- Kỹ Sư
- Doanh nghiệp
- ethereum
- Sàn giao dịch
- Trao đổi
- Tập thể dục
- vải
- công bằng
- gia đình
- Thời trang
- Tính năng
- Cuối cùng
- tài chính
- Học viện Tài chính
- cuối
- Tên
- lần đầu tiên
- Tập trung
- định dạng
- Full
- tài trợ
- quỹ
- tương lai
- Tổng Quát
- Toàn cầu
- blockchain toàn cầu
- tốt
- quản trị
- tuyệt vời
- Nhóm
- Phát triển
- tại đây
- Ẩn giấu
- Cao
- Nhấn mạnh
- lịch sử
- Độ đáng tin của
- HTTPS
- lớn
- ý tưởng
- Bản sắc
- Bất hợp pháp
- Bao gồm
- các ngành công nghiệp
- thông tin
- Cơ sở hạ tầng
- Tổ chức giáo dục
- tổ chức
- bảo hiểm
- tương tác
- quan tâm
- Khả năng cộng tác
- tham gia
- IP
- phát hành
- các vấn đề
- IT
- Java
- Việc làm
- tham gia
- Key
- phím
- kiến thức
- lớn
- dẫn
- Lãnh đạo
- hàng đầu
- học
- Ledger
- Hợp pháp
- Cấp
- ánh sáng
- Dòng
- Chất lỏng
- Danh sách
- dài
- chính
- Đa số
- Làm
- thị trường
- thị trường
- Trận đấu
- các cuộc họp
- Các thành viên
- đề cập đến
- triệu
- kiểu mẫu
- tiền
- di chuyển
- nhiều nhịp
- mạng
- mạng lưới
- mạng
- các nút
- Khái niệm
- mở
- mã nguồn mở
- gọi món
- đơn đặt hàng
- Nền tảng khác
- Khác
- chủ sở hữu
- chủ sở hữu
- Đau
- Giấy
- mô hình
- cha mẹ
- Trả
- thanh toán
- thanh toán
- người
- hiệu suất
- quan điểm
- triết lý
- hình ảnh
- nền tảng
- Nền tảng
- Phổ biến
- trình bày
- giá
- riêng tư
- riêng
- Sản phẩm
- Sản lượng
- bằng chứng
- tài sản
- bảo vệ
- công khai
- R3
- độc giả
- Reading
- Thực tế
- tóm tắt
- hồ sơ
- Quy định
- Mối quan hệ
- cứu trợ
- Yêu cầu
- Thông tin
- nghỉ hưu
- xem xét
- Nguy cơ
- quy tắc
- chạy
- chạy
- khả năng mở rộng
- Khoa học
- SEA
- nhìn
- ý nghĩa
- định
- chia sẻ
- Giao Hàng
- ngắn
- Dấu hiệu
- Đơn giản
- nhỏ
- So
- Phần mềm
- Giải pháp
- động SOLVE
- tốc độ
- Chi
- lan tràn
- cổ phần
- Bắt đầu
- bắt đầu
- Tiểu bang
- Bang
- Trạng thái
- là gắn
- hàng
- cửa hàng
- Hỗ trợ
- Bề mặt
- hệ thống
- Kỹ thuật
- thử nghiệm
- Tương lai
- Suy nghĩ
- các bên thứ ba
- thời gian
- khoan dung
- Truy xuất nguồn gốc
- giao dịch
- Giao dịch
- Chuyển đổi
- Minh bạch
- vận chuyển
- NIỀM TIN
- Chưa băm
- us
- Đô la Mỹ
- Người sử dụng
- bờ vực
- Xác minh
- Xem
- ảo
- máy ảo
- khả năng hiển thị
- Bỏ phiếu
- chờ đợi
- hướng Tây
- CHÚNG TÔI LÀ
- Wikipedia
- giành chiến thắng
- Công việc
- thế giới
- giá trị
- viết
- năm
- Zcash
- không