Lamden 套件的完整概述

Jeff Scott
46 min readAug 22, 2018

--

Lamden 致力于使复杂的技术变得令人愉悦和美丽,就像 Claude Monet 的这幅画一样。

介绍

与网络应用程序开发不同,区块链开发资源内容很稀疏。大量的文件库、教程和 框架可供人们加速网络应用程序的开发时间,其主要原因是网络技术的成熟。 现在为网络提供动力的,只是用了较多时间开拓出来的开发工具。区块链世界还 在等待这个时间的验证。

此外,当我们尚未看到足够多企业环境中应用区块链的例子时,使得开发出用于 构建区块链应用程序的工具变得十分困难。原因好比“第二十二条军规”中的情 况。人们通常厌恶成本;只有要求学习的时间足够短,他们才肯花时间学习一些 东西。许多开发工具可以缩短学习所需的时间。然而,区块链目前处于一个有趣 的位置,因为这些工具不存在,因此实际上有更少的人愿意花费和牺牲时间去学 习如何开发区块链技术。随着越来越多开发出的工具,我们可以期待更多的技术 被采用。随着工具的引入,采用率会呈指数增长。

技术生产的速度会随着时间的推移而增快是因为前几代技术被用于创造下一代技术。

Lamden 专注于成为区块链应用第一个端到端的开发套件。我们并不专注于预先 存在系统上的智能合约,而是创建新的、自定义的区块链分散系统,这些系统不 包含在智能合约的应用程序空间内。对智能合约略懂一二的人都知道他们能做的 事情很有限。Lamden 正在开发的工具旨在取代那些子集并显露了能开发出任何 类型的分散应用程序的开发环境。

这可以像我们熟悉的区块链一样明确,也可以像社交媒体应用程序一样分明,人 们正在存储和共享对他们来说很珍贵的信息,并在他们自己的个人服务器上拥有 这些数据。由于系统的极高成本和刚性,这种类型的应用无法在现有的区块链平 台之上被开发。

新区块链的基本原理

从头开始制作区块链并非易事。事实上,由于这个原因,比特币,莱特币,零币 和达世币都共享着 90%的相同代码。使他们不同的是散列算法和交易处理之间的 微小差异。我们刚刚看到以太坊代码的分叉融入到新的项目,这些项目正在推广 自己的独特之处,如万维链、优比克和 Tomochain。然而,就像莱特比和零币一 样,这些项目使用了 90%的以太坊代码,从而继承了 90%的相同问题。

你能指出哪个代码属于哪个硬币吗?图为:比特币,Litecoin,Dash,ZCash(不按顺序)

我们不想继承比特币和以太坊所具有的相同问题。首要问题就是交易费用。

区块链的一个常见误解是单个事务难以计算。这不是真的。交易只需要支付一定 数量的加密货币,因为这些费用是为了支付矿工为破解区块的工作证明。如果从 系统中删除工作证明,则交易费用的要求会降低。您可以在诸如 PayPal 和 Stripe 之类的传统支付系统中看到这方面的证据,PayPal 和 Stripe 将交易费作为收入 流费用,而不是支持网络的收费。处理这些规模的交易比在比特币网络上解决单 个块更难。

因此,我们希望提供免费交易的同时去除以上所有的工作证明。用户添加到其交 易中的每个证明都需要 500 毫秒到 1 秒的时间。这可以防止系统垃圾邮件。除非 证明有效,否则不会被处理。然后将以 1 秒/块或 10,000 交易/秒为单位快速处 理交易,以先到者为顺序。通过委托证明而非工作证明来处理区块。网络成员选 择代表一起进行区块挖掘。具有最多确认的区块将被提交到区块链。该系统已在 比特股网络上证实为相当健全的。

基于开发,我们注意到每个区块链都是在没有修改意图的情况下编写的。不通过 重写核心代码是没有方法可以添加新功能到比特币或以太坊的。这主要是因为比 特币和以太坊的开发人员没有编写可以修改的功能,而是要每个人都使用他们发 行的版本。这种假设是有缺陷的。没有任何系统可以捕获 100%的市场。许多独 立的各方都有独特的需求,他们可以通过开发工具包来解决这些问题,以便修改 和部署属于他们自己的软件。Lamden 区块链完全支持基于 Pyhton 编程的自定 义智能合约语言以及允许开发人员制作自己的节点类型,规则和交易类型的模块 化组件。

比如,开发人员不仅可以创建一个开箱即用,具有一些基本 Lamden 智能合约的 系统,还可以创建他们体系中独有的新的参与者阶级。再次拿社交媒体示例:节 点可以是内容制作者,内容消费者和广告商。在现有区块链当中目前还没有能够 支持其网络上的节点突变以允许这种情况的系统。创建这些独特功能所需的自定 义开发数量类似于从头开拓一个全新的区块链,因为它与当前区块链编写的方式 有着根本的不同。

但是,Lamden 认为这些类型的应用程序在未来将会被开发,因此在提供创建它 们的接口。开发人员可以创建在系统中具有任何属性类型和职责的节点。允许这 种类型的创造力对于项目来说非常重要,并证明了自定义区块链的合理性。

最后,这种新的模块化区块链的引入完全符合原始白皮书中提供的静态定义开发 工具的原始愿景。不同于开发一款开箱即用,将智能合约直接安装上面的区块链, 现在可以开发一套完整的区块链项目,开发和调整人们如何与系统交互和操作来 编程以及安装新的智能合约。在一个有凝聚力的开发环境中将其广泛地部署。

回顾原始目标

Lamden 最初是一个由三个工具组成的套件,每个工具都满足了开发过程中的特 定需求。现在,随着模块化区块链 Cilandro 的推出,正在开发的工具变成了四 种:Saffron,项目自动化工具;Flora,智能合约存储系统;和 Clove 一种将区块链连接在一起的原子交换自动化工具 (Cilandro 是第四位)。

SAFFRON

大多数软件开发工具都有一些自动生成项目支架的功能。这个支架是使应用程序 达到您想要开始自定义它所需的代码。虽然这听起来可能为开发人员提供了一切 所需的样子,但事实恰恰相反。在移动应用程序开发的示例中,构建的项目支架 是自动生成用于在手机硬件上运行应用程序的所有低级接口,以便程序员可以专 注于应用程序的特定功能,它的外观以及它如何与其他系统进行对接就如在线数 据库。

很多项目的支架在今天的开发流程中都是自动生成的,对于许多程序员来说完全 不了解他们正在开发的东西。另一个很好的例子是 Node.js 系统中的 Node Package Manager。该软件初始化是一个“空白”项目,供您开始开发 Node.js 程序。但是, 它还包括自动将其上传到 Package Manager 中的代码,并使得在新代码中导入变 得非常容易。这些项目的程序员不专注与 Package Manager 服务的融合。这是在 项目开始时由工具自动设置的。

什么项目支架看起来像为了流行的基于 Python 的 Web 开发的框架 Django

但是,正如您可能已经猜到的那样,区块链应用程序中不存在这样的系统。部分 原因在于该技术有多新。可以做出另一个假设,即当前的区块链平台根本不是为 开发人员设计的,如前所述,因为它们是以单一和通用融合的技术而诞生的。

无论是什么原因,对于使区块链项目自动化实现拔地而起“肮脏工作”的软件, 需求还是非常旺盛的。这是 Saffron 的目标。

Saffron 还将负责基础架构部署工具,以便创建新项目就像在 DigitalOcean 上使用一键式应用程序一样简单。

最初,Saffron 只是一个用来生成新的基于以太坊的网络工具。但是,基于 Lamden 在开发自有区块链,那么 Saffron 的概念已经略有变化。Saffron 仍然是用于部 署“空”网络的自动化工具。然而,对于之前未讨论过的 Cilandro 区块链有一 些更强的优化。

为了重申最初的愿景,Lamden 认为区块链是一个人们都认同的数据存储库。对 于比特币来说,是交易数据的储存。对于以太坊,它可以是任何东西。我们看到 很多令牌在以太坊的平台上发行,就像不可触碰的电子猫或加密朋克一样。

考虑到这一概念,我们将 Saffron 定位为一个简单使用区块链的生成空白数据存 储的方法。支持此数据存储的基础技术取决于开发人员的选择。他们可能喜欢基 于比特币区块链提供的 UTXO 模型。或许更喜欢以太坊发行的“全球村”范式。 无论开发人员做出何种决定,Saffron 都能够在计算机或云实例上生成该技术的 空白区块链,以便在其内部进行开发。许多现有系统选择在比特币之上额外再添 加一层(请看 Omni, Rootstock 和 Counterparty)。这些系统通常开发比特币脚 本,一种以扩展 UTXO 模型功能的原型智能合约编程语言。企业或开发人员可 能希望为了自己的内部目的而这样做,能够在其内部基础架构上部署比特币实例 和 Saffron,除此可以使用 Lamden 工具与其进行交互对他们来说非常重要。以 太坊也存在类似的用列。Saffron 也将自己扩展为具有完全不同底层架构的链 条。这些包括 Monero / Cryptonote 系统,NXT,NEM,EOS,NEO 等。开发人员 还可以部署比特币代码分叉作为起点,如达世币或零币。

对于 Cilandro,Saffron 提供了更大的可定制空间。通常,项目的支架工具是设 置在不需要更改或重写的文件结构和无处不在的代码内的。由于 Cilandro 编程 是模块化的,因此区块链最终是文件结构中的集合代码。其中一些代码不会改变, 如整体网络中的路由消息以及区块是如何通过默克尔树生成和验证的。大多数开 发人员不想修改它。他们对在网络中发送某些交易时所发生的逻辑以及节点的行 为方式更感兴趣。这就是为什么这两个结构是抽象开发的原因。无需任何其它安 装,它们可以被修改、创建,和添加到项目目录中,然后在运行软件时动态加载 它们。这允许非常快速的原型设计和开发,因为程序员无需将代码部署到测试网 络或设置特殊软件(如 TestRPC)来模拟执行新代码的环境。一切都包括在盒子 之中。

Flora

这些概念自然隐约地提到了 Flora,Lamden 正在开发中的智能合约包管理程序。 像类似支架项目为开发人员生成的代码不仅很多,许多代码还可以与其他开发人 员进行共享来解决一些非常常见的问题。这是开源软件和包管理器背后的全部理 念。比起每次重写代码,我们可以使用包管理器来查找其他开发人员已经制作并 开源的代码。这使我们的开发时间更快。它还可以提供更好的代码。因为这些包 是开源的,所以社区可以提出改进和修复建议。开源软件通常被视为更安全,因 为如果存在基本问题,那些问题将在早期被发现并暴露给它的原始开发人员来进 行被迫修补。

包管理器的工作方式类似于编程中的继承概念.与其为项目从头创建相同的功能不如在应用程序中包含依赖项以便可以 在网络中用新的代码工作。

通过包管理器区块链安全性的想法是双面性的。智能合约控制着大量的资金,因 此杜绝漏洞和合法性显得更加重要。开源的智能合约可以通过社区安全审计来查 找是否存在漏洞。对于获得专业安全审计的智能合同来说,如 OpenZeppelin 开 发的那些,获得具有安全审计的确切代码非常重要。社区成员为添加其他功能或 改进而完成的代码更改可能会引入新的漏洞。在最坏的情况下,恶意开发人员可 能会创建一个智能合约的版本,该合同具有他们故意放置的应有以在将来获取利 益。一旦安装了包管理器的新分叉合同并部署了新代码,恶意开发人员就可以暴 露漏洞并破坏智能合约。这显然是需要避免发生的事情。

在当前的智能合约领域中,尚不存在包管理器事实上的标准。通过浏览通用代码 存储库站点 GitHub,可以找到并下载智能合约的方法。此方法不支持一个良好 的包管理器所需的依赖关系,版本控制或安全性。它也不是可扩展的解决方案, 因为它不易自动化。

目前查找智能合约的方法包括在 GitHub 上搜索“智能合约”,查看每份报告,然后将您喜欢的那些复制并粘贴到第三 方智能合约编辑器’Remix’里(现在由以太坊基金会管理,但最初是独立开发的)

另外,正真 dependency manager 的缺乏会扼杀创新。在其他编码环境中,人们 可以非常轻松地导入代码并在其上开始开发。然后,这个新代码被打包成一个新 的更复杂的库,再由另一个项目负责人导入。随着这个过程一遍又一遍地重复, 越来越复杂的代码被开发出来,直到一个非常成熟的库和框架领域。但智能合约 世界并不存在这样的环境,这也是该领域发展缓慢和拥堵的原因之一。因此,智 能合约包管理器的最佳实现是将传统包管理器的便利性、实用性与区块链的安全 性相结合。这就是为什么 Flora 具有私钥 — 公钥对系统,其中包必须用钱包密 钥签名。此钱包密钥标识该代码的开发人员,并将其上传到专门为该密钥创建的 目录网络中。

所以,每个包以及上传的每段代码都会通过签名进行加密认证,前提是声称已经 上传代码的开发人员,实际上已经编写了所述代码。这可以防止人们将潜在的恶 意代码作为真实内容传递出去。

虽然 Flora 最初被设想用于 Solidity 和 Ethereum 智能合约,但随着 Cilantro 的 推出,它也成为了人们为 Lamden 工具创建的所有智能合约的存储库。

此外,随着越来越多的系统支持智能合约,例如 NEO,EOS 和 Lisk,我们也可以 期待轻松地将它们融合到平台中。甚至比特币脚本也可以被添加到 Flora 的数据 库中,无论它们是原始字节代码格式还是由 Chain 开发的更高级别的 Ivy 代码。

智能合约需要像 NPM 这样的主页,专门针对他们的需求进行调整。你可以说 NPM 作为一个界面更有意义,来通过这 个界面对质量和维护进行过滤。这是一个更好的发现工具。

Lamden 还发现在智能合约中它们彼此都非常地相似。然而 Phyton 的开发包之 间存在着非常大的差异,大部分的智能合约都与账本或数字事物所有权的踪迹相 关联。因此,我们相信大量的代码可以被重复使用,有些人只想修改智能合约的 细节而不是导入它然后围绕它去写一个新的智能合约,这就是标准编程包的处理 方式。

我们引入了一个名为’tsol’的库,它代表模板化的 Solidity。在此库中,可以建立 元智能合约以允许将来定义特定变量。这对于创建新的 ERC20 令牌时,真正想要 修改名称,小数点精度和总供应量时是非常重要的。这将为希望开发自己的智能 合约的程序员提供更低的准入门槛,因为自定义智能合约可以使用单个 JSON 有 效负载被开发。

‘tsol’格式可以移植到任何智能契约语言,目前正在探索其描述原合约至其它语言 的能力。

pragma solidity ^0.4.14;
contract Table {
address owner;
function Table() {
owner = msg.sender;
}

struct Model {
{% for key, value in struct.items() %}
{{ value }} {{ key }};
{% endfor %}
}

mapping (uint => Model) lookup;

modifier onlyOwner() {
require(msg.sender == owner);
_;
}

function get(uint id) internal returns (Model bb) {
return lookup[id];
}

function set(Model b, uint id) onlyOwner internal returns (Model bb){
lookup[id] = b;
return lookup[id];
}
{% for key, value in struct.items() %}
function get_{{ key }}(uint id) returns ({{ value }} a) {
Model m = lookup[id];
return m.{{ key }};
}
{% endfor %}
}

示例 tsol 代码。这个概念可以移植到任何其他编程语言(包括我们自己的, Seneca!)

{
'contract_name' : 'Book',
'struct' : {
'title' : 'string',
'author' : 'string',
'owner' : 'address'
}
}

创建一个类似于数据库表的全新智能合约所需的所有数据。以下是输出

pragma solidity ^0.4.14;
contract Table {
address owner;
function Table() {
owner = msg.sender;
}

struct Model {
string author;
string title;
address owner;
}

mapping (uint => Model) lookup;

modifier onlyOwner() {
require(msg.sender == owner);
_;
}

function get(uint id) internal returns (Model bb) {
return lookup[id];
}

function set(Model b, uint id) onlyOwner internal returns (Model bb){
lookup[id] = b;
return lookup[id];
}

function get_author(uint id) returns (string a) {
Model memory m = lookup[id];
return m.author;
}

function get_title(uint id) returns (string a) {
Model memory m = lookup[id];
return m.title;
}

function get_owner(uint id) returns (address a) {
Model memory m = lookup[id];
return m.owner;
}

}

Clove

Lamden 原始生态系统中最引人注目的部分是 Clove。Clove 使原子互换中的构建 和参与变得自动且简单。对于那些不知情的人来说,原子交换是一种特殊类型的 智能合约,它使得两个彼此不认识的人相互信任,在完全不同的区块链上进行资 产交换。这将导致加密货币点对点交换的兴起以及对其他类型对象或资产的点对 点交换。很容易想象房地产所有权以这种方式交换而不是通过中心化交易,因为 市场上的房子每一所都是独一无二的并且由不同的房地产经纪人出售。

原子互换的细节如下:生成随机数 据并将其导入智能合约中,该合约 声明“如果此随机数据的散列是从 正确的人发送到此智能合约的,则 立即将该发送的币发送到那个人的 智能合约中”。这明确地意味着智 能合约是在没有实际使用秘密的情 况下创建的。然而一段数据的散列 是确定性且不可逆的,所以最初智 能合约的发起人可以与他们想要进行交易的人共享散列而不会过早暴露该秘密。

因此,发起者与另一方共享该哈希及其交易。由于区块链是开放的,所以该方可 以查看该人是否真的正确地设置了交易。如果该人没有正确地设置交易那么该方 可以通过在他方不进行交易设置来暂停。这只会导致原子交换“失败”,而发起 人会在一段时间后收回资金(通常是 24–48 小时)。

假设发起者是诚实的,对方使用相同的哈希修改金额和收币对象来进行交易。 然后发起人查看对方发起的新交易。如果它包含正确的信息,那么交易继续。同 样,要是不正确,不必采取任何行动,且双方资金都将会在指定时间内退回给原 始发起者。

假设发起者是诚实的,对方使用相同的哈希修改金额和收币对象来进行交易。 然后发起人查看对方发起的新交易。如果它包含正确的信息,那么交易继续。同 样,要是不正确,不必采取任何行动,并且双方资金都将会在指定时间内退回给 原始发起者。

这个过程的问题在于它对于普通用户来说技术上很复杂,而且需要与对方直接通 信以协调交换,检查交易等。Clove 提供通过自动化解决这两个问题的服务。 Clove 目前的形态是一个可以使市场上 95%的加密货币自动化原子交换的基于 Python 编写的命令行工具。如果你还记得,大多数主要区块链项目都只是比特 币和以太坊的修改版本。这两个区块链都支持原子交换,这意味着 Clove 自动支 持比特币、基于比特币的硬币、以太坊、基于以太币的硬币、ERC20 代币和 ERC721 代币的交换。此外,Cilandro 本身支持开箱即用的原子交换,这意味着 Tau 硬 币将是以免费交易成本的方式来交换加密货币世界中的资产。我们对 Cilandro 的计划包括支持在其平台上创建令牌,这意味着在推出 Lamden 主链之后将出现 新类别的独特和可互换的令牌和硬币。

其他一些支持原子交换的区块链也在我们的研究当中。比如,Neo 和 Neo 资产遵 循与比特币相似的智能合约模型,所以它们是 Clove 原子交换自动化产品组合中 会去增加的。对 Eos 和其它智能合约区块链的研究也正在进行中。值得注意的是, 基于 Cryptonote 的硬币,如 Monero 和 Bytecoin 不支持原子交换,因为它们不像 比特币、以太坊和 Cilandro 一样包含智能合约语言。即便如此,有其它方法可 以进行实验来完成。同样,NEM 和 NXT 目前似乎并不容易支持原子互换,尽管 Lamden 社区也在通过其它方法寻找对它们的支持。

Cilantro — 新的区块链

对于 Cilandro 到底是什么,似乎总是存在混淆。它是 Lamden 的主链条吗?它只 是一个创建区块链的工具吗?它是用于企业区块链部署的吗?这是解释: Cilandro 是一款允许模块化构建区块链的软件。这是允许快速开发分散式系统 同时不限制系统功能的解决方案。可以说,Lamden 对 Cilandro 的主要部署是用 于原子互换。这次部署是 Lamden Tau 硬币所持有的部分,也是我们面向公众的 第一个分散式应用程序。 此部署所服务的目的有两个:第一,提供免费和快速的交易和原子互换来引入在 加密空间不受单方控制的真正的互操作性,第二,展示成功部署 Lamden 套件以 创建全新的区块链应用程序。

Cilantro 主要愿景

Lamden 的使命是增加区块链的采用,使创新蓬勃发展。为达到目的,必须存在 具有吸引特征的区块链。目前情况并非如此。如果你看比特币和以太坊是如何工 作的,你会发现他们的界面非常地复杂和费解。这两个项目没有在编写一份清晰 文档方面下功夫,因此体现了它们的复杂性。

此外,如果你仔细观察软件工作的事务性负载,它肯定是错综复杂的。仅凭此就 为人们进入区块链造成了巨大的障碍。还记得你第一次接触加密市场吗?还记得 你是从哪里开始的吗?你是怎么得到你的第一枚加密货币的?你是否在你的计 算机上同步过钱包?你运行过一个完整的节点吗?

对于很多进入加密货币的人来说用户体验都是非常差的。这是我们开发 Cilandro 的主要原因。这些设计决策告知我们要努力开发。

交易

Cilandro 最重要的一方面是它的交易性标准载荷是免费的。这允许那些想要尝 试该技术的人在没有资金风险和不用将部分预算用作交易费用的情况下进行。一 个人可以拥有一个 Tau 代币,将其发送到网络中不会导致该代币任何部分的丢 失。如前所述,我们是通过客户端工作证明难题来解决这个问题的。这种有效速 率将交易生成时间限制在大约 400 毫秒/交易。这足以防止 DDOS 攻击,它需要一 次性提交数百万交易事务给网络。

此外,如果有人想要以高于 2.5 交易/秒的速度提交交易,那么他们不得不支付 “邮票”交易费。邮票的作用是允许发件人绕过交易的工作证明要求。这允许正 经的执行人在不使用昂贵的散列硬件的情况下利用网络,这是 Nano 平台的缺点 之一,也是为何 Nano 在执行现有交易设施会遇到问题的原因。

允许用户提速交易会给没有提速的用户向网络发送大量的交易造成潜在的攻击 向量。尽管他们都会失败,但他会给系统带来巨大的阻碍。因此,为了购买邮票, 用户必须公开他们想要的邮票数量。这个邮票分类账在所有的节点之间共享,这 样他们就能随时知道谁有邮票,谁没有。这提供了一种简单的查找机制,其中节 点可以拒绝他们发现没有邮票的用户。但是,它不能防止一个用户生成一百万个 钱包然后使用不存在的邮票从每一个钱包发送交易的攻击。这会需要对每个新地 址的大量排查,并会导致系统陷入困境。为解决这个问题,我们在每个连接到各 个钱包的节点上实施了布隆过滤器。当钱包成功放置邮票时,该钱包将会被添加 到布隆过滤器中。当钱包回来时,可以直接成功通过布隆过滤器而不需要节点(大 多数时候)查证它们是否真的有邮票。这同样适用于另一交易方。布隆过滤器很 少会出现对于钱包中没有邮票而为有的误报,但它从来不会有假阴性。因此,它 们可以将垃圾邮票攻击的查找时间缩短 90%以上。

以上是布隆过滤器的工作原理图。虽然它对假阳性不是 100%有效,但它对假阴性是 100%有效的。它减少了节点查看 钱包是否有邮票的频率,从而加快了交易时间。

这种机制适用于静态交易类型。一个快速交易需要一个邮票,其中包含一定数量 的 Tau 代币。但是,Cilandro 支持智能合约,这意味着交易载荷会随着线上的 数据发送数量而有所变化。这意味着攻击者可以合法地购买一些邮票并创建具有 巨大有效载荷的交易并在整个网络中发送垃圾邮件。

假设邮票费是 1 个 Tau 代币。攻击者以 1000Tau 购买了 1000 张邮票。然后, 攻击者生成了每个载荷为 10MB 的 1000 个交易。这意味着他们可以通过网络有 效地推送 10GB 数据而不会产生任何阻碍。这显然会使系统出现膨胀并将其拖 垮。为了解决这个问题,我们引入了一个变量,其中每张邮票不包含一整个交易, 而只包含固定数量的数据。这也意味着我们可以让每个工作证明片数涵盖固定数 量的数据。

One standard transaction: 350 bytes
One POW proof solve time: 400 milliseconds
One stamp staking costs : 1 Tau (in theory)
350 bytes = 1 Tau
1 byte = 0.00286 Tau
1 MB = 1000 KB = 1000 bytes
1 MB = 1,000,000 bytes = 2857.14286 Tau
10 MB = 28,571.4286 Tau
Etc. Etc...

以上是一些示例数据,说明发送兆字节有效载荷的数据所需成本。这些是理论上 的数据,是可以通过网络投票来适应当前经济条件的(后面将会详细介绍)。

Assume:
10 masternodes (endpoints of the system, discussed later)
1 Gb/s up link per masternode
10Gb/s capacity
1 Gb = 0.125 GB (gigabit vs gigabyte)1.25 GB/s capacity = 3,571,428.5714 Tau required to clog the network for a single second1,428,571.4286 seconds to solve a 1.25 GB payload puzzle....23,809.5238 minutes......396.826 hours......16.53 days...This is obviously infeasible.

你会发现这个新的变量增强了安全性和反垃圾邮件,使其有效地根除了攻击者, 同时保护了真正想要将系统用于其预期目的的好执行者,使其能够发送免费的标 准交易。

更好的共识

工作证明作为共识的模型是可怕的。除了向矿工发放奖励之外,对于加密货币的 实际操作是非常浪费及无用的。这可能是一个不错的分配机制,但有一点就是工 作证明阻碍了效率。仅仅看比特币区块链交易的确认时间就可以说明这一明显的 事实。

很多新发布的区块链,新的 EOS 和 NEO 一样都已经废除了工作证明,因为他们也 同意它缺乏效率。以太坊也正在从工作证明转向股权证明。

DPOS 系统(比特股)与 POW 系统(其余)对比细则。注意:这是从 SteemIt 文章中获取的,该系统也是一个 DPOS 系统, 由 Stan 和 Dan Larimar 家族经营,这本身会偏向于他们自己的软件。

在更深层次的安全级别上,Cilantro 所做的共识与其他平台不同。Cilantro 支持 智能合约,实际上所有交易都是通过智能合约逻辑处理的(稍后解释)。以太坊 也是基于类似的理论。此外,由智能合约引起的以太坊上面处理状态的变更时, 交易结果的输出将以字节代码表示。此字节代码描述了名为 EVM(以太坊虚拟机) 的虚拟计算机上的实际操作。

Cilantro 没有这样做,而是,输出实际的 SQL 查询字符串,这些字符串会更新数 据库表状态中的某些部分。对于那些了解以太坊和其它 VM 样式的区块链是如何 工作的开发人员来说,一开始这可能听起来很粗略。但这种方法实际上更安全, 更不容易出错。

虚拟机或该模式的任何功能都是输入/输出设备。输入进入,在这种情况下是一 个交易,输出出去,这在以太坊中是字节代码而在 Cilandro 中是查询语言。在 调试代码时,您会想知道该操行是否实际上正是您希望它执行的操作。当呈递字 节代码时,您只能相信它正在执行代码所说的内容。没有办法去阅览它。

然而使用查询语言,输出是以句法英语编写的。很容易理解正在修改、替换、删 除、插入等内容。。。你不必担心信任系统,因为您可以清楚地阅读它的输出内 容。

此外,SQL 是一种无处不在的语言。它有很多种配置和版本。我们选择了带有 MyRocks 存储引擎的 MariaDB,因为它具有比 LevelDB 更快的 SQL 查询功能,来 用软件进行交互和数据存储,而 LevelDB 是其他区块链项目事实上的标准。

由 db-engines.com 排名的前 10 数据库软件(不包括搜索引擎)。其中绿框中的是使用 SQL 查询来访问和修改数据的数 据库软件。

这意味着大部分已经使用SQL的公司,可以直接将Cilantro插入至其当前的存储 引擎,并使用他们用于当前商业逻辑应用程序的相同 SQL 查询。这也代表着他们 不必重新培训他们的工作人员以了解他们曾听他们孙子说过的关于区块链一些 新的奇怪的东西。

还有,EVM 和 VM 通常都是图灵完备的。这意味着他们运作的复杂性空间是无限 的。因此,在执行代码时,输出可以是字面上的任何数字、值或现有的操作。使 用 SQL,它完全由读/写操作约束。它没有内存空间,因此不会有可能破坏预期 操作的低级攻击向量。这是非常重要的,因为从理论上讲,EVM 中存在着无限数 量的潜在安全攻击向量尚未被发现。不久之前,Augur 项目不得不将他们的 ERC20 令牌移植到新的合约中,因为他们发现了编译器的一个错误,误建了一个与其编 写方式无关的智能合约。此漏洞的边缘情况会允许任何人发送写好的数据有效载 荷到他们的令牌合约时而使合约完全冻结。我们只能假设还有很多其它类似漏洞 没被发觉。

开放治理和节点类型

进行免费交易的原因之一是因为很多交易平台从早期开始就实行收费,他们的费 用已经膨胀到了没意义再使用他们的地步。

只要看比特币核心与比特币现金的辩论,就能看出交易费用的整个概念所发挥的 作用。特别不幸的是,比特币的平均交易费用很大程度上取决于网络的需求。在 高使用期间,交易费用急剧上升。在低活动期间,它们就会正常化至“合理的” 一或两美元。

此外,很多人认为交易费用的问题可以通过增加区块的大小就能简单地解决。问 题在于没有好的方法可以对这个措施进行投票,并且解决方案最终受到新系统采 用的限制,因此产生了比特币现金的分叉。如果存在某种可以执行的中间渠道或 系统必须在一定时间内得出新结论的话,那么看到这种情况一定会非常有趣。

对于 Lamden,我们预见这不仅仅是比特币的问题,而是由于完全不可更改的分 类账。如果没有某种方法修改系统中的变量和策略来融入到平台,则所述平台很 可能会出现分叉和分裂点。分叉越多会导致项目越来越弱。或者,我们认为社区 在对于中心技术和系统构架问题上达成共识和妥协是非常重要的。

此外,目前在区块链中占主导地位的工作证明系统存在太多冗余的地方。在进行 任何交易之前,每个节点都必须同步整个区块链。对于只想参与系统但又不想在 专用服务器上投资 500 美元的人来说,这是一笔过多的资源。

以太坊和比特币的链体积。以太坊在 2018 年 2 月 1 日达到了 668GB。来自:http://bc.daniel.net.nz/只需要一些节 点来存储链条,我们降低了参与 Lamden 的门槛。

这已经通过作为节点的服务来绕开,以便其他人可以使用它们,例如以太坊区块 链中的 Infura。但这最终只是集中了整个结构,而这个结构本来应该是分散的。

另外,在工作证明系统上处理单个交易的工作量是巨大的。这直接影响每秒可以 通过系统的交易数量。当前系统更多地关注去中心化的所有成本而不是系统的性 能和体验。

为了解决上面列出的所有问题,我们采用了几种在系统中具有不同职责和权限的 节点。这使我们能够分配工作载荷,使其比当前系统更有效。

Lamden 系统的节点创建了一个组件,不仅可以操作网络,还可以对系统的关键 因素进行投票,以及如何随着时间的推移进行调整以确保使用寿命。

方尖碑(aka,masternodes)

位于布宜诺斯艾利斯市中心的方尖碑

每个区块链都有几个组件:进入系统的交易入口,交易通过整个网络的路由,处 理交易以改变状态,以及以块的形式存储交易。方尖碑负责其中两项责任。它们 充当系统的入口点并持有区块链数据。就像他们得名的不朽的对应物一样,他们 是系统的标志性建筑。它们是静态服务器,网络用户可以轻松找到并与之交互。 这为系统创建了可靠的主干。

方尖碑有两个等级:主要和次要。主要方尖碑在区块链中起到最大的作用。他们 不仅负责存储区块链,还能够对影响系统底层架构和行为的最高策略进行投票。

这些策略包括调整共识算法,区块时间等内容。只允许具有深厚技术知识的人改 变这些变量。

这需要一定程度的个人信任。我们显然可以看到主要方尖碑会遭到想破坏系统或 故意投票选择不良政策的一方所危害的情况。为了减轻这种影响,所有主要方尖 碑必须得到先前常设的方尖碑投票的一致认可。虽然任何人都可以成为次要方尖 碑,只有那些在关键问题上具有必要投票资格的人才能成为主要方尖碑。

这是分散的吗?是的。虽然这个概念引入了对网络的影响程度,但它仍然不依赖 于集中的权威。主要方尖碑是分散式的,也会随着时间的推移发生变化。

次要方尖碑具有主要方尖碑的所有相同责任和利益,但无权对关键问题进行投 票。他们仍然需要存储区块链,并且仍然需要成为系统的公共端点,这意味着他 们必须支持来自客户推动交易的大量 Web 传人请求。

除此之外,主要和次要方尖碑共享着相同的奖励结构。没有区别。在这种情况下, 为什么有人会想成为主要方尖碑呢?因为他们对软件有着个人投入,并且有保护 它的个人动机。并非所有加密货币都是一种廉价的“经济”花招,系统不必为每 一个好的行为贡献者给予糖果。为了创建更复杂的系统,系统必须利用更复杂的 需求和奖励。

见证

就像新闻自由如何成为平等社会不可或缺一样,见证人在数字政治体系中对党派在经济上的激励进行检查也是不可或缺 的。

为了防止共谋,见证人站在方尖碑和代表之间。虽然我们没有完全解释代表, 但它们与 DPOS 系统中的代表类似,如 Bitshares 和 Lisk。他们负责构建区块并 确保在当前区块链的状态下交易是有效的。这些节点由网络投票,以确保它们是 分散的玩家。行为恶劣的人将被驱逐。

在一个没有见证人的系统中,方尖碑和代表可以一起合谋,使一组代表无限期地 掌权。他们能通过改变存储区块链上的投票交易来做到这一点。因为方尖碑是存 储区块链的人,而代表就是区分他们的人,两者都有编入和提交任何他们想要的 东西的权力。见证人是站在两者之间的,他负责验证交易是否合法并且予以通过 系统。

在出现方尖碑和代表共谋以保持一个选定组的权力时,见证人可以简单地停止向 这些代表发送交易并将其发送给他们实际投票的组。在任何形势下都会发生这种 情况,系统会遇到性能问题并变得无用,这会破坏方尖碑和代表正真试图保留或 游戏的东西,使这个攻击向量无用。

见证人还会因为在 Oracle 交易中被选为验证者而获得 Tau,这是验证区块链上 原子交换的分散方式。通过投票进入代表库,见证人可以获得更多的收益。

代表

如上所述,代表们是在系统中构建区块的人。他们是由见证人通过于 Lisk 系统 类似的可信程度而投票选出的。

像现实生活中的公证人一样,代表们对他们所签署的内容没有发言权。他们只是用批准的封章“盖章”区块,并将其发 送到方尖碑进行存储。

然而,与 Lisk 不同,代表的选举轮次很频繁。每个参与投票的见证人需要花费 一定数量的 Tau 代币来获取该轮投票的单张票权。这些选票最终会以交易的方式 发送到系统,并记录在区块链上。从那里开始,有效代表们的钱包会被公开地记 录并同意,以通知见证人该发送交易的地址。

此外,只有选中的上半部分代表们会获得全额奖励。当代表被确定为离线、错过 一个区块或超过一次未达成共识时,代表将会被推到 FIFO 队列的后面。然后他 们必须等待他们的钱包地址被推回到队列的半截,以便再次获得全部奖励。

虽然这听起来非常苛刻,但它会为这项工作提供最好的节点。我们想要奖励高可 用和快速的机器。这需要高宽带适当的存储量和恒定的正常运行时间。如果这些 指标中的任何一个低于标准,则整个系统会变得不足。代表们为了更好地完成他 们的任务还有很多工作要做。最终,在达成共识的时间里,对于网速要求的重任 就落在他们的肩膀上。因此,我们希望淘汰那些没有合适硬件的人。此外,随着 时间的推移和计算领域发生的技术进步,代表池也将动态调整自身,以使拥有最 新和最高性能的技术代表者保持在队列的顶端。

有些人可能认为这听起来似乎高人一等。然而,恰恰相反。试图制造 ASIC 抗性 算法的系统希望其加密货币的分布是平坦的。但是,我们的分发已经发生,所以 这不是问题。因此,我们现在可以专注于使我们的系统可供大众使用。比特币和 以太坊之所以优秀是因为他们需要高水平的技能来与之进行交互。

为了降低进入门槛,我们必须使系统易于使用。速度,吞吐量和免费交易对于实 现这些价值至关重要。开发一个支持顶级基础设施的优化系统是保证实行所有这 三项工作的最佳方法。

分散治理

我在这里介绍了分散治理的概念。分散治理的好处是在没有任何分歧的情况下引 入系统变更的公平方式。灵感来自于比特币,自 17 年比特币分叉出了具有争议 的比特币现金。分叉的主要目的(尽管有很多个人和政治原因)完全是技术性的。 增加块大小会防患这样的事情于未然。但是,没有办法决定或达成解决方案。相 反,如果存在一些分歧,链条只会产生分叉,对于目前所有的区块链项目都是如 此。这是个二元情况。即使只有 30%的人想要分叉,他们也会分叉。这将会导致 链上 30%的用户流失。分叉还会毁坏对项目一致的评价,并开始对哪条是“真链” 产生混淆。

因此,我们引入了可以协调并公平地做出决策的变量。这些变量中的每一个都可 以用完全开放的方式进行投票。每个人都可以阅读结果,然后每个人都可以就所 涉及的变化达成一致。

就用户体验而言,投票将发生在诸如钱包之类的前端客户端中,其中提案会被提 交到区块并且会保持一段时间的活跃度。在此期间,客户可以阅读区块链,查看 提案包含的内容,并对其进行投票。投票结束后,区块链会自动进行相应更新。 例如,如果提议是向系统添加本地令牌支持,则会在区块链上提交执行此操作的 代码,以便社区可以对其进行审核。在这里,人们会投票决定具体实施是否有意 义。如果每个人都同意,该合同将自动安装到每个节点的计算机上。这允许更新 立马生效和社区参与。

对于攻击者,他们必须通过运行已修改代码的节点来绕过此指标。然后,他们不 能再安装新的智能合约或更新。这将导致他们出现不同的性能。例如,当人们开 始使用新功能时,该节点将不知道需要如何去处理令牌交易。这会造成他们脱离 共识和崩溃。因此,仅仅为了脱离共识而花费修改和拒绝提案的努力是没有意义 的。

然而,假设投票已经结束。是 51%比 49%。区块链会分裂吗?比特币现金成功地 分叉是因为它使得它的链对矿工更加地有利益,因此人们转而支持它。由于 Cilantro 没有工作证明或矿工,因此分叉的行为更为复杂。一个流氓群体发起 了他们不喜欢的单个政策的更改提案,编写了自动更新机制的方式,找到新的方 尖碑,见证人和代表和所有一直支持这条链继续分叉下去的人,除了政治恩怨之 外没有经济激励。尽管有可能,但比起基于工作证明的链相比,它发生的可能性 要小得多,这意味着如果你能忍受基于工作证明链的分叉,那么您更能忍受 Cilantro 分叉所带来的轻微风险。

费用

虽然 Lamden 区块链上标准交易是免费的,但并非所有的交易都是。我们先前讨 论过邮票交易。用于验证一段 Web 内容的甲骨文交易可能需要花费大量时间,并 且可能需要 100 多个节点才能参与。这也需要付费。

然而,费用会分配给那些做了大部分工作的人,而不像传统中的工作证明系统, 是分配给矿工单方的。这些费用是用作激励而非区块奖励。

邮票交易的费用是给代表的。甲骨文的交易费用会分配给所有参与的三方,具体 取决于在特定交易参与的一方。执行智能合约和推送大量数据将需要“盖章”或 解决。这些也将交给代表们。

然而,方尖碑拥有网络最大工作量。因此,他们从每项费用中收到额外的小费, 以确保他们获得充足的资金和激励,以保持现代化硬件的运行。

此外,随着时间的推移 Lamden 不相信他们可以预测费用分配的最佳比率。这就 是为什么费用结构是在开放治理模型中投票的原因。由于某种原因,可能会发现 邮票交易费用比起代表们应该更多地分配给见证人。通过开放的治理系统,我们 无需在部署之前决定或假装了解系统的经济状况和政治。我们可以让系统本身达 成平衡。

开发新系统

虽然 Lamden 开发 Cilandro 主要的目的是用于原子互换,但 Lamden 的使命是为 新区块链和分散系统的开发创建一个简易的框架。因此,需要 Cilandro 充当可 以完全定制和新系统的启动板。

这看起来很难,因为 Cilandro 是区块链的具体现实。我们如何可以拿静态代码 并将其转变为一个允许创造性和可变性的动态框架?

看现状

如果你想制作属于你自己的区块链,你有很少选择。此外,如果您想要使用开箱 即用的东西,只要安装智能合约,你的选项就更少了。

回到山寨时代,人们只需要分叉比特币或 Cryptonote 代码,调整一些变量,抽 出 BitcoinTalk ANN 思路,并希望人们开始使用它。然而,人们改变的变量几乎 完全是一些可以任意和没有任何相当大复杂性的。

比如,Forknote,是 Cryptonote 生成器,它允许你修改简单的变量并假设您仅使 用区块链作为加密货币。基于比特币的山寨币通常只是更改一个名为 ChainParams.cpp 的文件,这个文件本质上是一个配置文件,用于对块的处理方 式,随时间的区块难度等进行微调。

这些都不是令人信服的修改。

以太坊允许您部署专用网络以在其上部署您自己的智能合约。如果你想将 Gas 的价格调低到零以允许在其上发生免费交易,这是很好的。然而,比起以太坊允 许你做的,可定制性的维度还是很有限。没有办法引入新的节点类型,参与者等。 它全部包含在 EVM 的范围内,这是以太坊运行时发生的一小部分。

对于想要从头开发某些东西的人来说,他们可以使用 Hyperledger,这是一个由 IBM 与 Monax 和 Linux 基金会联合开发的框架。它有很好的支持和很高的评价, 在这个时刻被认为是企业区块链开发的最佳解决方案。

但是,Hyperledger 很难使用。开发人员在开始使用框架之前必须学习很多新概 念。这些概念不仅仅是标准的加密术语,它使您的非加密朋友不堪头疼。这些是 Hyperledger 框架独有的概念,所以不是很直观。

此外,Hyperledger 使用的是 Node.js 和 Go 作为主要编辑语言。很多企业选择 回避 Node.js,因为它不被视为高性能或安全。他们不使用 Go,因为 Go 开发 人员的人才库非常稀缺。即使 Go 的性能受到高度重视,企业也希望使用可以在 很长一段时间内能够轻松维护的软件。这是他们使用 Java 的原因之一。Java 代 码完全向后兼容,因此公司不必在下一个版本发布时花钱让它运行并重构它。同 样,企业也不想花钱去培训员工如何编程 Go。他们同时也不想选择的编程语言 有人才库的限制。就业市场中较少的候选人意味着潜在的更高需求和潜在的太少 具有工作所需的技能组合。企业们都知道要从 Scala 重构整个代码库,这是一种 特殊的 Java 配置,因为他们找不到任何开发人员来管理他们的代码。出于多种 原因,Scala 通常被认为是“优于”Java 的。

因此,两个主要的要点是可定制性和用大多数人都知道的语言编写框架。

Cilantro 如何与众不同

首先,Cilantro 是用 Python 编写的,它是开源世界除了 Javascript,第二大最 受欢迎的编程语言。这意味着可以使用大量的开源代码,加快开发过程并完全透 露代码的含义。这也代表着开发人员可以利用这个开源软件资源,相对容易地为 代码添加复杂性。

Github 上最流行的语言基于#拉取请求数。取自 https//octoverse.github.com/ 您可能会想’为什么不使用 Javascript?’Javascript 是用于前端 Web 开发的,虽然用这个方案开发优于本地很多系统但我们认为它们不够高效及 安全来满足我们的需求。

其次,Cilantro 以模块化方式编写,因此在添加和变异数据结构时不会发生很 多麻烦。例如,节点逻辑的主要设计实现之一是引入状态机。状态机是一种计算 机科学概念,它规定一个软件根据它所处的状态而不同地运行。软件一次只能处 于单个状态,并根据对其执行的输入和操作转换到新状态。

请想象一下一个糖果机。糖果机可以处于等待状态或分配状态,这取决于硬币是 否投入到机器中。因此,糖果机的工作原理取决于他所处的状态。

糖果机的状态模式。请注意,在填写完状态之前,状态不能从 SoldOut 移动到 Has Quarter。这为不同的状态创建了具 体的规则和 Lamden 如何通过简单的界面为分散的应用程序提供复杂的节点建模。

同样,节点根据其生命周期具有不同的状态。所有节点都具有引导状态,使在接 受交易之前执行操作。在这种状态下,节点可能正在赶上最新的块或在查找对等 体。在此期间,它将拒绝所有传入的交易,因为它尚未准备好处理它们。准备就 绪后它将转换为新状态。

对于诸如共识之类的事情存在更复杂的状态,其中需要多个步骤来确认区块,而 我们只需要担心可是才能达到共识。因此,状态机的模式是通过在对的时间分配 正确的操作而不是通过单一代码编写整个事物。

但是,如果我们不想达成共识呢?相反,如果我们想要对区块链进行并使用方法 处理分片,检查数据是否存在以及获取不同操作的数据?在 Cilandro 的代码库 中不存在这种类型的行为,因此开发人员可以自行编写代码。然而,由于状态机 是实现的,它可以给节点添加几个新状态,就像子类化基本状态和添加新逻辑一 样简单。

此外,此时将不同的逻辑分配给不同的消息就会显得非常的简单。在当前的 Cilandro 实现中,有来自由方尖碑的标准交易消息。还有已签字的默克尔树消 息在共识期间传递。我们想在共识期间忽略交易,而只听取我们特殊默克尔树的 信息类型。为此,我们只要编写逻辑来处理相应状态中的这些特定消息。其它所 有噪音都会在默认状态下被忽略。

给代表的引导状态逻辑。任何交易处理的参考欠缺表明节点在明确定义处理某些内容之前不会采取任何措施。引导状态 将忽略所有事务,直到它转换到下一个状态。

这些设计决策使得在分散网络上创建新的复杂政治体制变得非常容易,并打开了 有望超越当今许多科技企业巨头的新的创新空间。

智能合约

对于某些人来说,实现一个保留更多 Cilantro 标准行为的系统是比较理想的。 基础系统为开发人员提供了很好的通往分散式治理高流通量途径。他们可能只想 添加功能来对交易如何影响资产、所有权和类似的属性发生作用。

这正是我们创建 Seneca 的原因,Seneca 是与 Cilantro 区块链交互的 Python 子 集。Senaca 对于区块链的意义相对于数据库驱动程序于标准 Web 应用程序一样。

区块链只是一个人们可以修改和访问的双方同意的数据存储。因此,Seneca 提 供了一个接口,可以像表格式数据存储一样处理数据,并使用真正的 SQL 来构建 网络状态。

这意味着熟悉 MySQL 和其他 SQL 类型数据库的人不必学习一些新的、深奥的范例 来使用 Seneca。这也代表着可以存在模仿当前 Web 应用程序的更复杂的数据应 用程序。在快速且易于理解的界面中,诸如用户表、基于角色的访问控制以及与 已建立技术的更紧密集成等事务都是可能的。

Seneca 中的代币实行

以太坊的一个主要问题是他们的智能合约语言在 EVM 上运行,EVM 本身就是以太 坊基金会自己创造的一种不同类型的计算机。以太坊的所有操作都受限于 EVM 自身的操作。数据访问定义不明确。没有复杂的数据类型,如字典或表格。这意 味着程序员必须创造性地描述超出简单存储的数据。

此外,大多数人都鄙视 Solidity,这是以太坊中使用的主要智能合约语言。它是 愚钝的、毫无意义的还有它完全是自己的语言而不是作为区块链的 API。

Seneca 是不一样的。Seneca 是纯 Phyton 代码。我们采用了事实上的 Python AST (将英语语法转换为计算机操作的机制)使其行为符合我们的要求,我们对它进 行了修改。为了最大限度地提高安全性,Seneca 禁用了默认功能并且只允许经 过审查被视为安全的白名单命令。例如,Seneca 不存在 For Loops 和 While Loops 因为它们可能导致无限执行。相反,我们使用在操作之前需要定义的执行空间的 映射和过滤器。这消除了创建永无止境循环的行为。

我们还为 Seneca 添加了一些不错的功能。我们添加了一个类似于 Node.js 中的 “导出”功能,因此人们可以在区块链上建立其它智能合约。这允许开发人员明 确定义其他方可以使用和访问的方法。这是与 Solidity 的重要区别,Solidity 除非另有说明,否则所有方法都是公开的。这是 Parity 被攻击发生的主要原因, 正如黑客自己的忏悔所描述的那样。

除了通常更安全之外,Seneca 代码比 Solidity 更清晰。输出是用英语编写的纯 SQL 查询,因此开发人员可以快速发现是否有出去的地方。

更好的是,因为 Seneca 是 Python 的一个子集,所以所有为 Python 制作的工具 都会自动与 Seneca 兼容。这意味着所有单元测试模块,所有具有语法高亮功能 的 IDE,甚至 IPython 都完全支持开箱即用。作为想要学习 Seneca 的开发人员, 您不必学习任何新的软件工具,安装任何时髦和专有的模块,或者偏离您已经习 惯的模板。这是一个非常宝贵并进一步降低了潜在智能合约开发人员的进入门 槛。

Seneca 作为 Python 的一个子集也可以本身与完整的 Python 代码混合使用。这 意味着您已经在 Python 上运行的 Web 应用程序,机器学习应用程序和硬件应用 程序可以与 Lamden 区块链连接并开箱即用地运行智能合约!无论是访问数据, 调用智能合约上的特定方法,还是完全部署新的智能合约,除了需要安装标准的 Seneca 框架(托管在 PyPi 上)之外,不需要安装任何其它软件。

这意味着开发商在选择多个区块链和智能合约解决方案时,会自然而然地倾向于 Lamden。没有其他系统可以提供与其他应用程序的顺利集成。此外,Lamden 是 唯一一个允许发现和实验而不会以 Gas 和其他数字资产形式浪费加密货币的系 统。由于我们的免费交易模式,开发人员可以在探索如何使用软件的同时与主链 进行交互而不会冒着资金流失的风险。

Lamden 的长期生存能力

开源软件遍布全球。它通过 Apache 等 Web 服务器为互联网提供支持。他们以运 行 Linux 系统来存储我们的数据。它完全是技术的存在和发展的组成部分。 然而,开源软件有一个糟糕的商业模式:免费发布它,从不指望人们为此付费。 那么项目该如何长期保持自身呢?

Lamden 致力于大众大规模采用区块链和分散式系统。这就是我们制作软件工具 套件的原因。但是,我们的发展并不止于此。Lamden 计划创立独立的商务部门, 利用我们的工具套件为组织创造收入流。我们在本概述中将其作为一个例子, 也许 Lamden 会制作下一个分散的社交媒体平台。该应用程序可以通过各种方法 货币化。此应用程序的收益将返回给 Lamden 开发基金,以进一步改进我们的工 具并发布令人兴奋的新软件。事实上,Lamden 最近开始开发加密货币交易所和 法定支持令牌,这些令牌可以比 Stripe 和 PayPal 等替代品更容易以及更便宜地 集成到应用程序中。由于 Lamden 在区块链领域如此根深蒂固,我们已经知道利 用这项新技术可以给企业带来的效益。

我们还计划利用我们的 Lamden Labs 创新基金,帮助使用我们工具的其他人来启 动项目。作为回报,Lamden 可能会要求分享代币或一些收入。这些类型的企业 使 Lamden 能够轻松支持各种项目,以换取不必由组织直接管理的间接收入流。

最后,为了最初引导网络,Lamden 计划托管和运行大多数方尖碑。随着时间的 推移,不会再有必要继续运行它们。我们希望我们的网络由分散的用户社区运营。 因此,随着系统的蓬勃发展,我们将开始关闭我们的方尖碑。另一面,Lamden 将保持运行一些方尖碑并将奖励直接返回至业务。事实上,我们最大的单一持有 人 Lamden Tau 已经承诺将大多数(如果不是全部)投入方尖碑,见证人,和潜 在的代表,并将部分奖励返还给 Lamden。这样的支持可以加速我们的成功。无 论我们选择哪条具体路线,我们都有无数的途径来实现这个项目的长期可行性, 并将区块链带入主流,彻底改变我们使用软件的方式。互联网创造了一个更加互 联的世界,通过信息共享导致全世界对真理,理性和改善的追求。结果是更多的 公民权利,更好的政策和整体福祉。现在金融界正在发生同样的事情会带来什么 呢?只有时间会给出答案。

--

--