(The Idea of Smart Contracts)智能合约

2023-10-07 22:32

本文主要是介绍(The Idea of Smart Contracts)智能合约,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

智能合约

Copyright(c)1997 by Nick Szabo

未经许可,严禁转载


“安全”的意义和概念是什么?它和我们的关系有什么相关?我认为我们之间的关系——尤其是合约——为理想安全提供了蓝图。

许多合同条款(例如担保,绑定,产权划分等等)都可以嵌入到我们身边的硬件和软件里,这也导致了违约者违反合约的代价是很昂贵的(如果如愿的话,有时会高到令人发指)。一个真实的案例,这个案例可以被认为是最早的智能合约的祖先,就是微不足道的自动售货机。在有限的潜在的损失里(贩卖机里的钱少于违反机制的钱),机器接收硬币,并通过一个简单的机制,which makes a freshman computer science problem in design with finite automata, dispense change and product according to the displayed price。自动贩卖机和持币人之间产生合约:任何持有硬币的人都可以参与到和贩卖机交换的过程中。上锁的箱子和其他安全机制保护存储的硬币和内容不受攻击者的攻击,有效地保证了贩卖机在广大领域的发展。

智能契约超越了自动售货机的范畴,提出将契约嵌入到各种有价值的、由数字手段控制的财产中。Smart contracts reference that property in a dynamic, often proactively enforced form, and provide much better observation and verification where proactive measures must fall short。

另外一个一个例子,假设一个汽车数字安全系统。智能合约设计策略建议我们依次细化安全协议,使其更充分地嵌入到处理它的契约条款中。这些协议将根据合同条款,将操作该财产的加密密钥的控制权交给合法拥有该财产的人。在最直接的实现中,除非与合法的所有者一起完成质询-响应协议,这可以防止汽车被盗,否则汽车将无法被使用。

如果汽车被用来贷款,以这种传统措施实施的强力安全措施会让债权人头疼——回收的人将不能没收赖账的汽车。为了解决这个问题,我们可以创建一个智能留置权协议:如果所有者不付款,智能合同将调用留置权协议,该协议将汽车钥匙的控制权返还给银行。这比回收的人更加便宜并且更加有有效。进一步的物质化可以证明,当贷款还清时,留置权将被取消,同时也可以说明困难和操作异常。例如,当汽车在高速公路上行驶75英里时,取消对它的操作是不礼貌的。

在这个过程中,我们已经从一个逐次改进原油安全系统具体化的合同:

(1)一种有选择地让所有人进入,并驱逐第三方的锁;

(2)一个后门让债权人进来;

(3a)债权人后门只有在一段时间内不付款时才会开启;

(3b)最后的电子支付永远关闭了后门。

成熟的安全系统会对不同的合同承担不同的行为。继续我们的例子,如果汽车合同是一个租赁合同,最终的付款将关闭承租人的访问;对于赊购,它将关闭债权人的使用权。一个安全系统,通过不断的重新设计,越来越接近合同的逻辑,合同管理的权利和义务,包括对象,信息,或被保护的计算。质量上不同的合同条款以及财产上的技术差异导致需要不同的协议。

(摘自Nick Szabo的《公共网络关系的正规化和安全》)(Derived from "Formalizing and Securing Relationships on Public Networks" , by Nick Szabo)相关文章讨论了用于分析合同和指定智能合同的正式语言。


http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html

这篇关于(The Idea of Smart Contracts)智能合约的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/160873

相关文章

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

IDEA中Maven Dependencies出现红色波浪线的原因及解决方法

《IDEA中MavenDependencies出现红色波浪线的原因及解决方法》在使用IntelliJIDEA开发Java项目时,尤其是基于Maven的项目,您可能会遇到MavenDependenci... 目录一、问题概述二、解决步骤2.1 检查 Maven 配置2.2 更新 Maven 项目2.3 清理本

基于Python实现智能天气提醒助手

《基于Python实现智能天气提醒助手》这篇文章主要来和大家分享一个实用的Python天气提醒助手开发方案,这个工具可以方便地集成到青龙面板或其他调度框架中使用,有需要的小伙伴可以参考一下... 目录项目概述核心功能技术实现1. 天气API集成2. AI建议生成3. 消息推送环境配置使用方法完整代码项目特点

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File