5

Các ngăn chặn như Ethereum sử dụng ngôn ngữ dựa trên stack-đăng ký trên các máy ảo xử lý hợp đồng thông minh của họ. Mô hình đó rất thuận tiện vì nó cung cấp một cơ chế đơn giản để đo lường số lượng công việc cần thiết để chạy các chương trình: chỉ cần sửa một chi phí cho mỗi hoạt động nguyên thủy và tổng hợp.Làm thế nào để đo lường chính xác nỗ lực cần thiết để giảm λ hạn?

Giả sử rằng, thay vì máy ảo, một blockchain có hợp đồng thông minh sử dụng ngôn ngữ lập trình hàm như lõi của Haskell. Có cách nào đơn giản, chính xác để đo lượng công việc cần thiết để thực hiện một chương trình chức năng hay không - lưu ý rằng các nút có thể sử dụng bất kỳ chiến lược đánh giá nào, vì vậy đo lường phải là phổ quát.

+3

Một biện pháp như vậy không thể độc lập với chiến lược đánh giá. Đánh giá cao nhất sẽ làm giảm các điều khoản về hình thức bình thường, mà trong cùng sẽ không. Ví dụ 'const() (fix id)'. Với đánh giá ngoài cùng, thuật ngữ này sẽ được giảm xuống dạng bình thường trong một bước. Với việc đánh giá bên trong nhất, điều này sẽ thực thi vòng lặp vô hạn 'fix id', vì vậy chi phí sẽ là vô hạn. 'fix' là từ' Data.Function'. – jpath

+0

Thực ra nó sẽ độc lập với chiến lược đánh giá nếu bạn định nghĩa nó là số bước tối thiểu để giảm một thuật ngữ thành dạng bình thường trên tất cả các chiến lược đánh giá có thể có. Nhưng điều đó tương đương với số bước cần thiết khi sử dụng đánh giá lười biếng và tôi không nghĩ đây sẽ là biện pháp hữu ích cho bất kỳ chiến lược đánh giá nào khác. – jpath

+0

Bởi bước tôi có nghĩa là áp dụng một trừu tượng lambda để ** một ** đối số hoặc áp dụng một hoạt động nguyên thủy đối số của nó. – jpath

Trả lời

1

"chỉ cần sửa một chi phí cho mỗi hoạt động ban đầu và tổng" không phải là dễ dàng để làm. Mạng blockchain tự động xác định giá trị thực của mã thông báo cho bất kỳ giá trị nào mà mã thông báo của nó cung cấp. Ví dụ, một loại khí có giá trị bất cứ điều gì trên thế giới muốn trả tiền cho nó để sử dụng nó như một đơn vị tính toán trên máy tính thế giới. Để đo lường chính xác nỗ lực của mạng để đảm bảo giá trị đơn vị của mã thông báo, chúng tôi cần thuật toán DMMS (như được mô tả trong giấy bị bỏ qua) & không có gì ngoài một khối chuỗi hoạt động bằng chứng.

Mỗi hoạt động nguyên thủy cần blockchain riêng của nó để giá trị của nó được xác định chính xác. Khi nhiều mã thông báo được triển khai trên một blockchain đơn, ví dụ như tiền xu màu/tùy chỉnh, nó không thể đo lường chính xác giá trị của một đơn vị.

Trong trường hợp ngôn ngữ chức năng, người ta có thể tưởng tượng một blockchain lisp với 7 nguyên thủy của paul graham được thực hiện như một opcode (trình giải thích dựa trên stack là không liên quan), sẽ được hoàn thành nhưng sẽ bị vấn đề xác định giá trị thực của mỗi opcode; người rẻ nhất sẽ luôn bị lạm dụng như là điều hiển nhiên trên ethereum (giá rẻ của chức năng tự sát đã bị spam).

Vì vậy, để đạt được khối chuỗi hoàn chỉnh, bạn cần một mạng lưới gồm 7 blockchains, mỗi khối độc lập xác định giá trị thực của nỗ lực cần thiết cho phép tính nguyên thủy đó.

Những người có lựa chọn thay thế cho bằng chứng về công việc sẽ không đồng ý với những điều trên. Tiền điện tử là một lĩnh vực mới và toán học không đủ trưởng thành để mọi người có thể đưa ra các tuyên bố cụ thể.

Các vấn đề liên quan