手机网站宽度多少合适,建立一个做笔记的网站,php做商城网站建设,vs 2017网站开发phpAlgorand 设计的初衷
Algorand 想解决的核心问题是#xff1a;去中心化网络中低延时#xff08;Latency#xff09;和高置信度#xff08;Confidence#xff09;之间的矛盾。其中#xff0c;延时指从发起交易到确认交易所需要的时间#xff1b;置信度指的是发出的交易不…Algorand 设计的初衷
Algorand 想解决的核心问题是去中心化网络中低延时Latency和高置信度Confidence之间的矛盾。其中延时指从发起交易到确认交易所需要的时间置信度指的是发出的交易不会再被更改的概率。在比特币网络中为了提高交易的置信度用户必须等待 6 个区块确认约 1 个小时的确认延时而如果选择低延时比如少于 6 个确认甚至是 0 确认则必然导致低置信度增加“双花”攻击的可能。双花问题是绝大多数加密数字货币的核心问题。比特币中采用 PoW 共识来解决但链本身仍然有分叉的可能并且需要较长的共识达成过程和确认时间。同时 Algorand 还想解决比特币中 PoW 挖矿耗费巨大资源、交易确认时间长、易分叉、网络呈中心化趋势可扩展性差等问题。
Algorand 是什么
Algorand 是一个采用 permissionless 的纯 PoS 共识的公链项目结合改进的拜占庭共识协议可实现快速的交易确认几乎不会分叉并且用户数可无限扩展不会影响交易确认速度。同时兼顾“可扩展、安全性、去中心化”这个“公链不可能三角”可扩展性Algorand 通过可验证随机函数VRF随机选择区块的生产者和验证者一旦得知被选中生产者或验证者只需广播一个简短的消息即可证明自己的身份。每产生一个新区块在网络中需要交换的消息不会随着用户数的增大而改变因此即使用户规模增大系统仍可保持较高的 TPS每秒处理的交易数。Algorand 的 TPS 是比特币的 125 倍。安全性由于采用了上述的 VRF 随机选取生产者和验证者并且选取的过程完全由节点独立完成因此Algorand 网络中的攻击者无法预先得知下一个区块生产者和验证者从而也就无法完成攻击。具体来说生产者和验证者的身份只有在他们确定自己被选中并广播对应的证明信息时才会被披露这时攻击者即使立刻采取各种攻击手段也无法阻止关于新区块的正确消息在网络中的传播。去中心化Algorand 中每一轮的区块生产者和验证者都是随机选取的并且加入网络没有任何门槛因此是完全去中心化的。
Algorand 协议详述
过程抽象
所有公链项目的区块产生和共识的过程都可以抽象为两个步骤
选择出区块生产者生成新区块其他节点对新区块达成共识
关键问题
如何选择区块生产者且保证公平和不可被预测如何对新区块达成共识如何避免分叉如何提高安全性如何扩展到更大规模的用户
比特币采用哈希函数的随机性先发布问题的答案比如前多少位是0然后大家使用来确保公平采用工作量证明PoW达成共识同时能够在一定程度上抵抗算力攻击。然而比特币仍然面临上述消耗计算资源、确认时间长、易分叉以及扩展性差等问题。以 Qtum 为代表的采用纯权益证明PoS共识机制的项目同样采用了哈希函数并且不需要消耗大量的计算资源然而仍然面临易分叉、安全性及扩展性的问题。
Aigorand的最核心的两个优势纯粹权益证明PPOS共识算法和原子交换技术
先前的工作量证明机制的缺陷与不足
总览
目前已经存在很多种方法来选择下一个块特别是工作量证明PoW委托证明delegated proof ofstake,以及保证金的保证证明bonded proof of stake。然而所有这些方法都存在以下致命缺陷整个系统经济都可能会受到一小部分个体的控制。这个缺陷是致命的因为它同时涉及安全行和去中心化性。让整个经济体的命运受到经济体中一小部分的支配是一颗定时炸弹。可以肯定的是如果这些成员行为不端他们会降低经济中的所有资产包括他们的资产。但是如果他们自己的资产只占整个经济体的一小部分那么他们也可能很容易弥补他们的损失增加一些利润以获得良好的衡量标准并对其他所有人造成巨大的损害。经济中不应该存在一小部分个体控制整个经济生态体系的问题。
工作量证明Proof-of-Work:
工作量证明PoW由Nakamoto用于比特币并由许多其他区块链继承而出名。在这种方法中所有参与的用户在很高的层次上竞相解决一个非常复杂的加密难题。第一个解决这个难题的的矿工有权决定将自己的区块附加到区块链上但是POW存在以下的缺陷不容置疑。
第一个缺陷PoW不能扩展。
工作证明非常缓慢。比特币的加密难题难以保证每10分钟就找到一个解决方案即使有很多的矿工进行尝试解决这个加密的问题。因此造成每一个区块包含的交易信息很少大约只有2000多条平均到每一秒仅仅处理7笔交易这个的并发的交易数量是相当的缓慢。
第二个缺陷POW导致中心化的结果。
工作量证明PoW导致了巨大的权力集中。这种集中化是PoW既昂贵又浪费的结果。今天的采矿利用专用硬件的机架和机架并消耗大量的电力。一名矿工解密难题并产生新的区块所有其他人的努力都被浪费了。如果没有比特币目前提供的补贴在比特币区块链上发布单笔交易的成本约为20美元。如果你想使用区块链进行日常交易比如购买一块比萨饼如果试图用笔记本电脑解决加密问题普通用户很大概率会赔钱。因为无论输赢她必须支付为笔记本电脑计算所需的电力。这个电量可能不会很大但她获胜的可能性非常小以至于在期望中她会赔钱。只有专业矿工才能获得微薄的利润他们已经购买了必要的资本支出来购买机架和超专业采矿设备。因此只有他们参与块生成。此外矿工与采矿池合作。今天比特币的区块链仅由三个采矿池和以太坊的两个采矿池控制。如果他们如此决定或者他们被贿赂这些挖掘池可以重写数据库他们可以擦除块或更改块的顺序。工作证明已经将在逐渐将去中心化的系统的转变为极其中心化的系统。总结因为现在对于比特币的疯炒造成了比特币的价格的飞速增长因此参与挖矿的人越来越多所以难题的难度也越来越高很多时候往往10分钟都解决不了这个难题。如果持续挖矿所带来的的电力损耗没有经济的收入是难易度日的因此很多矿工团结在一起形成了矿池只需要每个人各尽其职按月领工资避免了个人因为持续挖不到矿所带来的财产问题的困扰。这个过程往往就变成了中心化的存在因为比特币挖矿解决问题的核心因素很大程度取决于计算力的大小。中心化的因素影响越来越严重违背了区块链先前分布式的初衷。
第三个缺陷POW并不安全。
任何偏中心化的区块链无论是设计还是事实上都是不安全的。但是工作量证明还存在其他漏洞并且特别容易受到网络攻击。区块链最终是通信协议并且任何这样的协议在底层通信网络上执行。因此攻击者可以攻击协议 - 例如通过发送与规定的消息不同的消息 - 或通信网络本身 - 例如通过干扰路由器电缆等。PoW工作量证明的不确定性可能被低估了因为目前分析区块链安全性的方法存在缺陷。此分析通常仅关注协议攻击忽略网络攻击尤其是在工作量证明的情况下可能是致命的。例如在工作证明区块链中能够将通信网络划分一两个小时的对手可以双重花费而不受惩罚。在成功的分区攻击中攻击者阻止属于一组用户A的用户发送的消息到达单独的集合B中的用户反之亦然。网络分区并没有引起太多关注因为它被认为太昂贵而不实用。但是一旦收益足够高网络攻击的成本可能是合理的。一个真正无国界的经济可能会花费数万亿美元。如果一个对手非法获得数十亿美元他可能愿意“投资”数百万美元。
第四个缺陷分叉。
工作量证明的另一个缺点是不可避免地存在分叉。每当两个或更多用户在几秒内解决加密谜题时链就会分支因为用户现在可能会看到下一个块的多个候选者。 分叉可能会继续存在一段时间并且所有分支甚至可以通过添加新块来延长。但最终除了一个分支之外的所有分支都将死亡死亡分支中的所有分块都将消失。分叉是一个不受欢迎的不确定性和延迟的来源。如果向您支付的款项出现在添加到链中的最新区块中您就不能认为自己已付款并运送货物。这是因为某些分支可能会克服当前的链条并且您的区块可能最终处于死分支并消失。在考虑自己付费之前您需要等待一系列的块添加到您的付款中以便最大限度地减少软叉出现的可能性并且包含您的付款的块将最终出现在死分支上。有些人建议在您之后添加六个块以确保您的块将保留在链上。其他人建议等待更长时间如果向您支付的款项相当大。因此一个区块的确认不是简简单单的等待十分钟对交易的最终结果确认实际上是需要等待一个小时大约5个区块的长度。有些人建议为了加快认证过程将出块时间由先前的10分钟修改为一分钟。然而通过这样做使得区块链的分叉的概率显着增加那么对于最长链的选择有很大的难度面对非常频繁的分叉。大量的分叉区块中的交易会在添加最长链区块之后会消失。相对于先前只需要确认5个区块等待一个小时相比更改为1分钟之后那么等待确认的区块数量和时间都会增长。
委托权益证明DelegatedProof-of-Stake
一种不同的方法是委托权益证明PoS这种信任机制普遍使用在以联盟链为主导的区块链中这是一个非常简单的想法。社区授权一些特殊用户即代表至少在一段时间内选择下一个区块。例如在EOS中代表人数为21.因此DPoS从一开始就是集中化的。希望所选代表诚实地开始。但是依靠需要长期保持诚实的节点是有风险的。因为这些代表的身份时确认的有可能用过现实世界进行攻占使得整个经济都受到经济的一小部分的支配。实际上在DPoS区块链中代表们可能拥有系统中总资金的一小部分但是当且仅当大多数代表诚实值得信任时整个区块链才是安全的。其他安全问题。即使假设有一个铁定的保证所有代表将永远保持诚实他们也很容易受到攻击。特别是它们可能会因denial of serviceDoS攻击而被打倒。在这样的攻击中攻击者用数以万计的垃圾邮件轰炸他选择的任何用户导致该不幸用户的缓冲区溢出。如果超级节点受到如此轰炸他将无法履行其职责即将新的有效交易整理到下一个区块。区块链将陷入停顿。DoS攻击非常便宜可以立即安装不仅可以对付21人甚至可以对付1000人。由于超级节点已经是众所周知的即使他们只持续一天或一小时或一分钟一个高级的对手也可能会通过快速的DoS攻击击倒所有超级节点。
Bonded Proof-of-Stake质押权以证明
BPoS允许20个用户200个用户尽可能多的节点愿意将一些钱放在桌面上作为抵押这些节点就是我们所有人选择的代表他们负责出块如果他们行为不端他们的钱就会被没收。但是这种方法并不是很有效一个简单的问题你有多少可支配收入可以质押答案是非常少的一部分。因此质押权本质上使得拥有大笔资金的大盗贼很容易将不成比例的钱进行质押仅用于控制区块链大不了质押金被没收。但是真正去中心化的可扩展且安全的区块链应能保护数万亿美元的资产。由于行为不端恶意用户将赚取数十亿美元。既然如此你认为他可能会被没收几百万美元吗这只是做生意的代价相比较而言这是一个很小的代价。再一次在Bonded-PoS中也有同样的致命缺陷整个经济受到经济的一小部分的支配。事实上在一个受保护的PoS中这个经济体的一小部分由所有者“把钱质押的人”组成。
Algorand的逻辑和纯粹的股权证明Pure Proof-of-Stake
Algorand的逻辑很简单它将整个经济的安全与大多数经济体的诚实联系起来并使一小部分经济体无法控制整个经济的命运。Algorand基于新的Proof-of-StakePurePoS。从本质上讲Pure PoS并不会因为害怕罚款而试图让用户保持诚实。更确切地说它使的那些坏人想通过少量钱作弊是不可能的但通过大量金钱作弊又是十分愚蠢的。在Algorand没有永远被质押的Money。所有的钱总是应该存在的地方在你的钱包里正在准备花的钱或在Algorand区块链为你提供的各种金融工具中。当你考虑系统中的所有资金时无论它在哪里当大部分资金都在诚实用户的手中时整个系统就是安全的。正如我们所说一小部分资金的所有者不可能损害整个系统而且大多数资金的所有者行为不端以使自己的资产贬值将是十分愚蠢的。例如在PoW或BPoS中少数用户可以阻止其他用户进行交易。在Algorand只有大部分资金的所有者才能阻止其他用户进行交易。但如果他们这样做货币的声誉将受到极大的损害货币将不再被普遍接受其购买力将大大降低。对于大多数资金的所有者来说这并不是一个好的结果
Algorand PPoS共识协议绝对核心优势在哪
纯粹股权证明PurePos的介绍
Algorand的逻辑很简单整个经济的安全与大多数可信经济体绑定从而使小部分经济体无法控制整个经济生态的命运。相对于联盟链的将个人资产的一部分作为抵押品如果他妄图控制整个经济的生态命运的时候。一旦被发现了其个人的抵押物会被没收因此惩戒欺诈行为。Aigorand没有个人抵押的说法为了防止造假因此pos协议发挥了很大的价值。从本质上讲Pure PoS并不会让用户因为害怕惩罚而试图保持诚实。更确切地说它使得坏人想通过少量钱作弊是不可能的但通过大量金钱作弊搞事情又是很傻的。在Algorand没有被永远质押的资金。所有的Money在你的钱包里正在准备花的钱或在Algorand为你提供的各种金融工具中。当你考虑系统所有资金时无论它在哪里只要大部分资金都在诚实用户的手中时整个系统就是安全的。这个是利用改进的拜占庭容错进行解决。正如上面所述一小部分资金的所有者不可能损害整个系统而且大多数资金的所有者作恶使自己的资产贬值将是十分愚蠢的。例如在PoW或BPoS中少数用户就可以阻止其他用户进行交易。在Algorand只有大部分资金的所有者才能阻止其他用户进行交易。但如果他们这样做声誉将受到极大的损害资金将不再被普遍接受其购买力将大大降低。对于大多数资金的所有者来说这并不是一个好的结果。
AIgorand PPOS如何出块
Aigorand解决了先前提出来的不可能三角问题可扩展性、安全性和去中心化
在Algorand一个新的区块分为两个阶段
在第一阶段随机选择一个Token其所有者就是下一个块提议者。在第二阶段从当前系统中的所有通证中选择1000个Token。这1000个Token的所有者被选为第2阶段委员会的一部分该委员会批准第一个用户提出的区块。因此委员会的一些成员可以被选择两次或更多次通常是k次在这种情况下该成员将在委员会中拥有k票以批准下一个区块。
为什么第二阶段是十分必要的
在任何社会中总会存在一小部分坏人;比如1、也许2。但只要大多数成员遵守规定的规则就会存在一个稳定和谐的社会。假设Algorand中10的代币属于不诚实的人。然后在阶段1中十分之一选择提议块的用户可能是坏演员。因此他可以告诉一些用户该块是X而告诉其他用户该块是Y等等从而产生关于区块的意见分歧。阶段2消除了这个问题。实际上如果你随机选择1000个代币当最多10的代币是不诚实的手牌时大多数所选硬币属于不良参与者的概率即委员会大多数投票中属于作恶节点的投票的概率是如此之低以至于可以忽略不计。假设你没有被选中提议一个块也没有被选中成为批准拟议区块的委员会成员。但是你看到给定的B区块已经获得委员会700票的批准。然后你将会知道B的确是下一个块。
委员会的选取
Algorand采取的方式委员会成员选择自己。要想属于委员会你的一枚代币必须独立赢得这个机会像加密地公平的彩票你可以在你自己的计算机隐私中独立运行 - 也就是说不需要与任何其他人交谈。而且由于投票选取的过程是加密公平的不能改变被选中的机会。为了在假设10,000,000,000个通证中选择1,000个随机通证每个代币以概率1,000 /10,000,000,000被选择 - 即概率为1千万分之一。
Algorand PPOS是如何解决区块链不可能三角的呢
1.可扩展性。
用户运行自己被选中了呢无论用户有多少通证速度超级快。此外所有选取验证都是相互独立运行的因此任何用户都不必等待其他用户完成彩票运行。一旦被选中每个成员就向网络传播单个短且立即计算的消息。因此无论系统中有多少用户需要传播的最大消息数为1000条短消息。
2.安全性。
假设我是一个大坏蛋能够随时随地诱惑用户。显然我想腐败委员会的成员但有一个问题我不知道他们是谁。之所以如此是因为委员会成员选取和确定是通过秘密运行是通过对于每一个参与选取的用户的私钥以及部分相关的个人信息进行加密计算得出的整个过程是公平的且不可见的。因此只有用户自己知道他自己的身份其余的人是不可见的直到他们通过网络传播他们的获奖门票和他们对该区块的意见的那一刻。只有在那个时候我才能了解委员会成员是谁纵使我有超能力我可以立即腐蚀整个委员会。但那又怎么样在这个时候再腐蚀他们为时已晚因为对于区块的决策意见已经传播在网上了这个时候是无法进行人为干预的从而避免了坏人对于信息传播的拦截和篡改。通俗来讲无论委员会成员表达了什么意见他们已经说过了他们的获奖票和关于该区块的上下意见在整个网络中传播。我没有权力将他们的信息放回瓶中而不是美国政府有权将维基解密病毒传播的信息放回瓶中。换句话说Algorand方法是安全的因为事先对手不知道谁会腐败而且当他做的时候腐败是无用的。与此相反拥有一个固定的1000强委员会。即使委员会继续执政一分钟它也很容易受到DoS攻击。如果委员会继续执政的时间更长比如一周那么成员甚至可能通过贿赂等传统方式在现实世界中被腐化。在Algorand人们不会知道对谁进行DoS攻击一旦委员会发言DoS攻击就没用了。
3.去中心化性
是否只有少部分用户负责选择下一个区块其实不是同时也没有一个固定的1000名委员会负责批准该块。这一次委员会被随机并秘密选中。下一次将随机和秘密选择一个不同的委员会。每个人都有机会参与新区块的生成正是因为委员会的选取是动态随机的整个过程是不受人为操控的因此维护了公平和公正。
AIgorand是一个不会分叉的链
Algorand技术的另一个优势是其链永远不会分叉。这是因为只有一个区块可以具有所需的委员会投票门槛。因此在Algorand所有交易都是最终的。一旦出现一个块它就永远是链的一部分。如果新区块包含向您支付的款项您可以认为自己已付款完成并立即发送货物。Algorand中分叉的概率按设计为10⁻¹⁸10的负十八次幂。这种可能性是一种极低极其奇怪的选择但它实际上有一个自然的解释。物理学家告诉我们10¹⁸十的十八次幂恰好是从大爆炸到现在的秒数。
Algorand公链的第1层创新策略可替换通证和原子多方传输
应用场景使用协议创建新的通证和资产包括各种各样的通证化资产如衍生品、期权、掉期、证券等等 Algorand与先前的公有链的区别在于Aigorand使用可替换通证和原子多方传输来消除第二层Layer-2方法上的缺点的前提小并且将这些新功能放在第一层进行实现 区块链在不同的层面上处理不同的交易。第 1 层是最直接和最安全的一层。传统意义上来说第 1 层只处理普通支付和共识协议本身新资产的发行、智能合约和其他的所有事务都在第 2 层处理。但众所周知第 2 层的协议速度慢、成本高并且容易出错。相比之下Algorand 在第 1 层还会处理标准资产和大量智能合约的发行包括资产代币化、原子交易和抵押借贷并且能够在必要时隔离和收回有争议的交易。事实上Algorand 在第 1 层就满足了智能合约的大多数当前用例并且具有与普通支付手段相同的安全性和效率。
好处
在通用的区块链术语中第1层是处理基本支付和共识的协议而第2层包括智能合约和与生成新的区块没有直接联系的任何其他功能。
Algorand选择在第一层实现核心功能主要有三个原因
1安全性
在第1层实现的任何功能都享有最高级别的安全性: 即共识协议本身的安全性。第一层交易是由专家设计和证明经过全面彻底地测试经过第三方审计验证并由世界各地的贡献者进行检查。针对第1层的任何资产的攻击向量如双花、拒绝服务攻击等等面对的都是跟Algo本身即Algorand公链的原生通证相同的安全机制。
2兼容性
所有区块链参与者对第一层功能的释义都是一样的。尽管核心共识协议可以以去中心化的共识方式进行扩展所有参与的软件都使用相同的协议。这可以促进兼容性。如果两个用户使用相同的第一层实现来创建他们自己的可替换通证那么为一个通证开发的应用程序也可以为另一个通证工作。相反如果两个用户通过两个单独设计的智能合约来创建他们的可替换通证那么这两个设计可能会有细微的差别为其中一个通证开发的DApp可能无法为另一个工作。
3.效率
在第1层实现的核心功能可以直接通过系统来优化其在计算、存储、通信等方面的性能。相比之下依赖虚拟机和其他第二层设备通常会导致不必要的复杂性和成本消耗。需要指出的是: 并不是所有的新功能都适合在第1层实现。特别是在第1层中实现的任何功能都必须不能显著降低共识协议的速度; 需要考虑它是否重要到应该在平台中获得这样的地位并且应该以一种能够简化正确性验证的方式来设计。
第1层可替换通证fungible tokens
通证是可替换的如果它的任何两个单位是可互换的。可替换通证的一个典型的例子就是货币因为任何两个单位都具有相同的购买力。另一个可以是“忠诚度计划中”的“积分Points”或者是一个股票的单位。相比之下在一组不可替换的通证中两个通证可以彼此非常不同并且可以非常不同地估值。比如说同一栋大楼里的公寓每个公寓都有自己的户型和光照针对每一个公寓的定价是不一致的。Algorand允许用户生成自己的可替换通证从而成为这些通证的管理者
通证管理者可以:
生成有一定供应量的新的通证增加新通证的流通供应量冻结指定账户中的通证(该通证由该管理者生成)将管理者权限转移给新的通证管理者这些属性类似于Ethereum的ERC-20通证所包含的属性。然而在Algorand中这些属性是在第1层实现的而不是像在Ethereum中那样通过第二层的智能合约来实现的。当可替换通证被用于发行一种新货币时在第一层实现尤其有价值。如果一种货币是通过智能合约发行的合约中出现的最微小的错误或者将现有的应用程序用于新货币时最微小的兼容性问题都可能并且已经在现实中的很多情况下造成很大的损失。
第一层原子多方传输ATOMIC MULTI-PARTY TRANSFERS
Algorand允许多个用户通过一次链上交易来执行所有需要的传输这些用户可能持有不同的可替换通证并且已经协商好了这些通证的一组传输。也就是说, 如果T1、T2、……可能是不同的可替换通证包括Algo;a、b、……可能是不同的用户;并且a向b传输x1单位的T1; c转给d x2单位的T2; 等等每个都是有效转账;
然后在每个用户对自己的传输进行数字签名之后或者
在给定的时间内没有任何一个被执行或者所有转账都被执行了。也就是说AMPT保证同时执行各种可替换通证的多次传输。同时性是一种非常宝贵的属性但迄今为止一直难以实现。考虑上面的这组传输。用户a可以单独向用户b传输x1单位T1通证。但是在完成了她的转移之后用户a对b和所有其他用户也将执行他们自己承诺的传输其实并没有信心。这解释了为什么通常使用智能合约来确保AMPT的全有或全无特性。但是智能合约是不太好用容易出错的代价比较高的第二层结构。因此Algorand在第1层实现了AMPT。
注意可替换通证本质上比不可替换通证更容易处理。当供应量大到数十亿个通证时某个给定用户拥有的可替换通证可以很容易地用几个字节表示:即由用户的余额表示。但是表明一个用户拥有哪些不可替换通证可能需要很长的列表。为了有效地处理不可替换通证Algorand将着眼于新技术比如在《Algorand即将发布的创新技术》一文中提到的自验证交易 self-verifying transactions。
AMPT的使用案例
双边交换循环交易全有或全无筹资去中心化交易所内部记账单位
参考链接
Algorand公链的第1层创新策略可替换通证和原子多方传输Qtum研究院深度解析Algorand共识协议