Phân phối so với thanh toán trên blockchain PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Giao hàng so với thanh toán trên blockchain

Làm thế nào blockchain có thể giải quyết vấn đề lâu đời nhất trong cuốn sách

Giao dịch giữa con người với nhau cũng lâu đời như chính loài người. Mọi chuyện bắt đầu vào thời điểm người thượng cổ Ogg nói với người thượng cổ Ugg: “Tôi cho bạn đá, bạn cho tôi quả mọng”. Nhưng giao dịch mang theo nó một vấn đề cơ bản: nó đòi hỏi tin tưởng. Điều gì đã ngăn cản Ogg dùng hòn đá đánh Ugg rồi chộp lấy cả hai hòn đá quả mọng trước khi bỏ chạy? Làm thế nào để chúng ta biến một thỏa thuận trao đổi bằng lời nói thành một cơ chế thực thi nhằm đảm bảo cả hai bên đều giữ lời?

Lấy một ví dụ hiện đại, vài năm trước tôi đã bán một chiếc ô tô ở chợ cũ. Tôi tìm được một người mua qua Internet, chúng tôi gặp nhau trực tiếp, anh ấy cho xe chạy thử và chúng tôi đồng ý về giá cả. Vì vậy, anh ấy đã đến ngân hàng của mình để lấy séc thu ngân, đây thực sự là tiền mặt ở dạng nhỏ gọn hơn. Chúng tôi cùng nhau đi bộ đến bưu điện, nơi tôi có thể ký và nộp đơn chính thức của chính phủ chuyển quyền sở hữu hợp pháp chiếc xe.

Thế là chúng tôi đứng ở cửa sổ bưu điện và rơi vào tình thế bế tắc khó xử. Tấm séc vẫn còn trong túi anh ấy và tôi đang cầm tờ đơn đã ký. Chúng ta đã gặp nhau cách đây vài giờ và không có lý do gì để tin tưởng lẫn nhau. Tôi có nộp đơn trước rồi hy vọng anh ấy đưa séc cho tôi thay vì bỏ chạy không? Hay anh ta đưa cho tôi tấm séc rồi hy vọng tôi đưa ra mẫu đơn? Dù bằng cách nào, ai đó đang có nguy cơ bị phản bội.

Và rồi tôi chợt nhận ra rằng mình không nên lo lắng nữa mà chỉ nộp đơn thôi. Tại sao? Bởi vì một trong hai điều có thể xảy ra tiếp theo. Hoặc là người mua đưa cho tôi tấm séc, trong trường hợp đó mọi người đều vui vẻ và việc trao đổi hoàn tất. Nhưng nếu thay vào đó anh ta bỏ chạy thì sao? Trong trường hợp đó, nhân viên bưu điện sẽ xem và xé tờ đơn tôi vừa đưa cho anh ta. Bingo, chúng ta có một sàn giao dịch an toàn.

Bạn có thấy điều gì xảy ra ở đó không? Vấn đề nan giải của chúng tôi đã được giải quyết thông qua việc sử dụng một người trung gian, trong trường hợp này là nhân viên bưu điện. Nhân viên bán hàng đảm bảo rằng một giao dịch công bằng sẽ diễn ra hoặc không có giao dịch nào cả. Và không phải đơn vị trung gian nào cũng có thể cung cấp dịch vụ này. Đó phải là người được cả hai bên tin tưởng. Trong trường hợp một nhân viên bưu điện thuộc sở hữu của chính phủ, điều này xuất phát từ niềm tin của chúng ta vào chính phủ. Nếu nhân viên bưu điện có thể bị hối lộ, thì tôi hoặc người mua có thể tạo ra tình huống khiến chúng tôi có cả tiền mặt lẫn ô tô. Thật vậy, trong nhiều nước, tham nhũng như thế này có thể làm tiêu hao sự thịnh vượng rất lớn.

Người thượng cổ và ô tô là một chuyện, nhưng hãy chuyển sự tập trung của chúng ta sang thế giới tài chính, trong đó giao dịch đóng vai trò quan trọng. vai trò chủ chốt. Tất nhiên, các ngân hàng không trả lương cho nhân viên của mình để lấy đi cổ phiếu của người khác. Nhưng việc trao đổi tài sản tài chính một cách an toàn vẫn là một vấn đề quan trọng, bởi vì có ít cách hoạt hình hơn mà những người tham gia giao dịch có thể không giữ đúng lời hứa của mình. Ví dụ: một bên có thể mất khả năng thanh toán hoặc sự thay đổi đột ngột về điều kiện thị trường có thể khiến họ không thể đảm bảo tài sản. Họ có thể mắc phải những sai sót về văn thư hoặc do những tác động dây chuyền của một gian lận kế toán ở một đối tác khác.

Kết quả của những điều này “rủi ro thanh toán”, hầu hết các giao dịch tài chính được giải quyết bằng cách sử dụng giao hàng so với thanh toán (DvP). Đây chỉ là một thuật ngữ ưa thích cho quy trình bưu điện được mô tả ở trên. DvP đảm bảo rằng, nếu một bên tham gia giao dịch không thực hiện những gì đã hứa thì bên kia có thể giữ tài sản mà họ đưa ra để trao đổi.

Và việc phân phối và thanh toán được thực hiện như thế nào trong thế giới tài chính? Bạn đoán nó, thông qua các trung gian đáng tin cậy. Đây có thể là các ngân hàng khác, các trung tâm thanh toán bù trừ hoặc lưu ký chứng khoán trung tâm. Vì hầu hết các giao dịch ngày nay đều diễn ra bằng kỹ thuật số nên đây không phải là vấn đề quản lý việc chuyển giao chứng chỉ vật lý hoặc tiền mặt. Đúng hơn, DvP đạt được nhờ bên trung gian cập nhật đồng thời một số bản ghi trong cơ sở dữ liệu của họ và/hoặc truyền hướng dẫn đến các tổ chức khác.

Giao hàng so với thanh toán bằng blockchain

Nói về cơ sở dữ liệu đưa chúng ta đến chủ đề blockchain. Chuỗi khối cho phép sổ cái hoặc cơ sở dữ liệu được chia sẻ và đồng bộ hóa giữa một số bên. Tuy nhiên, không giống như cơ sở dữ liệu thông thường, cơ sở dữ liệu blockchain có thể được nhiều người dùng sửa đổi trực tiếp và an toàn ngay cả khi họ đang cạnh tranh khốc liệt với nhau. Nếu bạn làm việc trong lĩnh vực CNTT của công ty, bạn có thể muốn suy nghĩ về hàm ý của câu đó.

Để hiểu cách thức hoạt động của việc phân phối và thanh toán trên blockchain, chúng ta cần bắt đầu bằng cách tìm hiểu mô hình giao dịch của bitcoin. Cần lưu ý ở đây rằng các thiết kế blockchain khác sử dụng một mô hình khác cho các giao dịch và chúng ta sẽ nói nhiều hơn về những khác biệt này sau.

Một giao dịch bitcoin có một tập hợp các đầu vào và đầu ra. Mỗi đầu vào được kết nối với một đầu ra của giao dịch trước đó, với tất cả bitcoin từ đầu ra trước đó chảy vào. Bitcoin trong đầu vào của giao dịch sau đó được phân phối lại trên các đầu ra của nó theo số lượng được ghi bên trong. Ngoài ra, mỗi đầu ra giao dịch đều chứa mã định danh công khai của chủ sở hữu mới mà chủ sở hữu giữ khóa riêng tương ứng. Giao dịch bitcoin chỉ hợp lệ nếu:

  • Tổng số lượng bitcoin trong đầu vào của giao dịch lớn hơn hoặc bằng số lượng được ghi trong đầu ra của giao dịch. Bất kỳ khoản chênh lệch nào đều được “thợ đào” thu dưới dạng phí, người xác nhận giao dịch trong một khối, tạo ra cơ chế thị trường mà theo đó các giao dịch có thể đặt giá thầu để xác nhận.
  • Giao dịch được sự chấp thuận của chủ sở hữu của mọi đầu ra trước đó mà giao dịch đó “chi tiêu”. Sự chấp thuận này được thể hiện thông qua chữ ký mật mã của nội dung giao dịch mới. Chữ ký cho đầu ra trước chỉ có thể được tạo bằng khóa riêng khớp với mã định danh công khai của nó.

Cả hai quy tắc này đều quan trọng trong sổ cái tài chính được chia sẻ giữa các bên không tin cậy. Nếu không có cái đầu tiên, bất kỳ ai cũng có thể tạo ra bitcoin một cách dễ dàng. Và nếu không có cái thứ hai, mọi người đều có thể tiêu bitcoin của người khác. Nhưng chúng ta cũng cần quy tắc thứ ba, được thực thi trên toàn cầu thay vì trong các giao dịch riêng lẻ:

  • Mỗi đầu ra giao dịch chỉ có thể được sử dụng bởi một giao dịch tiếp theo. Điều này ngăn chặn một cuộc tấn công được gọi là chi tiêu gấp đôi trong đó cùng một bitcoin được gửi đến nhiều người nhận.

Để thực thi quy tắc này, chuỗi khối chứa nhật ký theo trình tự thời gian của các giao dịch hợp lệ không xung đột với nhau và nhật ký này được xác minh độc lập bởi mọi nút trong mạng.

Mô hình giao dịch bitcoin có thể dễ dàng được mở rộng để đại diện cho bất kỳ tài sản tài chính nào. Thay vì đầu ra giao dịch chứa bitcoin, nó có thể chứa số lượng và mã định danh tài sản. Tất cả các quy tắc bao gồm các giao dịch bitcoin vẫn được áp dụng, ngăn người tham gia (a) tạo tài sản đột ngột, (b) tiêu dùng tài sản của người khác và (c) chi tiêu cùng một tài sản hai lần. Đối với các tài sản không phải tiền điện tử, chúng tôi có xu hướng nhấn mạnh rằng số lượng đầu vào và đầu ra cân bằng chính xác, thay vì cho phép các nhà khai thác thu thập khoản chênh lệch.

Vậy làm cách nào để tạo giao dịch giao hàng an toàn và giao dịch thanh toán bằng mô hình này? Giả sử Alice và Bob đã đồng ý đổi 10 bảng của Alice lấy 15 đô la của Bob. Để thuận tiện, chúng ta giả định rằng Alice đã có chính xác £10 trong một đầu ra giao dịch và Bob cũng có $15. (Nếu không phải như vậy, họ có thể dễ dàng chuyển tiền của mình để thực hiện điều đó.)

Để bắt đầu, một trong hai bên xây dựng một giao dịch có hai đầu vào và hai đầu ra. Hai đầu vào sử dụng các đầu ra trước đó lần lượt chứa 10 đô la của Alice và 15 đô la của Bob. Đối với kết quả đầu ra, kết quả đầu tiên chứa số nhận dạng của Alice và 15 đô la, và kết quả thứ hai chuyển đến Bob chứa 10 bảng. Vì số lượng đầu vào và đầu ra bằng cả hai loại tiền tệ đều cân bằng nên giao dịch của chúng tôi đáp ứng điều kiện đầu tiên ở trên. Để thực hiện điều thứ hai, cả Alice và Bob bây giờ phải ký giao dịch, vì nó sử dụng các đầu ra trước đó thuộc về mỗi người trong số họ.

Giao dịch hiện có thể được hoàn tất bằng cách đưa nó vào blockchain, nhưng chúng ta vẫn cần xem xét vấn đề chi tiêu gấp đôi. Điều gì sẽ xảy ra nếu Alice tạo ra một giao dịch xung đột khi trao đổi cùng 10 bảng Anh với một đối tác khác đề nghị với cô một thỏa thuận tốt hơn? Ở đây, quy tắc thứ ba được áp dụng, trong đó blockchain đảm bảo rằng mỗi đầu ra chỉ có thể được sử dụng một lần. Nếu giao dịch cạnh tranh được truyền đi sau khi trao đổi của Alice với Bob diễn ra trên blockchain thì đơn giản là nó sẽ không được xác nhận. Và nếu giao dịch cạnh tranh được xác nhận trước thì trao đổi của Alice với Bob sẽ thất bại. Dù bằng cách nào, blockchain đảm bảo việc phân phối so với thanh toán cho trao đổi của Alice và Bob, cũng như bất kỳ trao đổi nào khác. Nếu Bob không nhận được 10 bảng của Alice thì Alice cũng không nhận được 15 đô la của anh ấy.

Sức mạnh của giao dịch một phần

Vì vậy, blockchain cung cấp cho chúng ta một cách để hai bên đến với nhau, xây dựng và ký kết một giao dịch trao đổi, đồng thời đảm bảo rằng giao dịch đó thành công hay thất bại nói chung. Điều này cho phép phân phối và thanh toán trên sổ cái chung mà không cần một trung gian đáng tin cậy để quản lý quy trình. Những người khai thác xác nhận giao dịch theo khối vẫn có một số quyền lực, nhưng ít hơn nhiều so với một trung gian truyền thống. Điều tồi tệ nhất họ có thể làm là từ chối xác nhận một giao dịch cụ thể toàn bộvà điều này không vi phạm DvP. Hơn nữa, nếu việc khai thác được chia sẻ giữa các bên thực sự tạo ra giao dịch, rủi ro này sẽ hoàn toàn biến mất vì mọi người sẽ có cơ hội xác nhận giao dịch của mình.

Càng xa càng tốt. Nhưng các blockchain kiểu bitcoin có nhiều thủ thuật hơn. Hãy nhớ lại rằng một giao dịch phải có chữ ký của chủ sở hữu của mỗi đầu ra trước đó mà giao dịch đó chi tiêu. Theo mặc định, chữ ký này khóa danh sách đầy đủ đầu vào và đầu ra trong giao dịch. Mật mã đảm bảo rằng sự sửa đổi nhỏ nhất đối với đầu vào hoặc đầu ra sẽ khiến chữ ký không hợp lệ. Làm theo ví dụ trên, nếu Bob được thay thế cho Carol sau khi Alice ký giao dịch thì giao dịch sẽ hoàn toàn thất bại.

Nhưng điều gì sẽ xảy ra nếu Alice không quan tâm đến việc cô ấy thực hiện trao đổi với ai? Đối với hầu hết các mục đích, tại sao cô ấy phải quan tâm? Trừ khi Alice quyết tâm làm việc cụ thể với Bob, nếu không thì chỉ có hai phần của giao dịch thực sự khiến cô ấy quan tâm. Đầu tiên, thực tế là sản lượng £10 của cô ấy sẽ được chi tiêu chứ không phải là số lượng hoặc tài sản khác. Thứ hai, cô ấy nhận lại được 15 USD từ sản phẩm mới. Miễn là tất cả số tiền trong hệ thống đều sạch, Alice không thực sự bận tâm 15 đô la đó đến từ đâu hoặc điều gì khác có thể xảy ra để tạo điều kiện thuận lợi cho việc trao đổi của cô ấy.

Có lẽ một bên sẽ mang theo 15 đô la và thực hiện hoán đổi thẳng lấy 10 bảng của Alice. Nhưng có lẽ Bob và Carol chỉ muốn đổi mỗi người 7.50 đô la. Trong trường hợp này, họ sẽ thêm hai đầu vào vào giao dịch, cùng với hai đầu ra thu về £5 mỗi đầu ra. Hoặc có thể Carol thực sự muốn đổi 15 đô la lấy 950 rúp, trong khi Sasha ở Moscow có 950 rúp và đang tìm kiếm 10 bảng Anh. Trong trường hợp này, trao đổi 3 chiều có thể diễn ra, trong đó mỗi bên vẫn chỉ quan tâm đến mảnh ghép của riêng mình. Giao dịch mà Alice bắt đầu có thể được hoàn thành theo vô số cách khác nhau. Nhưng theo quan điểm của Alice, tất cả những điều này đều đạt được mục đích chung là mang lại cho cô ấy 15 đô la để đổi lấy 10 bảng Anh, và tất cả đều khiến cô ấy hạnh phúc như nhau.

kịch bản trao đổi

Blockchain tạo điều kiện thuận lợi cho việc này như thế nào? Thông qua các giao dịch một phần và chữ ký một phần. Alice bắt đầu một giao dịch với một đầu vào duy nhất (cô ấy £10) và một đầu ra duy nhất ($15 cho cô ấy). Cô ấy khóa các phần này của giao dịch bằng chữ ký điện tử cho biết rằng bất kỳ số lượng đầu vào hoặc đầu ra nào khác đều có thể được thêm vào. Cô ấy giao giao dịch một phần này cho Bob và nói "hãy xem bạn có thể làm gì". Có thể cô ấy cũng giao nó cho Carol và cho bất kỳ đối tác hoặc nhà xây dựng tổ chức tiềm năng nào khác. Mỗi trong số này có thể thêm vào các cặp đầu vào và đầu ra của riêng mình để cân bằng trao đổi hoặc để tạo ra một phần giao dịch lớn hơn có thể được thực hiện lại. Bất kể ai làm gì, giao dịch chỉ có thể được thực hiện (tức là được giải quyết thông qua xác nhận trên blockchain) khi tài sản đầu vào và đầu ra được cân bằng.

Giao dịch blockchain chỉ là một đoạn dữ liệu kỹ thuật số, vì vậy các giao dịch một phần này có thể được gửi qua email hoặc bất kỳ phương tiện liên lạc nào khác. Chúng thậm chí có thể được đăng công khai, bởi vì những người tham gia giao dịch tiềm năng biết rằng blockchain sẽ chăm sóc chúng. Chữ ký của Alice đảm bảo rằng cô ấy sẽ chỉ chi £10 nếu ai đó đổi lại cho cô ấy $15.

Cuối cùng, nếu Alice chọn vô hiệu hóa lời đề nghị, tất cả những gì cô ấy phải làm là chi 10 bảng Anh đó vào một giao dịch khác, đơn giản nhất là gửi lại cho chính cô ấy. Bởi vì blockchain sẽ không cho phép sử dụng cùng một đầu ra hai lần, điều này khiến giao dịch một phần hiện tại của cô ấy trở nên vô giá trị. Tất cả những người tham gia khác trên blockchain sẽ thấy điều này và ngừng lãng phí thời gian của họ khi cố gắng hoàn tất trao đổi.

Từ DvP đến hợp đồng thông minh

Như tôi có đã tranh luận trước đây, chuỗi khối kiểu bitcoin có thể được xem như một cách để quản lý đồng bộ hóa và bảo mật trong cơ sở dữ liệu quan hệ được chia sẻ. Cả giao dịch bitcoin và cơ sở dữ liệu đều được xử lý nguyên tử, có nghĩa là chúng thành công hay thất bại nói chung. Điểm mấu chốt của sự tương tự là sự tương đương giữa đầu ra giao dịch trong chuỗi khối và một hàng trong cơ sở dữ liệu. Một giao dịch blockchain sử dụng một số đầu ra và tạo ra một số đầu ra khác cũng giống như một giao dịch cơ sở dữ liệu xóa một số hàng và thay vào đó tạo một số hàng khác. (Một thao tác cơ sở dữ liệu sửa đổi một hàng hiện có tương đương với việc xóa hàng đó và tạo một hàng cập nhật mới vào vị trí của nó. Sự tương đương này làm cơ sở cho định nghĩa phổ biến MVCC phương pháp kiểm soát đồng thời trong cơ sở dữ liệu, trong đó các chuỗi khối kiểu bitcoin có thể được coi là một dạng phân tán.)

Vì vậy, hãy tưởng tượng rằng dữ liệu tài chính của chúng ta được lưu giữ trong cơ sở dữ liệu, trong đó mỗi hàng chứa ba phần thông tin: mã định danh chủ sở hữu, mã định danh tài sản và số lượng tài sản. Chuỗi khối cho phép sổ cái này được chia sẻ an toàn giữa những người tham gia, ngay cả khi họ không tin tưởng lẫn nhau chút nào. Trong ngôn ngữ cơ sở dữ liệu, nó đảm bảo rằng:

  • Số lượng tài sản trong các hàng bị giao dịch xóa khớp với số lượng tài sản trong các hàng mà giao dịch tạo ra.
  • Đối với mỗi hàng bị xóa (hoặc sửa đổi) bởi một giao dịch, giao dịch đó phải được chủ sở hữu của hàng đó ký.
  • Nếu một hàng cơ sở dữ liệu bị xóa bởi một giao dịch, điều này sẽ ngăn giao dịch khác xóa nó lần nữa.

Hãy xem xét quy tắc đầu tiên, cụ thể là các giao dịch phải bảo toàn số lượng tài sản. Chúng ta có thể mở rộng điều này thành khái niệm chung về “ràng buộc giao dịch”. Ràng buộc giao dịch có dạng một hộp đen trong đó nhìn thấy hai bộ hàng cho mỗi giao dịch: (a) các hàng bị giao dịch xóa, (b) các hàng mà giao dịch tạo ra. Công việc của hộp đen là xem xét hai bộ này và trả lời 'có' hoặc 'không' về việc giao dịch có hợp lệ hay không. Trong trường hợp cụ thể của chúng tôi, nó sẽ chỉ trả lời có nếu tổng số lượng tài sản trong cả hai bộ khớp chính xác.

Khi chúng ta có khả năng áp dụng các ràng buộc giao dịch, chúng có thể được mở rộng để chứa bất kỳ bộ quy tắc nào. Một số ví dụ có thể là “chỉ có thể tạo một đơn vị của tài sản này nếu ba tài sản khác này đồng thời bị khóa trong ký quỹ” hoặc “tài sản này chỉ có thể được chuyển nhượng nếu có một hàng tương ứng báo cáo không đủ mưa”. Từ góc độ kiến ​​trúc phân tán của blockchain, logic bên trong chiếc hộp không có gì khác biệt, miễn là nó có thể cho chúng ta đánh giá rõ ràng và nhất quán về mọi giao dịch mà nó nhìn thấy.

Do đó, các ràng buộc giao dịch có thể đóng vai trò là phương pháp chung để hạn chế các chuyển đổi dữ liệu mà người tham gia blockchain có thể thực hiện. Cách tiếp cận này đối với “hợp đồng thông minh” cung cấp một giải pháp thay thế cho thủ tục lưu trữ Được dùng trong Ethereum và của mình Eris phát sinh. Trong phần tiếp theo, chúng ta sẽ đi sâu hơn vào những ưu điểm và nhược điểm của hai mô hình này, về tính đơn giản, khả năng mở rộng và tính đồng thời.

Bạn có thể theo dõi tôi trên Twitter tại đây. Xem thêm: Kết thúc cuộc tranh luận bitcoin và blockchain.

Phụ lục kỹ thuật

Để xây dựng các giao dịch DvP một phần, hãy sử dụng kiểu chữ ký of SINGLE|ANYONECANPAY. Nếu bạn đang sử dụng Đa chuỗi, Các preparelockunspent, createrawexchangeappendrawexchange Các lệnh gọi API chăm sóc các chi tiết cho bạn. Xem Bắt đầu trang để biết ví dụ đơn giản về cách sử dụng chúng.

Xin vui lòng gửi bất kỳ ý kiến trên LinkedIn.

Nguồn: https://www.multichain.com/blog/2015/09/delivery-versus-Payment-blockchain/

Dấu thời gian:

Thêm từ Đa sắc