区块链的十七个黄金思想

区块链从一个技术概念出现,到被大众期望成为新一次计算范式的颠覆式创新,已受到各行业从业者的广泛讨论,其内涵和外延在迅速发展。区块链概念包含多种信息技术及其组合而成的综合解决方案。通过多种信息技术的有机集成,区块链系统具有数据安全难以篡改、系统鲁棒性超强、全网大规模参与、逻辑自动强制执行等比传统系统更加可信的优点。因此,区块链系统被尝试在实体经济领域各方面落地应用,以增加业务可信性,或创造新的基于可信的区块链系统的新业务模式。

备受争议的区块链

区块链从一个技术概念出现,到被大众期望成为新一次计算范式的颠覆式创新,已受到各行业从业者的广泛讨论,其内涵和外延在迅速发展。区块链概念包含多种信息技术及其组合而成的综合解决方案。通过多种信息技术的有机集成,区块链系统具有数据安全难以篡改、系统鲁棒性超强、全网大规模参与、逻辑自动强制执行等比传统系统更加可信的优点。因此,区块链系统被尝试在实体经济领域各方面落地应用,以增加业务可信性,或创造新的基于可信的区块链系统的新业务模式。

区块链的思想和理念常常被人们解读为去中心化、分布式记账、传递信任等,这当然是整体区块链系统解决方案所具备的优点,也由此引发了创新的业务思维模式变革。但整体区块链系统解决方案同样存在明显的短板,包括处理能力相对较弱、性能和可扩展性难以兼顾、数据保护与数据安全难以兼顾、业务改造及落地成本较高的问题。

区块链概念中蕴含的优秀思想

本文致力于讨论和总结区块链概念包含的精妙的思想和理念。这些思想和理念蕴含在区块链概念中,但又可以脱离区块链系统而存在,包括区块链系统技术设计思想、区块链概念对已有业务系统改造的理念、激励机制赋能业务营销等等。从比特币等常见区块链项目的工程设计理念出发,通过剖析其具体工作机制,试图发现区块链系统中蕴藏的独立的针对系统或机制的设计思想。希望这些藏在区块链概念中的思想理念,能被单独或组合地使用,从而赋能更多领域的从业者,让区块链的价值可以通过改进非区块链系统得到更快更好的展现,弥补当前区块链系统部署成本高、广泛应用落地难等问题。

需要说明的是,由于区块链系统是多种技术集成的新型系统,任何一个要素的缺失都可能导致其无法被称为区块链系统。因此,读者在阅读过程中可能都会遇到类似“如果只用这一个思想设计系统,并不是一个完整区块链系统”的问题。的确,文中相关改进方式大多是为了更充分体现区块链的某些设计思想,重点提升系统某些方面的能力,不局限于基于区块链系统的优化,而是强调将好的思想尽可能落地现实,真正助力实体经济。

文章将从五个角度来总结相关的思想,包括:提升系统安全可控性、增强系统可信性、简化流程降低成本、科学激励、区块链系统优化与区块链并非万能。

A. 提升系统安全可控性

1. 数据可获取性帮助提升安全性——数据及时广播的多副本存储模式

以比特币为代表的区块链系统中,无论是交易发起信息、交易打包信息、交易确认信息其副本都会在第一时间向全网扩散,被各节点同步,在尽可能多的地方留下数据操作的痕迹。看似效率低下浪费资源的信息广播模式,带来的却是极大地减少信息不一致的概率,降低信息冲突带来的损失,提升信息被篡改后恢复的能力。

一方面,在单点数据出现损坏的情况下能及时用其他节点数据恢复;另一方面,在数据可能被篡改攻击或者处理出现错误的时候,各个业务方能在第一时间校验数据及发现问题,阻止恶意数据的传播,并恢复有问题的数据节点。

虽然,这一思想是区块链非常重要的思想并且将其发挥到了极致,但却并非区块链系统原创。许多传统金融机构业务系统、数据中心系统、大数据技术框架早已设计了多地备份数据副本,致力于提高数据的安全可恢复及高速传输能力。

2. 重视过程数据记录——相比结果数据,原始过程数据包含更多信息

比特币系统中利用未花费交易输出(UTXO)记录交易过程的设计非常精妙。系统内不记录账户总余额,而是记录每个可供转移的价值单元(就是比特币)的转移情况和归属权。通过归属权的转移体现交易过程。通过一个简单的数据结构设计保证了有限资源的总量控制、来源追踪,既完成了转账过程的精确记录,又能体现用户在各个时间点资产情况。

业务系统中的数据可分为两类,一类是业务发生过程产生的原始过程数据,另一类是由原始过程数据处理得到的统计结果数据。我们可以把原始基础数据称为过程记录,把统计结果数据看成结果记录。在区块链系统中,每次的交易需要记录生成新的未花费交易输出就是原始过程数据,记录了用户先前拥有的未花费资产的所有权转移过程。每个人拥有的余额并没有直接记录,但可以通过统计所有与该用户相关的未花费交易输出经过计算得到的统计数据,也是某一时点用户所掌握财富的结果数据。区块链系统告诉我们,让原始数据达成一致是保证全局数据一致的关键,至于统计结果数据,定期保存或统计有助于提高数据处理的效率,但对于达成共识来说,并不用作为全局同步和达成共识的必要内容。

记录过程数据的思想结合数据及时广播的理念,可以解决很多需要公平和安全性的问题,如:防止业务数据被做手脚,防止欺诈事件等。通过多方的实时监督,帮助限制各类欺诈发生的可能。

3. 充分沟通高效落实——多方参与发声,唯一幸运者掌权记录

以比特币为代表的稳定的区块链系统其准入要求通常不高。参与节点各方面能力差距很大的复杂系统无论从安全角度还是效率角度,系统整体能力都容易被最差节点拉低。而比特币作为一个全民参与的系统,通过巧妙的共识机制,开创性地做到了系统内各节点的充分沟通高效落实。所有节点均有机会记账的情况下,利用工作量算力竞争全民充分参与的机制,由系统随机产生幸运记账者的方式使系统数据的实际写入方唯一,并且满足无法预测的随机性。这种兼具复杂的共识机制与简单的写入机制的系统是对复杂与简单、安全与高效并存的完美诠释。

其设计理念体现出对于复杂多方参与的分布式系统,如果有较高的安全性和容错性要求,那就尽量不要让拥有写入数据权限的参与方太多,如果无法做到这点,所有节点都需要有写入能力,就必须要设计合理的机制将众多节点的写入权限通过转移,进行集中处理,避免多点写入带来的巨大调度同步成本,在保证多方充分参与共识的情况下使系统具有较高的可靠性和较低的出错概率。

4. 用数据结构保证可控性——链状数据结构单向线性增长,可控扩张

区块链系统的数据通常一旦确认便无法再次更改,数据只能单向线性增长。这种数据记录方式体现了设计者希望数据具有良好的可控可管性。可控性为建立全局复杂的共识奠定的基础。全网需要达成共识的数据集中在最新的几个区块中,使得参与共识的结点可以聚焦需要达成共识的部分,而无需操心其他数据的一致性。这是区块链系统区别于传统系统的一大优点。

然而这一优点往往容易被忽略,人们更多只关注区块链存储数据量总体大小的单调增长性。一个只能增加数据,无法减少数据的系统如何能够长久被信任和高效使用呢?相比交易处理能力和共识能力来说,这更是绝大多数的区块链系统难以回避的问题。

笔者认为区块链体现的理念重点在于可控,并且线性单向增长并不意味着无限增长。通过在数据结构增长的设计机制中增加一些设计,区块链可以通过不断抛弃历史信息,可控扩张。此处可控扩张意味着,系统中的数据量会随着业务数据的增加而增加,但一些不影响当前或未来共识的历史数据可以被抛弃,或是无需每个参与者进行记录。历史信息由于具有可验证性,并具有不可篡改性,只需要少量节点记录留存即可。

当前,以比特币为代表的区块链并未解决这个问题。为什么目前比特币已经遇到数据量过大的问题,却依然需要结点保存全网数据才安全呢?比特币链不能进行截断,抛弃历史区块,是因为有些UTXO数据记录在前面的区块中,如果UTXO一直没有被转账花费,新的区块中就不会存在相关的信息。因此,在未来的操作这个古老的UTXO时会需要往前追溯到非常老区块中的信息。当然,这一问题并非无法解决,通过其他机制引入区块链系统完全可以让区块链在保证系统安全的情况下让区块链瘦身。

此外,笔者认为这种数据结构也可以为未来区块链系统引入数据失效机制打下基础。对于某些法律框架中要求系统遗忘的数据进行全网同步遗忘。那些不愿同步遗忘信息的结点,同样可以被其他节点当作不可信结点,未来的数据增长也不会基于这些节点,从而达到数据全局可信遗忘的效果。当然,此处遗忘指的是达到共识的一致的业务数据销毁,并非数据在全局痕迹的清除。数据由于具有可复制性,一旦产生被复制,就很难被完全抹掉痕迹。

B. 简化流程降低成本

5. 减少多方记录校验成本——唯一且一致的全局同步数据记录

有效率的业务模式必须能够对业务数据达成一致和共识。数据记录的一致性是最基本且传统的信息交流要求,信息系统的出现正是为了提升数据记录的一致性和处理效率。

信息系统的建立对信息处理效率的影响呈螺旋上升态势。早期,为了记录一致的数据,不同利益相关实体之间需要各自维护数据并在数据生命周期的各个阶段(记录、使用、定期核查、变更、转移、销毁)进行反复地核对和校验。信息系统对接、信息传输、信息处理等过程带来的开销是无法避免的。因此,大量中心化信息系统应运而生。信息中介通过中心化收集相关数据并进行统一处理,从而降低数据校验成本,提升业务效率。随着业务逐渐复杂,社会化分工变细,服务实体变多,重要的业务信息数据被大量功能不同的业务相关实体持有。导致业务主体开始关注信息中介的可靠性、客观性、独立性和安全性。随着信息中介数量不断增加、信息被不断复制并且分别处理,业务系统在多中介情况下变得冗余复杂,其复杂性又会导致更大的信息同步、校验和管理成本,从而在一定程度上抵消了单个信息系统带来的效率提升。

于是,区块链系统的出现巧妙地为上述问题给出了一种解决思路——通过唯一且一致得全局同步数据记录,来突破全局多副本的数据存储模式导致的复杂低效的瓶颈。

当前,这个思想最为广泛地被业界接受,也是业界试图应用区块链的核心思想。许多业内已落地项目,均很好地利用这一思想来降低多方记录核对成本、简化数据校验流程,进而降低业务的综合成本。

然而,维护一个数据记录而非多个记录的思想在落地过程中,无需套用完整区块链系统,也无需实现去中心化、去中介等模式。如果仅仅为了减少多方记账不一致的风险,通过中心化(参与业务主体或第三方机构)记账或是多主体参与相互监督、多方实时同步校验的方法改造现有系统,既可以解决问题,还能提升效率。事实上,笔者认为许多联盟链、私有链的试图解决的业务问题,大多可以通过这种方法解决。

6. 缩减业务关联方的信息交互流程——去中介化(去模块化),最终业务方点对点交互

去中介思想,与“去中心化”或“多中心化”是不同的。去中心或多中心强调的更多是平等的理念,而去中介则强调简化的理念。去中介指的是具有直接相关业务和数据交互的主体的信息系统可以进行有机整合,通过理清业务边界、合理设计业务数据权限和控制、增加各方及时校验等业务环节的方式将多余的参与主体、操作环节、权限流程、外部交互进行简化。在具体系统设计中,体现为去掉或集成冗余的系统模块,简化整体处理流程。本质上,去中介不改变业务参与方的逻辑与权限,该有的中心化管理机构依然存在。

对于比特币等区块链系统来讲,记账、确权及交易过程完全被整合在一个系统中,大大简化了传统交易记账所涉及的交易系统、清算系统、结算系统等多系统模式。其中,一些相对客观的业务处理可以完全被内置的程序替代,避免了人工或系统作为中介进行干预,增加处理环节的情况,既保证了处理的客观性、高效性,又使得参与主体可以更透明地监控整个交易过程,便于多方及时发现问题、沟通并解决问题。

去中介体现的是系统集成,去模块化、多层次融合的系统设计思想,最终业务方点对点交互。这与传统复杂系统设计中,功能分层、模块化,尽量简化单一模块或单一层次的处理功能,提升系统整体可靠性与可扩展性的思想有一定冲突。对于非常复杂的系统而言,这一思想的实践是相对困难的,更需要系统设计者对业务中介、系统中介有清晰的梳理和认知,需要非常巧妙且可靠的设计,才能兼顾效率与可靠性。因此,如果业务系统本身涉及的流程和环节非常复杂,则可以考虑只将其中对可扩展性要求不高的,业务模式变化不大的部分进行整合和优化,其他部分仍保持模块化层次化,隔离层间风险,使系统稳定和可扩展。

7. 信息透明化——简化信息传播流程,降低信息传播成本

区块链系统提升效率的另一个关键思想是信息透明化、共享化。现实社会中,信息和数据公开是需要成本的。其成本包括系统建设成本、信息维护成本以及官方确认发布需要投入的成本。信息谁来公示、如何公示、出错谁来负责是信息公开过程需要考虑的问题。区块链多方参与共识特性使得区块链上的信息在被确认生效的过程中,就完成了信息公示过程,既节省了信息公示的成本,也节省了信息确认的成本,同时减少了最终记录出错的可能性。透明和共享可以在不同的范围内进行。对区块链来说,“公有链”常常会将链上数据(包括加密数据)全部共享给链上节点和用户,“联盟链”则会在小范围联盟内进行共享,数据对外并不透明。

如果业务系统本身能引入信息主体,或其他信息公示目标对象,并能将他们纳入业务系统成为参与系统运行的一部分,则可以大幅提升信息透明度,减少数据公开、数据维护的成本。信息透明化的理念的一个很好的应用场景就是各类产权的确权领域。无论是有形资产还是无形资产,产权的公开公示本身就需要消耗大量的成本,如果利用信息透明化的思想,能使因确权与公示成本过高而无法得到充分保护的权利得到确认和保护,提升效率。

C. 增强可信性

8. 可校验数据结构增强系统可信度——时间戳、数据摘要、信息嵌套等方式使数据具有自校验能力

安全可校验的数据结构对区块链颠覆传统系统发挥了至关重要的作用。区块链系统中信息和算法记录在区块中,区块以链表的结构线性增长。链表的线性结构保证了复杂系统中数据管理的有效性和稳定性。除此之外,区块链之所以成为一个颠覆传统的系统,安全可校验的数据结构在其中起到了至关重要的作用。传统数据库设计以效率、符合不同数据库范式为构建目标,而区块链这一新型数据库则以安全和可信为目标。通过引入时间戳、数据摘要、信息嵌套等方式,使后生成的数据中包含了之前的数据信息,具有对前面的数据进行校验能力。这样环环相扣的局部校验,保障所有信息的可追溯、可验证,进而体现为数据不可篡改,或者更确切地说是篡改的数据可验证。

传统的计算机系统中,信息校验技术的应用也很常见,但大多使用单种校验技术,未能很好地与时间、空间、业务信息进行关联。比特币系统是一个很好结合范例。

如果一个业务系统需要数据不可篡改和可验证的能力,并且业务系统的参与方中没有很多恶意参与者,甚至只有互信的合作方,可以吸取区块链系统中安全可校验的数据结构的优秀思想,并且考虑抛弃资源消耗型的记账节点竞选等其他区块链集成的功能来构建业务系统。通过将传统业务系统中的数据结构重新设计,在后面的数据中加入对之前关键数据的摘要、时间戳和校验信息,辅以及时同步共享分发机制,引入多方存储数据,同样可以达到更强的内部管控和自证清白的能力。

9. 固化和稳定核心逻辑——预设边界条件,减少系统改动

区块链系统被认为能传递价值,还体现在系统全生命周期都有效边界条件。这些边界条件的不可更改性保证了系统中重要信息的约束力和可信性。如比特币等内生Token的区块链系统,虽然不同系统记录Token信息的数据结构不尽相同,但是Token产生机制和总量等参数受到了严格的不可更改的限制。规则具有边界且不随意更改使得大众信任系统。在数据可复制的信息时代,为建立数字资源稀缺性提供了途径,达到了所谓的价值传递的目的。在系统运行之初就提前约束Token总量有限和产生机制只是系统预设边界条件的一种巧妙且重要的应用场景。约束了Token数量的稀缺性可以保证Token不会随意增长,如果与业务系统中现实资源的稀缺性结合考虑,可以在多个领域发挥不同的作用。

现实生活中的每个业务系统均有自己的约束条件,为何区块链的约束产生了颠覆性的效果?原因就在于区块链系统的核心逻辑(也就是处理数据方式)需要提前固定下来,并且有机制保证其核心逻辑的不变性。区块链系统不仅实现了数据的不可篡改,更重要地是它保证了系统核心逻辑的不可更改。这样一个无法更改和升级规则的系统,反而体现出巨大的公信力。

一个不能更改规则的系统如何升级和发展呢?区块链系统目前没有很完美地解决这个问题,而是通过”分叉“,实现系统更新。分叉本来是指区块链系统中产生的不被多数节点认可的短暂性的不具有公信力的数据构成的短链。但是,一旦系统中核心逻辑代码需要修改,运行机制需要更新的时候,系统可以通过人为的,所有业务关联方共同协商的方法,继承原有区块链系统中的业务数据,并迁移到运行全新的区块链系统中。这一过程也被称作是“分叉”。所以,在区块链系统中,“升级“、”分叉“(通常会根据节点客户端的前向兼容性分为软分叉和硬分差)通常都指重新创造了一个新的区块链系统,并且人们主动自愿地抛弃旧系统,将业务转移到新系统。这是目前区块链系统升级的唯一方式。

10. 广泛校验帮助增信——明确的校验方法帮助达成多方共识

明确的校验方法是信息验证机制的根基,区块链的强大生命力很大程度上得益于其中明确的校验方法。在区块链项目研究过程中笔者最关心的是区块链上到底记录什么信息,这些信息能否被参与系统的其他节点所校验。许多系统都尝试引入区块链为业务数据增信,却没有着重为参与区块链系统的多方设计出明确的校验方法导致其系统无法体现相对于中心化系统的优势,难以解决业务痛点。

比特币系统中记录着比特币的所有权转移信息(交易信息)。有交易需求的节点通过签名、加密、摘要等处理方式形成有效的全网所有节点都能看懂且能将参与验证的交易信息发给其他节点,并由全网节点对其校验和记录,最终被全网节点校验并保留在有效的区块链中。在此过程中,全网参与的节点都有明确的校验方法,通过检查区块链的签名信息、前面区块中未花费交易的有效性,任一节点产生的交易信息都有明确的验证途径。试想,参与区块链系统的节点没有有效的判断和校验信息的方式,即使有再多互不信任的节点加入,有再多非关联方的参与,再多的信息副本,又如何保证数据的错误被及时发现和纠正呢?

正确的做法是找到那些需要共识的信息,找到信息校验的关联方,共同组成多方参与的系统,设计有效率的、符合业务逻辑的信息校验机制,使系统内数据具有更强的可信性。

D. 科学激励类

11. 物以稀为贵——总量受限,多重功能的通证激励

比特币等区块链系统,由于缺乏系统实际管理者,天生存在系统生命力问题。如果没有节点参与到系统的运行机制中,整个系统就无法持久运行。因此,系统通过内生的通证(平台币)激励系统参与方,奖励参与方对系统运行所做的贡献。在无中心化机构维护的系统中,这一机制巧妙且必要,它保证了系统利用人类追求财富的人性结合这一内生机制生存下去。

而对于多中心系统,甚至是传统中心化系统,激励机制常常也体现为积分、优惠券、外部奖励等措施。相比通证激励,传统的激励方式可信度完全取决于系统的拥有者或管理者。为什么传统系统中的积分都没有像比特币一样能具有如此高的价格呢?笔者认为原因有三,第一,传统积分的发放模式不透明,机制和用途受管理者影响严重;第二,传统积分的总量不透明,不具有稀缺性;第三,传统积分的用途不够广。此处,我们不过多讨论比特币的价值问题,只是说明区块链概念的出现,使人们开始更关注激励机制的设计。

一个优秀的激励机制可以在符合法律法规的前提下,通过充分地创造稀缺性并充分与外部资源结合设计更具吸引力的激励系统。一个好的激励系统能够极大地帮助业务系统赢得客户,增加知名度,提升系统整体价值。系统价值的提升反过来会为参与者提供更丰厚的激励。这是一个良性循环,循环一旦开始,项目的价值会得到迅速提升。

12. 利用人性弥补系统弱点——引入激励机制,解决系统难题

众所周知比特币的运行机制中,只要恶意算力占总算力不超过50%,区块链就是安全的。恶意算力的整体算力占比超过一半不是无法达到的。随着专业矿场的出现,比特币算力的集中化趋势明显,但为何比特币系统目前依然安全可信?利用人的逐利性发挥了关键作用。因为能够掌握全网一半以上算力的个人或机构完全可以获得绝大多数的系统奖励,如果他选择作恶,虽然整个链上数据的记账权一定程度上可以被他掌握,但这种篡改数据的恶意行为会使这个区块链不再可信,其上面记录的资产也必将大打折扣。一个困扰了计算机学界很久的兼具效率和安全性P2P系统的可扩展性问题通过激励机制的引入得到了工程上的解决。

系统可能有不同的弱点,区块链的出现告诉我们,在工程上可以结合激励机制的设计有针对性地解决或弥补系统的弱点。激励机制可以仅在系统内部起作用,也可以结合外部资源共同设计。此外,激励的内容、产生的时间、计算方式、发放时机、惩戒机制可以有很多不同的设计,弥补不同的问题。比特币等发放挖矿奖励的区块链只是提供了一种简单有效的设计,但确实提供了一种全新的解决系统弱点的思路。通过合理的激励机制设计,未来必将有更多的传统技术难以实现的大规模系统落地应用。

E. 针对区块链系统的优化

13. 事中容错,事后一致——系统允许短暂错误,但保证最终一致性和正确性

一个不能接受错误存在,或者因为存在错误导致一系列问题影响可用性的系统,是没有生命力的。区块链系统也一样,其本身并没有要求输入系统的数据不能出错。这一点可能与很多读者的认知有所不同,许多人会认为区块链因为其数据无法篡改,因此一定要保证上链数据的真确性。数据无法篡改不等于无法更改。其实,区块链系统恰恰是通过多数节点具有识别错误的能力,系统整体可以及时进行纠错,才让最终记录在区块链并经过多次确认的记录具有公信力。这可能也是区块链系统区别于计算机领域传统P2P系统的一个闪光的设计思想。

计算机领域在分布式处理过程中追求高效、一致。对错误数据记录的修复和更正,通常会另行设计一套机制来保证。相对传统数据库,区块链由于需要保证事后数据的不可篡改,引入了共识机制,为错误的出现和修复提供更多的容忍度。这一重要思想通常被许多区块链设计者所忽略,众多项目纷纷追求提高短交易及确认速度,这会导致弱化甚至牺牲其他节点对数据的验证过程。同时,更早更快的确认也会带来问题。参与生成数据的节点需要满足生成数据不能出错等更严苛要求,导致现在很多区块链项目的在落地过程中出现困难。因为系统使用方会背上了数据必须一次性正确输入的包袱,需要非常保守和谨慎地选择上链数据。最终,区块链落地应用范围的狭窄,许多存在出错可能性的数据难以结合区块链的优点参与业务升级改造。

笔者认为,区块链的设计不仅没有要求数据必须正确输入,反而对上述问题提供了非常有启发的处理模式和设计思想:当有数据出错的时候,数据关联方都能及时感知到数据的错误,并在第一时间通过某种协商机制及时从不一致地数据中利用某种机制(比特币中是少数服从多数的思想)快速挑出正确的数据,并最终使得该数据获得全局认同。这种数据确认过程,考虑了实际业务中可能存在的失误和系统性错误,具有很强的包容性,值得业务系统在考虑错误处理更正流程设计时参考。在设计需要确认数据的业务系统(或区块链系统)时,要权衡数据确认时间窗口以及系统纠错能力,才能设计出适合自身业务特点的数据确认机制(共识机制)。一味追求确认时间短,会使系统适用的业务场景大幅受限,这对新系统的落地应用是极为不利的。

14. 让用户对自己行为负责——用户只愿意主动保护作为唯一核心操作凭证

比特币交易中私钥起到了关键的作用。私钥不仅起到了身份核验的功能,还起到了用户操作行为不可抵赖的作用。在比特币系统中进行转账交易时,私钥被作为用户控制自己资产的唯一凭证,用户有足够的独立性和自主权来进行转账操作。由于这种操作直接影响用户的利益,并且完全取决于持有私钥的用户个人意愿,因此用户具有强大的动力来保管好自己的私钥信息。这种情况下,私钥才能真正起到用户对自己行为负责的作用。

然而,一些区块链项目的私钥机制设计并没有激发用户自主管理私钥的强烈意愿。如果仅仅将拥有密钥作为可查看链上加密信息的解密钥匙,甚至其他需要查看链上加密信息的人在经过用户许可(并给到用户一定激励)后,取得类似用户密钥的查看或管理权限,破坏私钥拥有者的唯一性,则会削弱私钥的私有性和安全性,并且导致私钥的拥有着缺少自主保管动力。当在个人或企业缺少意愿保留私钥时,区块链系统应用方往往只能采用其他方式代替用户保管私钥,代理用户使用私钥签名并操作,或是代理用户查看加密信息原文。这样的应用模式,尽管设计了公私钥加密机制,但事实上与传统中心化互联网多用户的服务模式没有本质区别。尽管利用区块链能起到链上信息难以篡改,对企业关键数据自证清白的作用,但用户的自主管控数据的愿景就很难落地实现。

如果项目方结合自身业务特点发掘用户的核心操作,配以结合非对称加密解决方案,保证私钥不被复制和滥用,则可以达到让用户对自己行为负责的效果。同时,用户也会有更高的积极性来维护和保管自己的私钥。当然,笔者非常期待技术的创新产生其他方式帮助安全存储私钥,减少用户记忆和保存私钥的成本。

当然,私钥虽能起到用户身份核实的作用,但与传统用户名密码机制类似,并不是非常友好的身份验证方式。目前,很多成熟地利用人工智能,用户行为分析,生物比对校验等方式身份核验。对于当前中心化互联网企业来说,这些方式或许更加适合。

15. 不懈地追求相对公平——单一设计的共识机制难以保持长久的公平性

区块链系统之所以具有公信力,并被赋予“能传递价值”的光环,与其对公平性的追求密不可分。比特币等以PoW为共识方式的系统在无需公信力机构背书的前提下在追求公平的道路上走得最远。专用芯片矿机和矿场的出现本质上打破了比特币共识机制所追求的公平性。比特币的设计初衷是让参与记账的人和节点足够多。其潜台词是,利用互不信任的主体的加入,相互制约。但矿场和矿机虽然使比特币系统有更多的人参与记账,但没能让更多利益不同的人参与。大量利益一致的矿工反而减少了系统中其他小众利益不同的节点的话语权,导致大型矿场绑架了比特币。这种公平性的减弱,使得一些行业大佬的行为在2018年末大幅影响比特币的算力,进而影响了整个行业对区块链的认知。人们觉得比特币的公平机制能力有限,会被矿工和利益集团绑架。但是从信息记录公平可信的角度讲,比特币的PoW共识机制已经相比传统系统迈出了巨大的一步。

一个一成不变的机制一旦被设计出来,如果缺乏数学等基础科学的支持证明其难以被攻破,就会有人试图对其进行攻击,并可能在未来真的被他人破坏。因此一个信任共识机制在难以获得数学证明其性能的情况下,一种防止系统被破坏的常见想法是让共识机制动起来。结合文中提到的固化稳定核心逻辑的思想,未来一种可能的更加公平的共识机制需要在设计之初,用代码的方式保证其共识机制的动态变化,通过设计合理的内生的公平性评价体系,使得系统中的共识机制可以不断地随机调整相关参数,变化共识机制。这样或许可以在一定程度上减少专用“矿机”的研发动力,进一步将权力分散化,保证参与主体和整个系统的公平。

F. 区块链并非万能

16. 让机器系统直接处理现实问题——预言机帮助探索数字世界与物理世界关联机制

预言机的概念并非伴随比特币而生的,而是由于人们试图用区块链记录现实物理世界信息而诞生的。预言机试图为区块链引入非链上原生的数据,打通现实物理世界与链上数字世界。

许多区块链应用遇到的重要瓶颈就是人们常常提到的:如何解决数据上链的问题。笔者认为,这个问题的产生并不是因为比特币为代表的区块链机制尚未成熟,设计机制有漏洞,而是由于后人在结合自身业务场景和行业知识利用区块链技术时,对区块链技术凭空赋予的一种期望。

在比特币的设计中,数据与交易账本是不可分离的,数据生于链上,用于链上,天然保证了数据的安全性。而区块链的作用就是让原本可靠的数据,保持数据全生命周期的可靠性、可信性。

因此,值得思考的问题是,什么样的数据在数据上链的过程中人们没有造假的动力和意愿。如果数据本身具有这种特点,区块链系统则很容易该场景下落地。如果数据不符合这类特点,对于该种数据上链过程中造假问题,目前依然需要依赖社会中的监管机构和有公信力的机构,解决数据数据上链过程中造假的问题,或结合前述数据及时广播与信息透明化的思想尽量提升造假成本和难度。

17. 区块链并非数据保护技术——区块链使得人们更关注隐私保护

依托密码学的技术,电子签章可以保障电子信息的真实性和完整性以及签名人的不可否认性,对于区块链系统中上链数据的质量保证有一定的帮助。但对于数据本身特别是隐私数据保护,多数区块链项目仍然只停留在给数据加密的层面。而这种做法的出现与区块链概念和技术的出现并没有紧密的联系。单纯的为数据加密,并将数据上链并没能提升隐私数据的安全性,反倒是区块链上信息只能追加的特性会导致,一旦信息解密密钥泄露,信息将更加无法及时销毁。

虽然加密并上链并不能很好地保护数据,但一些区块链项目尝试结合零知识证明,多方安全计算等新技术,可以在一定程度上解决该问题。目前看来,正是区块链公开透明的性质,推动了人们对加密和数据信息保护技术的探索。

在解决数据和隐私保护的时候,如果认为对数据加密并配备相应密钥就可以保证数据的安全性和自主可控性,恐怕难以实现。信息数据自身可复制性不会因为加密并配备相应密钥而消失。以比特币系统虽然交易匿名,交易发起者难以在物理世界对应到具体的个体,但是并不体现在链上数据具有保护机制。

虽然,人们很难做到信息的不可复制不可带走,但是对于信息追踪、信息识别还是存在一些其他的技术手段可以来操作的。通过零知识证明、安全多方计算等方法,在数据不脱库的情况下部署算法从而输出加工过后的数据信息,来达到对数据的处理保护,但又不改变数据归属的目的,才是保证数据安全可控不外泄的方法。

结语

区块链的出现的确从很多角度展现出了很多优秀的机制和思想,可挖掘的理念也绝不止本文提到的内容。欢迎读者对上述观点批评指正,相信区块链概念在经历更多的讨论后,提炼出真正有益的思想助力中国区块链的研究与应用落地,赋能实体经济建设。

生成图片
6

发表评论

区块链的十七个黄金思想

星期四 2019-01-24 23:41:43

备受争议的区块链

区块链从一个技术概念出现,到被大众期望成为新一次计算范式的颠覆式创新,已受到各行业从业者的广泛讨论,其内涵和外延在迅速发展。区块链概念包含多种信息技术及其组合而成的综合解决方案。通过多种信息技术的有机集成,区块链系统具有数据安全难以篡改、系统鲁棒性超强、全网大规模参与、逻辑自动强制执行等比传统系统更加可信的优点。因此,区块链系统被尝试在实体经济领域各方面落地应用,以增加业务可信性,或创造新的基于可信的区块链系统的新业务模式。

区块链的思想和理念常常被人们解读为去中心化、分布式记账、传递信任等,这当然是整体区块链系统解决方案所具备的优点,也由此引发了创新的业务思维模式变革。但整体区块链系统解决方案同样存在明显的短板,包括处理能力相对较弱、性能和可扩展性难以兼顾、数据保护与数据安全难以兼顾、业务改造及落地成本较高的问题。

区块链概念中蕴含的优秀思想

本文致力于讨论和总结区块链概念包含的精妙的思想和理念。这些思想和理念蕴含在区块链概念中,但又可以脱离区块链系统而存在,包括区块链系统技术设计思想、区块链概念对已有业务系统改造的理念、激励机制赋能业务营销等等。从比特币等常见区块链项目的工程设计理念出发,通过剖析其具体工作机制,试图发现区块链系统中蕴藏的独立的针对系统或机制的设计思想。希望这些藏在区块链概念中的思想理念,能被单独或组合地使用,从而赋能更多领域的从业者,让区块链的价值可以通过改进非区块链系统得到更快更好的展现,弥补当前区块链系统部署成本高、广泛应用落地难等问题。

需要说明的是,由于区块链系统是多种技术集成的新型系统,任何一个要素的缺失都可能导致其无法被称为区块链系统。因此,读者在阅读过程中可能都会遇到类似“如果只用这一个思想设计系统,并不是一个完整区块链系统”的问题。的确,文中相关改进方式大多是为了更充分体现区块链的某些设计思想,重点提升系统某些方面的能力,不局限于基于区块链系统的优化,而是强调将好的思想尽可能落地现实,真正助力实体经济。

文章将从五个角度来总结相关的思想,包括:提升系统安全可控性、增强系统可信性、简化流程降低成本、科学激励、区块链系统优化与区块链并非万能。

A. 提升系统安全可控性

1. 数据可获取性帮助提升安全性——数据及时广播的多副本存储模式

以比特币为代表的区块链系统中,无论是交易发起信息、交易打包信息、交易确认信息其副本都会在第一时间向全网扩散,被各节点同步,在尽可能多的地方留下数据操作的痕迹。看似效率低下浪费资源的信息广播模式,带来的却是极大地减少信息不一致的概率,降低信息冲突带来的损失,提升信息被篡改后恢复的能力。

一方面,在单点数据出现损坏的情况下能及时用其他节点数据恢复;另一方面,在数据可能被篡改攻击或者处理出现错误的时候,各个业务方能在第一时间校验数据及发现问题,阻止恶意数据的传播,并恢复有问题的数据节点。

虽然,这一思想是区块链非常重要的思想并且将其发挥到了极致,但却并非区块链系统原创。许多传统金融机构业务系统、数据中心系统、大数据技术框架早已设计了多地备份数据副本,致力于提高数据的安全可恢复及高速传输能力。

2. 重视过程数据记录——相比结果数据,原始过程数据包含更多信息

比特币系统中利用未花费交易输出(UTXO)记录交易过程的设计非常精妙。系统内不记录账户总余额,而是记录每个可供转移的价值单元(就是比特币)的转移情况和归属权。通过归属权的转移体现交易过程。通过一个简单的数据结构设计保证了有限资源的总量控制、来源追踪,既完成了转账过程的精确记录,又能体现用户在各个时间点资产情况。

业务系统中的数据可分为两类,一类是业务发生过程产生的原始过程数据,另一类是由原始过程数据处理得到的统计结果数据。我们可以把原始基础数据称为过程记录,把统计结果数据看成结果记录。在区块链系统中,每次的交易需要记录生成新的未花费交易输出就是原始过程数据,记录了用户先前拥有的未花费资产的所有权转移过程。每个人拥有的余额并没有直接记录,但可以通过统计所有与该用户相关的未花费交易输出经过计算得到的统计数据,也是某一时点用户所掌握财富的结果数据。区块链系统告诉我们,让原始数据达成一致是保证全局数据一致的关键,至于统计结果数据,定期保存或统计有助于提高数据处理的效率,但对于达成共识来说,并不用作为全局同步和达成共识的必要内容。

记录过程数据的思想结合数据及时广播的理念,可以解决很多需要公平和安全性的问题,如:防止业务数据被做手脚,防止欺诈事件等。通过多方的实时监督,帮助限制各类欺诈发生的可能。

3. 充分沟通高效落实——多方参与发声,唯一幸运者掌权记录

以比特币为代表的稳定的区块链系统其准入要求通常不高。参与节点各方面能力差距很大的复杂系统无论从安全角度还是效率角度,系统整体能力都容易被最差节点拉低。而比特币作为一个全民参与的系统,通过巧妙的共识机制,开创性地做到了系统内各节点的充分沟通高效落实。所有节点均有机会记账的情况下,利用工作量算力竞争全民充分参与的机制,由系统随机产生幸运记账者的方式使系统数据的实际写入方唯一,并且满足无法预测的随机性。这种兼具复杂的共识机制与简单的写入机制的系统是对复杂与简单、安全与高效并存的完美诠释。

其设计理念体现出对于复杂多方参与的分布式系统,如果有较高的安全性和容错性要求,那就尽量不要让拥有写入数据权限的参与方太多,如果无法做到这点,所有节点都需要有写入能力,就必须要设计合理的机制将众多节点的写入权限通过转移,进行集中处理,避免多点写入带来的巨大调度同步成本,在保证多方充分参与共识的情况下使系统具有较高的可靠性和较低的出错概率。

4. 用数据结构保证可控性——链状数据结构单向线性增长,可控扩张

区块链系统的数据通常一旦确认便无法再次更改,数据只能单向线性增长。这种数据记录方式体现了设计者希望数据具有良好的可控可管性。可控性为建立全局复杂的共识奠定的基础。全网需要达成共识的数据集中在最新的几个区块中,使得参与共识的结点可以聚焦需要达成共识的部分,而无需操心其他数据的一致性。这是区块链系统区别于传统系统的一大优点。

然而这一优点往往容易被忽略,人们更多只关注区块链存储数据量总体大小的单调增长性。一个只能增加数据,无法减少数据的系统如何能够长久被信任和高效使用呢?相比交易处理能力和共识能力来说,这更是绝大多数的区块链系统难以回避的问题。

笔者认为区块链体现的理念重点在于可控,并且线性单向增长并不意味着无限增长。通过在数据结构增长的设计机制中增加一些设计,区块链可以通过不断抛弃历史信息,可控扩张。此处可控扩张意味着,系统中的数据量会随着业务数据的增加而增加,但一些不影响当前或未来共识的历史数据可以被抛弃,或是无需每个参与者进行记录。历史信息由于具有可验证性,并具有不可篡改性,只需要少量节点记录留存即可。

当前,以比特币为代表的区块链并未解决这个问题。为什么目前比特币已经遇到数据量过大的问题,却依然需要结点保存全网数据才安全呢?比特币链不能进行截断,抛弃历史区块,是因为有些UTXO数据记录在前面的区块中,如果UTXO一直没有被转账花费,新的区块中就不会存在相关的信息。因此,在未来的操作这个古老的UTXO时会需要往前追溯到非常老区块中的信息。当然,这一问题并非无法解决,通过其他机制引入区块链系统完全可以让区块链在保证系统安全的情况下让区块链瘦身。

此外,笔者认为这种数据结构也可以为未来区块链系统引入数据失效机制打下基础。对于某些法律框架中要求系统遗忘的数据进行全网同步遗忘。那些不愿同步遗忘信息的结点,同样可以被其他节点当作不可信结点,未来的数据增长也不会基于这些节点,从而达到数据全局可信遗忘的效果。当然,此处遗忘指的是达到共识的一致的业务数据销毁,并非数据在全局痕迹的清除。数据由于具有可复制性,一旦产生被复制,就很难被完全抹掉痕迹。

B. 简化流程降低成本

5. 减少多方记录校验成本——唯一且一致的全局同步数据记录

有效率的业务模式必须能够对业务数据达成一致和共识。数据记录的一致性是最基本且传统的信息交流要求,信息系统的出现正是为了提升数据记录的一致性和处理效率。

信息系统的建立对信息处理效率的影响呈螺旋上升态势。早期,为了记录一致的数据,不同利益相关实体之间需要各自维护数据并在数据生命周期的各个阶段(记录、使用、定期核查、变更、转移、销毁)进行反复地核对和校验。信息系统对接、信息传输、信息处理等过程带来的开销是无法避免的。因此,大量中心化信息系统应运而生。信息中介通过中心化收集相关数据并进行统一处理,从而降低数据校验成本,提升业务效率。随着业务逐渐复杂,社会化分工变细,服务实体变多,重要的业务信息数据被大量功能不同的业务相关实体持有。导致业务主体开始关注信息中介的可靠性、客观性、独立性和安全性。随着信息中介数量不断增加、信息被不断复制并且分别处理,业务系统在多中介情况下变得冗余复杂,其复杂性又会导致更大的信息同步、校验和管理成本,从而在一定程度上抵消了单个信息系统带来的效率提升。

于是,区块链系统的出现巧妙地为上述问题给出了一种解决思路——通过唯一且一致得全局同步数据记录,来突破全局多副本的数据存储模式导致的复杂低效的瓶颈。

当前,这个思想最为广泛地被业界接受,也是业界试图应用区块链的核心思想。许多业内已落地项目,均很好地利用这一思想来降低多方记录核对成本、简化数据校验流程,进而降低业务的综合成本。

然而,维护一个数据记录而非多个记录的思想在落地过程中,无需套用完整区块链系统,也无需实现去中心化、去中介等模式。如果仅仅为了减少多方记账不一致的风险,通过中心化(参与业务主体或第三方机构)记账或是多主体参与相互监督、多方实时同步校验的方法改造现有系统,既可以解决问题,还能提升效率。事实上,笔者认为许多联盟链、私有链的试图解决的业务问题,大多可以通过这种方法解决。

6. 缩减业务关联方的信息交互流程——去中介化(去模块化),最终业务方点对点交互

去中介思想,与“去中心化”或“多中心化”是不同的。去中心或多中心强调的更多是平等的理念,而去中介则强调简化的理念。去中介指的是具有直接相关业务和数据交互的主体的信息系统可以进行有机整合,通过理清业务边界、合理设计业务数据权限和控制、增加各方及时校验等业务环节的方式将多余的参与主体、操作环节、权限流程、外部交互进行简化。在具体系统设计中,体现为去掉或集成冗余的系统模块,简化整体处理流程。本质上,去中介不改变业务参与方的逻辑与权限,该有的中心化管理机构依然存在。

对于比特币等区块链系统来讲,记账、确权及交易过程完全被整合在一个系统中,大大简化了传统交易记账所涉及的交易系统、清算系统、结算系统等多系统模式。其中,一些相对客观的业务处理可以完全被内置的程序替代,避免了人工或系统作为中介进行干预,增加处理环节的情况,既保证了处理的客观性、高效性,又使得参与主体可以更透明地监控整个交易过程,便于多方及时发现问题、沟通并解决问题。

去中介体现的是系统集成,去模块化、多层次融合的系统设计思想,最终业务方点对点交互。这与传统复杂系统设计中,功能分层、模块化,尽量简化单一模块或单一层次的处理功能,提升系统整体可靠性与可扩展性的思想有一定冲突。对于非常复杂的系统而言,这一思想的实践是相对困难的,更需要系统设计者对业务中介、系统中介有清晰的梳理和认知,需要非常巧妙且可靠的设计,才能兼顾效率与可靠性。因此,如果业务系统本身涉及的流程和环节非常复杂,则可以考虑只将其中对可扩展性要求不高的,业务模式变化不大的部分进行整合和优化,其他部分仍保持模块化层次化,隔离层间风险,使系统稳定和可扩展。

7. 信息透明化——简化信息传播流程,降低信息传播成本

区块链系统提升效率的另一个关键思想是信息透明化、共享化。现实社会中,信息和数据公开是需要成本的。其成本包括系统建设成本、信息维护成本以及官方确认发布需要投入的成本。信息谁来公示、如何公示、出错谁来负责是信息公开过程需要考虑的问题。区块链多方参与共识特性使得区块链上的信息在被确认生效的过程中,就完成了信息公示过程,既节省了信息公示的成本,也节省了信息确认的成本,同时减少了最终记录出错的可能性。透明和共享可以在不同的范围内进行。对区块链来说,“公有链”常常会将链上数据(包括加密数据)全部共享给链上节点和用户,“联盟链”则会在小范围联盟内进行共享,数据对外并不透明。

如果业务系统本身能引入信息主体,或其他信息公示目标对象,并能将他们纳入业务系统成为参与系统运行的一部分,则可以大幅提升信息透明度,减少数据公开、数据维护的成本。信息透明化的理念的一个很好的应用场景就是各类产权的确权领域。无论是有形资产还是无形资产,产权的公开公示本身就需要消耗大量的成本,如果利用信息透明化的思想,能使因确权与公示成本过高而无法得到充分保护的权利得到确认和保护,提升效率。

C. 增强可信性

8. 可校验数据结构增强系统可信度——时间戳、数据摘要、信息嵌套等方式使数据具有自校验能力

安全可校验的数据结构对区块链颠覆传统系统发挥了至关重要的作用。区块链系统中信息和算法记录在区块中,区块以链表的结构线性增长。链表的线性结构保证了复杂系统中数据管理的有效性和稳定性。除此之外,区块链之所以成为一个颠覆传统的系统,安全可校验的数据结构在其中起到了至关重要的作用。传统数据库设计以效率、符合不同数据库范式为构建目标,而区块链这一新型数据库则以安全和可信为目标。通过引入时间戳、数据摘要、信息嵌套等方式,使后生成的数据中包含了之前的数据信息,具有对前面的数据进行校验能力。这样环环相扣的局部校验,保障所有信息的可追溯、可验证,进而体现为数据不可篡改,或者更确切地说是篡改的数据可验证。

传统的计算机系统中,信息校验技术的应用也很常见,但大多使用单种校验技术,未能很好地与时间、空间、业务信息进行关联。比特币系统是一个很好结合范例。

如果一个业务系统需要数据不可篡改和可验证的能力,并且业务系统的参与方中没有很多恶意参与者,甚至只有互信的合作方,可以吸取区块链系统中安全可校验的数据结构的优秀思想,并且考虑抛弃资源消耗型的记账节点竞选等其他区块链集成的功能来构建业务系统。通过将传统业务系统中的数据结构重新设计,在后面的数据中加入对之前关键数据的摘要、时间戳和校验信息,辅以及时同步共享分发机制,引入多方存储数据,同样可以达到更强的内部管控和自证清白的能力。

9. 固化和稳定核心逻辑——预设边界条件,减少系统改动

区块链系统被认为能传递价值,还体现在系统全生命周期都有效边界条件。这些边界条件的不可更改性保证了系统中重要信息的约束力和可信性。如比特币等内生Token的区块链系统,虽然不同系统记录Token信息的数据结构不尽相同,但是Token产生机制和总量等参数受到了严格的不可更改的限制。规则具有边界且不随意更改使得大众信任系统。在数据可复制的信息时代,为建立数字资源稀缺性提供了途径,达到了所谓的价值传递的目的。在系统运行之初就提前约束Token总量有限和产生机制只是系统预设边界条件的一种巧妙且重要的应用场景。约束了Token数量的稀缺性可以保证Token不会随意增长,如果与业务系统中现实资源的稀缺性结合考虑,可以在多个领域发挥不同的作用。

现实生活中的每个业务系统均有自己的约束条件,为何区块链的约束产生了颠覆性的效果?原因就在于区块链系统的核心逻辑(也就是处理数据方式)需要提前固定下来,并且有机制保证其核心逻辑的不变性。区块链系统不仅实现了数据的不可篡改,更重要地是它保证了系统核心逻辑的不可更改。这样一个无法更改和升级规则的系统,反而体现出巨大的公信力。

一个不能更改规则的系统如何升级和发展呢?区块链系统目前没有很完美地解决这个问题,而是通过”分叉“,实现系统更新。分叉本来是指区块链系统中产生的不被多数节点认可的短暂性的不具有公信力的数据构成的短链。但是,一旦系统中核心逻辑代码需要修改,运行机制需要更新的时候,系统可以通过人为的,所有业务关联方共同协商的方法,继承原有区块链系统中的业务数据,并迁移到运行全新的区块链系统中。这一过程也被称作是“分叉”。所以,在区块链系统中,“升级“、”分叉“(通常会根据节点客户端的前向兼容性分为软分叉和硬分差)通常都指重新创造了一个新的区块链系统,并且人们主动自愿地抛弃旧系统,将业务转移到新系统。这是目前区块链系统升级的唯一方式。

10. 广泛校验帮助增信——明确的校验方法帮助达成多方共识

明确的校验方法是信息验证机制的根基,区块链的强大生命力很大程度上得益于其中明确的校验方法。在区块链项目研究过程中笔者最关心的是区块链上到底记录什么信息,这些信息能否被参与系统的其他节点所校验。许多系统都尝试引入区块链为业务数据增信,却没有着重为参与区块链系统的多方设计出明确的校验方法导致其系统无法体现相对于中心化系统的优势,难以解决业务痛点。

比特币系统中记录着比特币的所有权转移信息(交易信息)。有交易需求的节点通过签名、加密、摘要等处理方式形成有效的全网所有节点都能看懂且能将参与验证的交易信息发给其他节点,并由全网节点对其校验和记录,最终被全网节点校验并保留在有效的区块链中。在此过程中,全网参与的节点都有明确的校验方法,通过检查区块链的签名信息、前面区块中未花费交易的有效性,任一节点产生的交易信息都有明确的验证途径。试想,参与区块链系统的节点没有有效的判断和校验信息的方式,即使有再多互不信任的节点加入,有再多非关联方的参与,再多的信息副本,又如何保证数据的错误被及时发现和纠正呢?

正确的做法是找到那些需要共识的信息,找到信息校验的关联方,共同组成多方参与的系统,设计有效率的、符合业务逻辑的信息校验机制,使系统内数据具有更强的可信性。

D. 科学激励类

11. 物以稀为贵——总量受限,多重功能的通证激励

比特币等区块链系统,由于缺乏系统实际管理者,天生存在系统生命力问题。如果没有节点参与到系统的运行机制中,整个系统就无法持久运行。因此,系统通过内生的通证(平台币)激励系统参与方,奖励参与方对系统运行所做的贡献。在无中心化机构维护的系统中,这一机制巧妙且必要,它保证了系统利用人类追求财富的人性结合这一内生机制生存下去。

而对于多中心系统,甚至是传统中心化系统,激励机制常常也体现为积分、优惠券、外部奖励等措施。相比通证激励,传统的激励方式可信度完全取决于系统的拥有者或管理者。为什么传统系统中的积分都没有像比特币一样能具有如此高的价格呢?笔者认为原因有三,第一,传统积分的发放模式不透明,机制和用途受管理者影响严重;第二,传统积分的总量不透明,不具有稀缺性;第三,传统积分的用途不够广。此处,我们不过多讨论比特币的价值问题,只是说明区块链概念的出现,使人们开始更关注激励机制的设计。

一个优秀的激励机制可以在符合法律法规的前提下,通过充分地创造稀缺性并充分与外部资源结合设计更具吸引力的激励系统。一个好的激励系统能够极大地帮助业务系统赢得客户,增加知名度,提升系统整体价值。系统价值的提升反过来会为参与者提供更丰厚的激励。这是一个良性循环,循环一旦开始,项目的价值会得到迅速提升。

12. 利用人性弥补系统弱点——引入激励机制,解决系统难题

众所周知比特币的运行机制中,只要恶意算力占总算力不超过50%,区块链就是安全的。恶意算力的整体算力占比超过一半不是无法达到的。随着专业矿场的出现,比特币算力的集中化趋势明显,但为何比特币系统目前依然安全可信?利用人的逐利性发挥了关键作用。因为能够掌握全网一半以上算力的个人或机构完全可以获得绝大多数的系统奖励,如果他选择作恶,虽然整个链上数据的记账权一定程度上可以被他掌握,但这种篡改数据的恶意行为会使这个区块链不再可信,其上面记录的资产也必将大打折扣。一个困扰了计算机学界很久的兼具效率和安全性P2P系统的可扩展性问题通过激励机制的引入得到了工程上的解决。

系统可能有不同的弱点,区块链的出现告诉我们,在工程上可以结合激励机制的设计有针对性地解决或弥补系统的弱点。激励机制可以仅在系统内部起作用,也可以结合外部资源共同设计。此外,激励的内容、产生的时间、计算方式、发放时机、惩戒机制可以有很多不同的设计,弥补不同的问题。比特币等发放挖矿奖励的区块链只是提供了一种简单有效的设计,但确实提供了一种全新的解决系统弱点的思路。通过合理的激励机制设计,未来必将有更多的传统技术难以实现的大规模系统落地应用。

E. 针对区块链系统的优化

13. 事中容错,事后一致——系统允许短暂错误,但保证最终一致性和正确性

一个不能接受错误存在,或者因为存在错误导致一系列问题影响可用性的系统,是没有生命力的。区块链系统也一样,其本身并没有要求输入系统的数据不能出错。这一点可能与很多读者的认知有所不同,许多人会认为区块链因为其数据无法篡改,因此一定要保证上链数据的真确性。数据无法篡改不等于无法更改。其实,区块链系统恰恰是通过多数节点具有识别错误的能力,系统整体可以及时进行纠错,才让最终记录在区块链并经过多次确认的记录具有公信力。这可能也是区块链系统区别于计算机领域传统P2P系统的一个闪光的设计思想。

计算机领域在分布式处理过程中追求高效、一致。对错误数据记录的修复和更正,通常会另行设计一套机制来保证。相对传统数据库,区块链由于需要保证事后数据的不可篡改,引入了共识机制,为错误的出现和修复提供更多的容忍度。这一重要思想通常被许多区块链设计者所忽略,众多项目纷纷追求提高短交易及确认速度,这会导致弱化甚至牺牲其他节点对数据的验证过程。同时,更早更快的确认也会带来问题。参与生成数据的节点需要满足生成数据不能出错等更严苛要求,导致现在很多区块链项目的在落地过程中出现困难。因为系统使用方会背上了数据必须一次性正确输入的包袱,需要非常保守和谨慎地选择上链数据。最终,区块链落地应用范围的狭窄,许多存在出错可能性的数据难以结合区块链的优点参与业务升级改造。

笔者认为,区块链的设计不仅没有要求数据必须正确输入,反而对上述问题提供了非常有启发的处理模式和设计思想:当有数据出错的时候,数据关联方都能及时感知到数据的错误,并在第一时间通过某种协商机制及时从不一致地数据中利用某种机制(比特币中是少数服从多数的思想)快速挑出正确的数据,并最终使得该数据获得全局认同。这种数据确认过程,考虑了实际业务中可能存在的失误和系统性错误,具有很强的包容性,值得业务系统在考虑错误处理更正流程设计时参考。在设计需要确认数据的业务系统(或区块链系统)时,要权衡数据确认时间窗口以及系统纠错能力,才能设计出适合自身业务特点的数据确认机制(共识机制)。一味追求确认时间短,会使系统适用的业务场景大幅受限,这对新系统的落地应用是极为不利的。

14. 让用户对自己行为负责——用户只愿意主动保护作为唯一核心操作凭证

比特币交易中私钥起到了关键的作用。私钥不仅起到了身份核验的功能,还起到了用户操作行为不可抵赖的作用。在比特币系统中进行转账交易时,私钥被作为用户控制自己资产的唯一凭证,用户有足够的独立性和自主权来进行转账操作。由于这种操作直接影响用户的利益,并且完全取决于持有私钥的用户个人意愿,因此用户具有强大的动力来保管好自己的私钥信息。这种情况下,私钥才能真正起到用户对自己行为负责的作用。

然而,一些区块链项目的私钥机制设计并没有激发用户自主管理私钥的强烈意愿。如果仅仅将拥有密钥作为可查看链上加密信息的解密钥匙,甚至其他需要查看链上加密信息的人在经过用户许可(并给到用户一定激励)后,取得类似用户密钥的查看或管理权限,破坏私钥拥有者的唯一性,则会削弱私钥的私有性和安全性,并且导致私钥的拥有着缺少自主保管动力。当在个人或企业缺少意愿保留私钥时,区块链系统应用方往往只能采用其他方式代替用户保管私钥,代理用户使用私钥签名并操作,或是代理用户查看加密信息原文。这样的应用模式,尽管设计了公私钥加密机制,但事实上与传统中心化互联网多用户的服务模式没有本质区别。尽管利用区块链能起到链上信息难以篡改,对企业关键数据自证清白的作用,但用户的自主管控数据的愿景就很难落地实现。

如果项目方结合自身业务特点发掘用户的核心操作,配以结合非对称加密解决方案,保证私钥不被复制和滥用,则可以达到让用户对自己行为负责的效果。同时,用户也会有更高的积极性来维护和保管自己的私钥。当然,笔者非常期待技术的创新产生其他方式帮助安全存储私钥,减少用户记忆和保存私钥的成本。

当然,私钥虽能起到用户身份核实的作用,但与传统用户名密码机制类似,并不是非常友好的身份验证方式。目前,很多成熟地利用人工智能,用户行为分析,生物比对校验等方式身份核验。对于当前中心化互联网企业来说,这些方式或许更加适合。

15. 不懈地追求相对公平——单一设计的共识机制难以保持长久的公平性

区块链系统之所以具有公信力,并被赋予“能传递价值”的光环,与其对公平性的追求密不可分。比特币等以PoW为共识方式的系统在无需公信力机构背书的前提下在追求公平的道路上走得最远。专用芯片矿机和矿场的出现本质上打破了比特币共识机制所追求的公平性。比特币的设计初衷是让参与记账的人和节点足够多。其潜台词是,利用互不信任的主体的加入,相互制约。但矿场和矿机虽然使比特币系统有更多的人参与记账,但没能让更多利益不同的人参与。大量利益一致的矿工反而减少了系统中其他小众利益不同的节点的话语权,导致大型矿场绑架了比特币。这种公平性的减弱,使得一些行业大佬的行为在2018年末大幅影响比特币的算力,进而影响了整个行业对区块链的认知。人们觉得比特币的公平机制能力有限,会被矿工和利益集团绑架。但是从信息记录公平可信的角度讲,比特币的PoW共识机制已经相比传统系统迈出了巨大的一步。

一个一成不变的机制一旦被设计出来,如果缺乏数学等基础科学的支持证明其难以被攻破,就会有人试图对其进行攻击,并可能在未来真的被他人破坏。因此一个信任共识机制在难以获得数学证明其性能的情况下,一种防止系统被破坏的常见想法是让共识机制动起来。结合文中提到的固化稳定核心逻辑的思想,未来一种可能的更加公平的共识机制需要在设计之初,用代码的方式保证其共识机制的动态变化,通过设计合理的内生的公平性评价体系,使得系统中的共识机制可以不断地随机调整相关参数,变化共识机制。这样或许可以在一定程度上减少专用“矿机”的研发动力,进一步将权力分散化,保证参与主体和整个系统的公平。

F. 区块链并非万能

16. 让机器系统直接处理现实问题——预言机帮助探索数字世界与物理世界关联机制

预言机的概念并非伴随比特币而生的,而是由于人们试图用区块链记录现实物理世界信息而诞生的。预言机试图为区块链引入非链上原生的数据,打通现实物理世界与链上数字世界。

许多区块链应用遇到的重要瓶颈就是人们常常提到的:如何解决数据上链的问题。笔者认为,这个问题的产生并不是因为比特币为代表的区块链机制尚未成熟,设计机制有漏洞,而是由于后人在结合自身业务场景和行业知识利用区块链技术时,对区块链技术凭空赋予的一种期望。

在比特币的设计中,数据与交易账本是不可分离的,数据生于链上,用于链上,天然保证了数据的安全性。而区块链的作用就是让原本可靠的数据,保持数据全生命周期的可靠性、可信性。

因此,值得思考的问题是,什么样的数据在数据上链的过程中人们没有造假的动力和意愿。如果数据本身具有这种特点,区块链系统则很容易该场景下落地。如果数据不符合这类特点,对于该种数据上链过程中造假问题,目前依然需要依赖社会中的监管机构和有公信力的机构,解决数据数据上链过程中造假的问题,或结合前述数据及时广播与信息透明化的思想尽量提升造假成本和难度。

17. 区块链并非数据保护技术——区块链使得人们更关注隐私保护

依托密码学的技术,电子签章可以保障电子信息的真实性和完整性以及签名人的不可否认性,对于区块链系统中上链数据的质量保证有一定的帮助。但对于数据本身特别是隐私数据保护,多数区块链项目仍然只停留在给数据加密的层面。而这种做法的出现与区块链概念和技术的出现并没有紧密的联系。单纯的为数据加密,并将数据上链并没能提升隐私数据的安全性,反倒是区块链上信息只能追加的特性会导致,一旦信息解密密钥泄露,信息将更加无法及时销毁。

虽然加密并上链并不能很好地保护数据,但一些区块链项目尝试结合零知识证明,多方安全计算等新技术,可以在一定程度上解决该问题。目前看来,正是区块链公开透明的性质,推动了人们对加密和数据信息保护技术的探索。

在解决数据和隐私保护的时候,如果认为对数据加密并配备相应密钥就可以保证数据的安全性和自主可控性,恐怕难以实现。信息数据自身可复制性不会因为加密并配备相应密钥而消失。以比特币系统虽然交易匿名,交易发起者难以在物理世界对应到具体的个体,但是并不体现在链上数据具有保护机制。

虽然,人们很难做到信息的不可复制不可带走,但是对于信息追踪、信息识别还是存在一些其他的技术手段可以来操作的。通过零知识证明、安全多方计算等方法,在数据不脱库的情况下部署算法从而输出加工过后的数据信息,来达到对数据的处理保护,但又不改变数据归属的目的,才是保证数据安全可控不外泄的方法。

结语

区块链的出现的确从很多角度展现出了很多优秀的机制和思想,可挖掘的理念也绝不止本文提到的内容。欢迎读者对上述观点批评指正,相信区块链概念在经历更多的讨论后,提炼出真正有益的思想助力中国区块链的研究与应用落地,赋能实体经济建设。