(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

相关文章

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、